C语言模拟练习题及答案
18. (分值:1.2 分)下面程序的输出结果是____。 #include <stdio.h> main( ) { int n[3][3], i, j; for(i=0;i<3;i++ ) for(j=0;j<3;j++ ) n[i][j]=i+j; for(i=0;i<2;i++ ) for(j=0;j<2;j++ ) n[i+1][j+1]+=n[i][j]; printf("%d\n", n[i][j]); } A: 14 B: 0 C: 6 D: 不确定 序号:96 难度:2 考查点:数组
16. (分值:1.2 分)有字符数组 a[80],b[80],则正确的输出语句是 A: puts(a,b); B: printf(“%s,%s”,a[],b[]);
C: putchar(a,b); D: puts(a);puts(b); 序号:217 难度:1 考查点:数组
17. (分值:1.2 分)整型变量 x=1,y=3,经下列计算后,x 的值不等于 6 的是( ) A: x=(x=1+2,x*2) B: x = y>2 ? 6 : 5 C: x=8-(--y)-(--y) D: x=y*4.8/2 序号:37 难度:2 考查点:逻辑运算和判断选取控制
29. (分值:1.2 分)以下程序的输出结果是( ) main()
{ int i,sum; for(i=1;i<6;i++) sum+=sum; printf(“%d”,sum);
}
A: 15 B: 14 C: 0 D: 不确定 序号:241
难度:1
考查点:循环控制
30. (分值:1.2 分)如果一个程序中有若干函数,它们分布在不同源文件中,且共用同一 变量,需使用的存储类为 A: auto B: static C: extern D: register 序号:325 难度:1 考查点:函数
}}
A: 10,9,8, B: 9,8,7, C: 10,9,8,7, D: 9,8,7,6, 序号:51 难度:1
考查点:循环控制
21. (分值:1.2 分)在 C 语言中,错误的 int 类型的常数是 。 A: 32768 B: 0 C: 037 D: 0xAF 序号:66 难度:1 考查点:数据类型、运算符与表达式
C: 无休止地执行循环体 D: 上都不对 序号:335 难度:1 考查点:循环控制
35. (分值:1.2 分)假定 int 类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数 组 x 在内存中所占字节数是( )。 A: 3 B: 6 C: 10 D: 20 序号:1100 难度:1 考查点:数组
33. (分值:1.2 分)以下程序段是(
)
x=-1;
do { x=x*x;} while(!x);
A: 死循环 B: 循环执行两次 C: 循环执行一次 D: 有语法错误 序号:46 难度:1
考查点:循环控制
34. (分值:1.2 分)有关语句 for(;;);执行过程的描绘中,正确的是 A: 不执行任何操作 B: 空循环一次
12. (分值:1.2 分)以下对一维数组 a 进行不正确初始化的是 A: int a[10]=(0,0,0,0); B: int a[10]={}; C: int a[]={0}; D: int a[10]={10*2}; 序号:177 难度:1 考查点:数组
13. (分值:1.2 分)C 语言中,逻辑“真”等价于 A: 大于零的数 B: 大于零的整数 C: 非零的数 D: 非零的整数 序号:25 难度:1 考查点:逻辑运算和判断选取控制
25. (分值:1.2 分)下列运算符中,结合方向为自左向右的是 A: ? : B: , C: += D: ++ 序号:35 难度:1 考查点:数据类型、运算符与表达式
26. (分值:1.2 分)对于 for(表达式 1;;表达式 3)可理解为 A: for(表达式 1;0;表达式 3) B: for(表达式 1;1;表达式 3) C: for(表达式 1;表达式 1;表达式 3) D: for(表达式 1;表达式 3;表达式 3) 序号:227 难度:1 考查点:循环控制
main()
{ int i;
for(i=1;i<=5;i++)
19. (分值:1.2 分)下面程序的输出结果是____。 #include <stdio.h> main( ) {
int x=1; void f1( ), f2( ); f1( ); f2(x); printf("%d\n", x); } void f1(void) { int x=3; printf("%d ", x); }
9. (分值:1.2 分)以下程序的输出结果是( ) main()
{ int num=0; while(num<=2)
{ num++; printf(“%d,”,num);
} } A: 1, B: 1,2, C: 1,2,3, D: 1,2,3,4, 序号:45 难度:1 考查点:循环控制
10. (分值:1.2 分)有如下函数调用语句 func(rec1,rec2+rec3,(rec4,rec5)); 该函数调用语句中,含有的实参个数是
23. (分值:1.2 分)下列叙述中错误的是 A: 主函数中定义的变量在整个程序中都是有效的。 B: 在其它函数中定义的变量在主函数中也不能使用。 C: 形式参数也是局部变量。 D: 复合语句中定义的变量只在该复合语句中有效。
序号:126 难度:1 考查点:函数
24. (分值:1.2 分)C 语言允许函数返回值类型缺省定义,此时该函数隐含的返回值类型 是 A: float 型 B: int 型 C: long 型 D: double 型 序号:162 难度:1 考查点:函数
31. (分值:1.2 分)以下正确的整型常量是 A: 12 B: - 20 C: 1,000 D: 4 5 6 序号:21 难度:1 考查点:数据类型、运算符与表达式
32. (分值:1.2 分)设有 char a=’a’; int c;则执行完 c=a+2;printf(“%d”,c);后的输出结果 是 A: a B: c C: 97 D: 99 序号:441 难度:1 考查点:顺序结构
void f2( x ) int x; {
printf("%d ", ++x); } A: 1 1 1 B: 2 2 2 C: 3 3 3 D: 3 2 1 序号:109 难度:2 考查点:函数
20. (分值:1.2 分)以下程序的输出结果是( ) main()
{ int n=10; while(n>7) { n--; printf(“%d,”,n);
3. (分值:1.2 分)main() { int a,b,d=241;
a=d/100%9; b=(-1)&&(-1); printf(“%d,%d”,a,b);
}
A: 6,1 B: 2,1 C: 6,0 D: 2,0 序号:56
难度:1
考查点:逻辑运算和判断选取控制
4. (分值:1.2 分)以下不正确的描述是( ) A: break 语句不能用于循环语句和 switch 语句外的其它语句 B: 在 switch 语句中使用 break 语句或 continue 语句的作用相同 C: 在循环语句中使用 continue 语句是为了结束本次循环 D: 在循环语句中使用 break 语句是为了使流程跳出循环体 序号:76 难度:1 考查点:循环控制
A: 3 B: 4 C: 5 D: 有语法错 序号:449 难度:1
考查点:函数
11. (分值:1.2 分)语句 for(i=0;i<5;++i) {if(i= =3)continue; printf(“%d”,i);}的打印结果是 A: 0 1 2 B: 0 1 2 4 C: 0 1 2 3 4 D: 不打印 序号:421 难度:2 考查点:循环控制
14. (分值:1.2 分)C 语言中运算对象必须是整型的运算符是 A: %= B: / C: = D: <= 序号:460 难度:1 考查点:数据类型、运算符与表达式
15. (分值:1.2 分)C 语言中 while 和 do-while 循环的主要区别是 A: do-while 的循环体至少无条件执行一次 B: while 的循环控制条件比 do-while 的循环控制条件严格 C: do-while 允许从外部转到循环体内; D: do-while 的循环体不能是复合语句; 序号:229 难度:1 考查点:循环控制
7. (分值:1.2 分)已知大写字母 A 的 ASCII 码值是 65,小写字母 a 的 ASCII 码是 97,则 用八进制表示的字符常量‘\101’是( )。
A: 字符 A B: 字符 a C: 字符 e D: 非法的常量 序号:1027 难度:1
考查点:数据类型、运算符与表达式
8. (分值:1.2 分)以下程序段的输出结果是 int a=1234; printf("%2d\n",a); A: 12 B: 34 C: 1234 D: 提示出错、无结果 序号:606 难度:1 考查点:顺序结构
36. (分值:1.2 分)下面说法中不正确的是( ) 在 C 语言中
A: 实参可以是常量、变量或表达式; B: 形参可以是常量、变量或表达式; C: 函数的参数是函数间传递数据的一种手段; D: 实参个数应与对应的形参个数相等,类型匹配; 序号:159 难度:1 考查点:函数