一、 判断题
1. 格式字符%md中的m不能为负。( × ) 2. 实际上,可以用顺序、分支、循环三种结构构造任何算法。( )
3. printf(\"%d\其结果是4。( × ) 4. 在C语言中,任何一个表达式的最后加上一个分号就构成一个合法的语句。( ) 二、 单选题
1. 下述程序的输出结果是(B ) #include void main() {int a,b,c=241; a=c/100%9; b=-1&&-1; printf(\"%d,%d\ }2. 若有定义:int x,y; char a,b,c;并有以下输入数据:x=1 2 A B C,则能给x赋整数1,给赋整数2,给a赋字符A,给b赋字符B,给c赋字符C的正确程序段是(D ) A)scanf(\"x%d y=%d\ a=getch();b=getch();c=getch(); B)scanf(\"x=%d%d\ a=getch();b=getch();c=getch();
C)scanf(\"x=%d%d%c%c%c\D)
scanf(\"x=%d%d%c%c%c%c%c\&c,&c);
3. 已有定义double d,f;
数据的输入方式为:3.45 1.2 根据定义和数据的输入方式,输入函数调用语句的正确形式为(A ) A)scanf(\"%lf%lf\B)scanf(\"%f%f\5. 下面程序执行结果是32768。(× ) main( ) {int a,b;
printf(\"%d\\n\
C)scanf(\"3.2f%3.1f\D)scanf(\"%3.2lf%3.1lf\ 4. 如下程序: #include void main() { int m,n,k; m=(n=4)+(k=10-7); printf(“m=%d\\n”,m); }运行后m的值为( C )。
(A)4 (B)3 (C)7 (D)14
5. 下面程序的输出是(C )。 #include void main() { int x=10,y=3; printf(“%d\\n”,y=x/y); }(A)0 (B)1 (C)3(D)不确定的值
6. 下面程序运行情况是( D )。 #include void main(){ int x=3,y=0,z=0; if (x=y+z) printf(“****”); else
printf(“####”); }
(A)有语法错0不能通过编译 (B)输出****
(C)可以通过编译,但不能通过连接,因而不能运行
(D)输出####
7. 结构化程序的三种基本结构是(A )。 (A)顺序结构、选择结构、循环结构 (B)递归结构、循环结构、转移结构
(C)嵌套结构、递归结构、顺序结构 (D)循环结构、转移结构、顺序结构
8. 以下程序的输出结果是( B )。 #include main(){ int i=010,j=10; printf(\"%d,%d\ }
(A) 11,10 (B) 9,10 (C) 010,9 (D) 10,9
9. 运行完下列程序后,在屏幕上的内容是( D )。 main () { int a=0; a+=(a=12); printf (\"%d\\n\ }
10. 语句printf(\"s=%-5.3s\的输出结果是(B )。
A) s= com B)s=com C)s= ter D)s=ter
11. 下面程序的输出是(C) main( )
{int
x=10,y=3; printf(“%d\\n”,y=x/y); }
A)0 B)1 C)3 D)不确定的值 12. 执行下面程序中输出语句后,a的值是( C ) 。
main( )
{ int a; printf(“%d\\n”,(a=3*5,a*4,a5)); }
A)65 B)20 C)15 D)10 13. 下列程序的输出结果是(A )。 main( )
{int a=-1,b=1,c;
c=(a++<=0)&&!(b--<=0)); printf(\"%d,%d,%d\ }
A)0,0,1 B)-1,1,1 C)0,1,0 D)0,0,0
14. 以下程序运行后,m的值为( C ) 。 #include void main( ) { int m,n,k; m=(n=4)+(k=10-7); printf(\"m=%d\\n\ }A)4 B)3 C)7
D)14 15. 下面程序的输出结果是( D )。 main( ) {int x=10;
printf(\"%d\\n\ }
A)9 B)-9 C)11 D)-11 16. 以下程序的输出结果是( D )。 main( )
{int x=10,y=10;
printf(\"%d,%d\\n\ }
A)10,10 B)9,9 C)9,10 D)10,9
A.
B.
C.
D.
17. printf函数中用到格式符%5s,其中数字5表示
输出的字符串占用5列,如果字符串长度大于5,
则输出按方式 (B )。
A) 从左起输出该字符串,右补空格
B) 按原字符长从左向右全部输出
C) 右对齐输出该字串,左补空格
D) 输出错0信息
18. putchar函数可以向终端输出一个 D
A) 整型变量表达式值 B) 实型变量值 C) 字符串 D) 字符或字符
型变量值
19. 根据定义和数据的插入方式,输入语句的正确
形式为( B )。
已有定义:float f1,f2;
数据的输入方式:4.52
3.5 A)scanf(\"%f,%f\B)scanf(\"%f%f\C)scanf(\"%3.2f %2.1f\D)scanf(\"%3.2f%2.1f\
20. 已知ch是字符型变量,下面不正确的赋值语
句是( A )。
A)ch=''a+b'' B) ch=''\\O''; C)ch=''7''+''9'';D)ch=5+9;
21. 假设int a=4; 以下不正确的语句是(A )。 A)a+1=4; B){a+++ +4;a/=4} C) ; D)printf(\"a+1=4\"); 22. 如下程序的执行结果是( B )。 main()
{ int x=023; printf(\"%d\\n\ }
A) 17 B) 18 C) 23 D) 24 23. 以下程序的输出结果是( D ) 。
main( )
{char x=040;
printf(\"%d\\n\ }
A)100 B)80 C)120
D)
24. 假如一个整型变量的最大允许值为32767,那
么运行如下程序后屏幕上会输出的结果是(B )
main()
{ int a,b;
a=32767;
b=a+1;
printf(“%d,%d”,a,b);
}
A) 32767,32768 B) 32767,-32768 C)
32767,0 D) 运行时报错
25. 已知字母A的ASCII码为十进制的65,下面程序的输出是C main()
{ char ch1,ch2; ch1=''A''+''5''-''3'';
ch2=''A''+''6''-''3'';
printf(\"%d,%c\\n\
}
A) 67,D B) B,C C) C,D
D) 不确定的值
26. 请读程序片段:int i=65536; printf(\"%d\\n\上面程序片段的输出结果是( B )。 A) 65536 B) 0 C) 有语法错0,无输出结果 D) -1 27. 在下列程序段中: int x, y ;
scanf(\"%3d*2d%d\
若输入的数据为:12345678,则x、y的值分别为(B )。A) 123,456 B)123,678 C)12345 678 D)无法得到正确的值
28. 有如下程序,输入数据12 345后,y的值是(B )。 #include main() { int x; float y;scanf(\"%3d%f\ } (A)12.000000 (B)345.000000 (C)12345.000000 (D)0.000000
29. 有如下程序,若要求a1,a2,c1,c2的值分别为10,20,A,B,正确的数据输入是(D ) main() {int a1,a2; char c1,c2;
scanf(\"%d%d\ scanf(\"%c%c\ }
(A)1020AB (B)10 20AB (C)10 20 AB (D)10 20AB 30. 下列语句的输出为(A )。 int x=-1;printf(\"%d,%u,%o\
A) -1,65535,177777 B)-1,-1,-1 C) -1,32767,-177777 D)-1,32768,177777
31. 若有定义int a=3; 则执行完printf(\"%d\语句后,a 的值为(B )。
A)-3 B)2 C)-2 D)3 32. 以下程序的输出结果是( C )。 int x=3,y=4; void main( ) { int x,y=5; x=y++;
printf(\"%d\ }
A)3 B) 4 C) 5 D) 6
33. 设有如下定义:int x=10,y=3,z; 则语句: z=(x%y,x/y)); printf(“%d\\n”,Z); 的输出结果是(D )
A)1 B)0 C)4 D)3
34. 以下程序的输出结果是 ( D ) . main( ) { int a=3;
printf(\"%d\\n\ ); } A) -6 B)12 C) 0 D) –12
35. 设有定义:int x=1,y=-1;则语句: printf(\"%d\\n\ 的输出结果是(B ).
A)1 B)0 C)-1 D)2
36. 设有如下定义: int x=10,y=3,z; 则语句: printf(\"%d\\n\ 的输出结果是
( D)。
A)1 B)0 C)4 printf(\"n=%d\\n\ }
A)30 B)24 C)60 D)48
D)3
42. 下面程序的运行结果是(B )
37. 下列程序的输出结果是( A ) main( ) main( ) { double
{int x=0,y=0;
while (!!x) y+=++x;
printf(\"%d\\n\
}
d=3.2; int x,y; x=1.2; y=(x+3.8)/5.0; printf(\"%d \\n\ d*y);
} A) 3 B) 3.2 C) 0 D) 3.07
38. 已知E的ASCII码是69,则执行以下语句的结果是( A )。
printf(\"%c\
A)66 B)A C)B D)E 39. 执行下面程序后,n的值为( C ) 。 main( ) {int n,a=2,b=3,c=4; n=(ab)?b:c; n=(nA)5 B)4 C)3 D)240. 以下程序执行完后,a 的值为(C ) #inlcude void main( ) {int a;
printf(\"%d\\n\ }
A)65 B)20 C)15 D)10 41. 下面程序的运行结果是(B ) main( ) {int n;
(n=6*4,n+6),n*2;
A)1 B)0 C)控制表达式非法 D)程序执行无限次
43. 下面程序的运行结果是( B ) main( )
{int n,a=2,b=3,c=4; n=(an=(n>b)?b:c;
} A)5 B)4 C)3 44. 以下程序的运行结果为 ( C ) 。 D) 2
main( ) {unsigned a=3,b=10;
printf(\"%d\\n\ }
A)3 B)10 C) 13 D)14 45. 以下程序的运行结果为(A )。 main( ) {int x=17,y=26;
printf(\"%d\ A)5 B)8 C)2 D)26 46. 以下程序的输出是( B ). main( )
{int a,b,d=241; a=d/100%9; b=(-1)&&(-1); printf(\"%d,%d\\n\
A)6,1 B)2,1 C)6,0 D)2,0 47. 下列程序段的输出结果是(A)。 int x=1 , y=1 , z; z=1||++x&&y--;
printf(\"\\n%d,%d,%d\
A) 1,1,1 B) 2,0,1 C)2,1,1 D)2,0,0
48. 下列程序的运行结果是(B ). #include main( ){unsigned a,b,c; a=0x255; b=a<<4; x=(~b)&0xff ;
printf(\"%f\ a++<=25&&b--<=2&&c++ ? A)0x55 B)0xaf C)0x50 pritnf(\"%d,%d,%d\\n\ D)0xda
49. 若有定义int a=25,b=14,c=19;则以下三目运算符构成的语句的执行结果是( B ) 三、 多选题
1. 结构化程序设计思想应该包括( ABCD )。
(A)使用顺序、分支、循环三种基本结构; (B)使用goto语句;
(C)应该使用自顶向下、逐步求精的方法; (D)应该使用模块化的方法;
(E)编码过程中,变量名的命名只要程序员自己明白就可以了;
c);
A)25,14,19
B)26,13,19
C)25,13,19 D)26,14,19
2. 2. 对于scanf()函数,下列说法正确的是(ABD )。
A)如果相邻格式符之间没有数据分隔,则对应的输入数据之间可用空格、回车分隔。 B)输入数据时不能指定精度。
C)在用格式说明符\"%c\"输入单个字符时,空格字符和转义字符是无效字符,即不能被输入。 D)遇到空格、或者回车时,系统认为一个数据输入结束。
3. 3. 已知ch是字符型变量,下面正确的赋值语句是(BC )。
A)ch=''123''; B) ch=''\\xff''; C)ch=''t''; D)ch=\"\\\";
4. 4. 若有定义int a,b; float x;,则以下不正确的赋值语句是(ACD )。
A)a=1,b=2, B)b++; C)a=b=5 D)b=int(x);
四、填空题
1. 在C语言中没有固有的输入和输出语句,但是用C语言编写的程序可以用函数调用的形式来实现输入、输出,这些函数由( 标准I/O库/系统 )提供。
2. 语句printf(\"%d\ -2)); 的输出结果是____1________。 3. 执行以下程序段后,a 的值是______1____. int a; a=-2*4%-5/2; 五、阅读程序
1. 下列程序的运行结果是 ( 3 2 1). main() {int x=1; {int x=2; {int x=3; printf(\"%d\ }
printf(\"%d\ }
printf(\"%d\ }