C. 缩排位臵相同的if D. 在其之前未配对的if
参考答案: A
16、以下程序输出结果是 main ( ) { int m=5;
if (m++ > 5) printf (\else printf (\} (2分) A. 7 B. 6 C. 5 D. 4
main() { int m=5;
if(m++>5) //m++,此时先使用m=5去比较,结果为假,跳到else,但是m还要加1变为6,即m=6 printf(\
else printf(\此时先使用m=6去输出,然后m还要减1变为5,即m=5 }
所以输出结果为:6
参考答案: B
18、以下程序段的输出结果是_____ int x=3; do
{ printf(\while (!(--x)); (2分) A. 1 B. 3 0 C. 1 -2 D. 死循环
C第一次执行完 printf(\后x=1,然后--x为0,取反后为1,条件为true,继续执行循环,第二次执行完 printf(\后x=-2,--x得到-3,取反后是0,循环结束
参考答案: C
19、执行语句: for (i=1;i++ < 4;);后,变量i的值是______.
16
(2分) A. 3 B. 4 C. 5 D. 不定
参考答案: C
20、以下程序的输出结果是
main( )
{ int n=4;
while(n--)printf(\,--n); } (2分) A. 2 0 B. 3 1 C. 3 2 1 D. 2 1 0
答案选A 第一次n--为3,再--n为2;第二次n--为1,--n为0 输出2 0
参考答案: A
21、设有程序段 int k=10;
while(k=0) k=k-1;
则下面描述中正确的是________ (2分)
A. while循环执行10次 B. 循环是无限循环
C. 循环体语句一次也不执行
D. 循环体语句执行一次
C语言中没有逻辑变量,用0来表示假,非0表示真。赋值后k=0,那么条件为假,则跳出循环,即一次也不执行
参考答案: C
22、若有说明:int a[10];,则对a数组元素的正确引用是( )。 (2分) A. a[10] B. a[3.5] C. a(5) D. a[10-10]
17
A:数组下标从0开以,最大下标是定义的数组长度-1 B:下标值不能是浮点数 C:只能是[]而不能是() D:下标可以是表达式,10-10结果为0
参考答案: D
23、若二维数组a有m列,则计算任一元素a[i][j]在数组中位臵的公式为_______(假设a[0][0]位于数组的第一个位臵上) (2分) A. i*m+j B. j*m+i C. i*m+j-1 D. i*m+j+1
参考答案: D
24、已知int a[][3]={1,2,3,4,5,6,7};,则数组a的第一维的大小是( )。 (2分) A. 2 B. 3 C. 4 D. 无确定值
参考答案: B 26、以下程序的输出结果是 #define f(x) x*x main( )
{ int a=6,b=2,c; c=f(a) / f(b);
printf(\,c); } (2分) A. 9 B. 6 C. 36 D. 18
define是原样带入 所以f(a)/f(b)会变成a*a/b*b =a*a=36 所以输出36
参考答案: C
18
28、变量的指针,其含义是指该变量的 (2分) A. 值 B. 地址 C. 名 D. 一个标志
比如int i=10; int *p=&i; p是变量i的指针,所以变量的值是i(即10),变量的地址(即&i,等于p) 所以B是正确的。
参考答案: B
30、以下不合法的数值常量是() (2分) A. 011 B. 1e1 C. 8.0e0.5 D. 0xabcd
参考答案: C
31、以下叙述中错误的是() (2分)
A. 用户自定义的函数中可以没有return语句
B. 用户自定义函数中若没有return语句,则应当定义函数为void类型
C. C语言程序总是从main()函数开始执行 D. main()函数必须位于程序的开始
参考答案: D
34、C语言中,调用一个函数时,实参变量和形参变量之间的数据传递是____. (2分)
A. 单向的值传递 B. 单纯地址传递
C. 值传递和地址传递都有可能
D. 由实参传给形参,然后由形参传回给实参,即是双向传递
参考答案: A
19
35、当调用函数时,实参是一个数组名,则向函数传递的是( )。 (2分) A. 数组的长度 B. 数组的首地址 C. 数组每一个元素的地址 D. 数组每个元素中的值
参考答案: B
36、下列叙述不正确的是( ) (2分)
A. 在c程序中,%是只能用于整数运算的运算符 B. 在C程序中,无论是整数还是实数,都能正确无误地表示 C. 若a是实型变量,c程序中a=20是正确的,因此实型变量允许被整型常量赋值
D. 在C程序中,语句之间必须要用分号“;”分隔
参考答案: B
38、以下可用作C语言用户标识符的是 (2分) A. void,define,WORD B. a3_b3,_123,IF C. FOR,--abc,Case D. 2a,Do,Sizeof
参考答案: B
39、以下关于运算符优先顺序的描述中正确的是 (2分)
A. 关系运算符 < 算术运算符 < 赋值运算符 < 逻辑运算符
B. 逻辑运算符 < 关系运算符 < 算术运算符 < 赋值运算符
C. 赋值运算符 < 逻辑运算符 < 关系运算符 < 算术运算符 D. 算术运算符 < 关系运算符 < 赋值运算符 < 逻辑运算符
参考答案: C
40、现有定义int a;double b;float c;char k;,则表达式a/b+c-k值的类型为: (2分) A. int
20