一、.单选题
1.一个完整的C程序是 B
A.要由一个主函数(或)一个以上的非主函数组成
B.由一个且仅由一个主函数和零个以上(含零)的非主函数组成 C.要由一个主函数和一个以上的非主函数构成 D.由一个且只有一个主函数或多个非主函数组成
2.int a=3,则执行完语句a-=a+=a*=a后,a的值是___0____ 3.x,y为整形,表达式x=4,y=2+6/x的值是____x=4,y=3______ 4.int a=3,b=-2;printf(“%d”,(a=3)&&(b=-3);的输出结果是___0____
5.“10≥a≥0”的C语言表达式为_____a>=0||a<=10____ 6.以下错误的if语句是 A.if(x>y)z=x; B.if(x==y)z=0; C.if(x!=y)
printf(“%d”,x) else
printf(“%d”,y); D.if(x 7.c语言中,下列说法正确的是__C__ A.do-while语句构成循环的循环次数可以为0 B.do-while构成的循环必须用break语句才能结束 1 / 13 C.do-while构成的循环,当while语句中的表达式值为非0时循环结束 D. do-while构成的循环,当while语句中的表达式值为0时循环结束 8.以下循环执行的次数是___3____ main() { int i,j; for(i=1,j=10;i<=j;i++,j-=2) { if(i%3==0) i++; printf(“%f\\n”,i); } } 9.以下正确的数组定义语句是____C____ A.int a[3][]={1,2,3,4,5,6} B.int n=2,a[n]={1,2}; C.int a[3]={1}; D.int a[][3]; 10.若有说明:int a[3][4];则对于a数组元素的非法引用是__D__ 2 / 13 A.a[2][2*1] B.a[0][3] C.a[4-2][0] D.a[1][4] 11.函数调用语句fun( (a,b),(x+y,z))中实参的个数是__2__ 12.下面程序错误的行是__4__ main() {int a[3]={1}; int I; scanf(“%d”,&a); for(i=1;i<3;i++) a[0]=a[0]+a[i]; printf(“a[0]=%d\\n”,a[0]); } 13.C语言程序由函数组成_A__ A.可以嵌套调用函数 B.可以嵌套定义函数 C.递归函数只能直接递归,不能间接递归 D.主函数必须定义在其他函数之后 14.若使用一维数组名作函数的实参,则以下正确的说法是__C__ A.参数传递时,是将实参数组的第一个元素的值传给了形参数组 B. 参数传递时,是将实参数组中全部元素的值传给了形参数组 C.在定义被调用的函数是,定义的形参数组的大小可以为空 D.实参数组名和形参数组名必须一样 3 / 13 16.以下函数值的类型是__int__ fun(float x) { float y; y=3*x-4; return y; } 16.若已定义char s[10],在下面表达式中不能表示s[1]的地址是B A.s+1 B.s++ C.&s[0]+1 D.&s[1] 17.关于局部变量的作用域,下列说法正确的是__C___ A.本文件的全部范围 B.本程序的全部范围 C.本函数的全部范围 D.从定义开始至本函数结束 18.已定义如下函数 int fun(int *p) {return *p;}该函数的返回值是D A.不确定的值 B.形参p中存放的值 C.形参p的地址值 D.形参p所指的存储单元的值 19.逻辑运算符两侧运算对象的数据类型可以是_D__ 4 / 13