1.C语言提供的预处理功能包括条件,其基本形式为:
#××× 标识符
程序段1
#else
程序段2
#endif
这里的×××可以是()
A)define或include
B)ifdef或include
C)indef或ifndef或define
D)ifdef或ifndef或if
2.若有如下语句:
struct a
{char x[10]
int y;
}s,*t;
t= &s;
则对结构体变量s中的成员y的正确引用是()
A)a.y;
B)t- >y;
C)t.y;
D)*t- >y;
3.下列程序
main()
{chararr[2][4];
strcpy(arr, "you");
strcpy(arr[1], "me");
arr[0][3]=′ &′;
printf( "%s\n",arr);
}
执行后的输出结果考试大提示:是()
A)you &me
B)you
C)me
D)err
4.有以下程序:
intm=1;
void fun(int*n)
{ static intm=2;
*n*=m-1;m+=2;
}
main()
{ inti;
for(i=1;i <4;i++)
{ fun( &m);printf("%d",m);}
}
程序的输出结果是()
A)1317
B)610
C)1315
D)1111
5.若有下列说明语句
int(*p)();
则标识符p代表的是()
A)一个用于指向函数的指针变量,函数返回值的类型为int型
B)一个带回值类型为整型的函数名
C)一个用于指向整型数据的指针变量
D)一个带回值类型为指针类型的函数名
6.有以下程序
# include <stdio.h>
void fun(float *p1,int n1,float *p2,int n2,float *s)
{ int i;
s=(float *)calloc(1,sizeof(float));
*s=0;
for(i=0;i <n1;i++)
*s+=*p1++;
for(i=0;i <n2;i++)
*s+=*p2++;
}
main()
{ float a[2]={1.1,2.2},b[3]={10.0,20.0,10.0},*s=a;
fun(a,2,b,3,s);
printf( "%f\n",*s);
}
上面程序的输出结果是()
A)60.000000
B)3.100000
C)63.100000
D)1.100000
7.以下程序的输出结果是()
# include <stdio.h>
main()
{
union un{int i;
long k;
char c;
};
struct byte {
int a;
long b;
union un c;
} r;
printf( "%d\n",sizeof(r));
}
A)10
B)13
C)7
D)8
8.若主函数中有以下定义和语句:
main()
{doublea[3][4];
……
fun(a);
}
则正确的fun函数的首部是()
A)void fun(double*s)
B)fun(double*s[4])
C)fun(double(*s)[3])
D)void fun(double(*s)[4])
9.有以下程序:
intfa(intx)
{returnx*x;}
intfb(int x)
{returnx*x*x;}
intf(int(*f1)(),int(*f2)(),intx)
{return(*f2)(x)-(*f1)(x);}
main()
{inti;
i=f(fa,fb,2);
printf( "%d\n",i);
}
程序运行后的输出结果是()
A)-4
B)1
C)4
D)8
10.C语言中共用体类型变量在程序运行期间()
A)最后一次存放的成员起作用,其他成员都已失去作用
B)已存放的一部分成员在内存中起作用
C)已存放的成员没有一个在内存中起作用
D)已存放的所有成员在内存中都起作用
答案:1.D 2.B 3.A 4.C 5.A 6.D 7.A 8.D 9.C 10.A