(A) 3 (B) 2 (C) 30 (D) 10
15.对for(表达式1; ;表达式3)可理解为 B
A) for(表达式1;0;表达式3) B) for(表达式1;1;表达式3) C) for(表达式1;表达式1;表达式3) D) for(表达式1;表达式3;表达式3
16.有数组定义:char array[]=\则数组array所占用的内存空间为 A
A) 6B B) 5B C) 11B D) 10B
17. C语言规定,简单变量作实参时,它和对应形参之间的数据传递是 B
A) 地址传递 B) 单向值传递
C) 由实参传递给形参,再由形参传回实参 D) 由用户指定传递方式
18. 如下程序段执行后的输出结果是c
#include
void main() { struct abc{
int x;
6
int y;
} num[2]={{20,5},{6,7}};
printf(\; }
A) 0 B) 20 C) 28 D) 24
19.为表示关系: X≥Y≥Z,应使用的C语言表达式是 A (A) (X>=Y)&&(Y>=Z) (B) (X>=Y)AND(Y>=Z)
(C) (X>=Y>=Z) (D) (X>=Y)&(Y>=Z) 20.下列程序运行结果是 C #include
int i,a[0]={3,2,6,9,10,11,8,13,4,5};
for(i=0;i<10;i++)
if(tt(a[i]==1) printf(\
}
int tt(int y) { int z=0; if(y%2==1) z=1;
7
return z; }
(A)2 6 10 8 4 (B)3 2 6 9 10 11 8 13 4 5 (C)3 9 11 13 5 (D) 3 11 13 5 21.以下不正确的语句为 B (A) if(x>y);
(B) if(x=y)&&(x!=0) x+=y;
(C) if(x!=y) scanf(“%d”,&x);else scanf(“%d”,&y); (D) if(x while(a ( A) 1,2,0 (B) 2,1,0 (C) 1,2,1 (D) 2,1,1 23.以下能正确计算1*2*3*4*5*6*7*8*9*10的程序段是 C (A) do{ i=1;s=1; (B) do{ i=1;s=0; s=s*i; s=s*i; 8 i++; i++; } while(i<=10);} }while(i<=10); (C) i=1;s=1; (D) i=1;s=0; do{ do{ s=s*i; i++; i++; } while(i<=10); }while(i<=10); 24.若用数组名作函数调用的实参,传递给形参的是 A (A) 数组的首地址 (B) 数组第一个元素的值 (C) 数组中全部元素的值 (D) 数组元素的个数 25.以下不正确的说法为 D (A) 在不同函数中可以使用相同名字的变量。 (B) 形式参数是局部变量 9 s=s*i; (C) 在函数内定义的变量只在本函数范围内有效 (D) 在函数内的复合语句中定义的变量在本函数范围内有效 26. 下列程序的运行结果是: A #include void main() { int x=1,a=0,b=0; switch(x) { case 0:b++;break; case 1:a++;break; case 2:a++;b++;break; } printf(\} (A) a=1,b=0 (B) a=2,b=0 (C) a=1,b=1 (D)a=2 ,b=1 27.在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是 D (A ) extern (B)register (C)auto 10