c语言备考复习题与部分答案
- 格式:doc
- 大小:70.00 KB
- 文档页数:7
一、判断题1. 格式字符%md中的m不能为负。
(×)2. 实际上,可以用顺序、分支、循环三种结构构造任何算法。
( )3. printf("%d",sizeof(1234));其结果是4。
(×)4. 在C语言中,任何一个表达式的最后加上一个分号就构成一个合法的语句。
( )5. 下面程序执行结果是32768。
(×)main( ){int a,b;printf("%d\n",b=(a=32767,a+1));}二、单选题1. 下述程序的输出结果是(B )#include <STDIO.H>void main(){int a,b,c=241;a=c/100%9;b=-1&&-1;printf("%d,%d",a,b);}2. 若有定义:int x,y; char a,b,c;并有以下输入数据:x=1 2 A B C<CR>,则能给x赋整数1,给赋整数2,给a赋字符A,给b赋字符B,给c赋字符C的正确程序段是(D )A)scanf("x%d y=%d",&x,&y);a=getch();b=getch();c=getch();B)scanf("x=%d%d",&x,&y);a=getch();b=getch();c=getch();C)scanf("x=%d%d%c%c%c",7x,&y,&a,&b,&c); D)scanf("x=%d%d%c%c%c%c%c",&x,&y,&a,&b,&b,&c, &c);3. 已有定义double d,f;数据的输入方式为:3.45<CR> 1.2<CR>根据定义和数据的输入方式,输入函数调用语句的正确形式为(A )A)scanf("%lf%lf",&d,&f) B)scanf("%f%f",&d,&f)C)scanf("3.2f%3.1f",&d,&f)D)scanf("%3.2lf%3.1lf",&d,&f)4. 如下程序: #include <STDIO.H>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)145. 下面程序的输出是(C )。
#include <STDIO.H>void main(){ int x=10,y=3;printf(“%d\n”,y=x/y);}(A)0 (B)1(C)3 (D)不确定的值6. 下面程序运行情况是( D )。
#include <STDIO.H>void main(){ int x=3,y=0,z=0;if (x=y+z)printf(“****”);elseprintf(“####”);}(A)有语法错0不能通过编译(B)输出****(C)可以通过编译,但不能通过连接,因而不能运行(D)输出####7. 结构化程序的三种基本结构是(A )。
(A)顺序结构、选择结构、循环结构(B)递归结构、循环结构、转移结构(C)嵌套结构、递归结构、顺序结构(D)循环结构、转移结构、顺序结构8. 以下程序的输出结果是( B )。
#include <STDIO.H>main(){ int i=010,j=10;printf("%d,%d",++i,j--);}(A) 11,10 (B) 9,10 (C) 010,9(D) 10,99. 运行完下列程序后,在屏幕上的容是( D )。
main (){ int a=0;a+=(a=12);printf ("%d\n",a);}10. 语句printf("s=%-5.3s","computer");的输出结果是(B )。
A) s= B)s= C)s= ter D)s=ter11. 下面程序的输出是(C)main( ){intx=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)1013. 下列程序的输出结果是(A )。
main( ){int a=-1,b=1,c;c=(a++<=0)&&!(b--<=0));printf("%d,%d,%d",a,b,c);}A)0,0,1 B)-1,1,1C)0,1,0 D)0,0,014. 以下程序运行后,m的值为( C ) 。
#include <STDIO.H>void main( ){ int m,n,k;m=(n=4)+(k=10-7);printf("m=%d\n",m); } A)4 B)3 C)7 D)1415. 下面程序的输出结果是( D )。
main( ) {int x=10;printf("%d\n",~x); }A)9 B)-9 C)11 D)-11 16. 以下程序的输出结果是( D )。
main( ){int x=10,y=10;printf("%d,%d\n",x--,--y); } A)10,10 B)9,9 C)9,10D)10,9A.B.C.D.17. printf 函数中用到格式符%5s,其中数字5表示输出的字符串占用5列,如果字符串长度大于5,则输出按方式 (B )。
A) 从左起输出该字符串,右补空格B) 按原字符长从左向右全部输出C) 右对齐输出该字串,左补空格D) 输出错0信息18. putchar 函数可以向终端输出一个 DA) 整型变量表达式值 B) 实型变量值C) 字符串 D) 字符或字符型变量值19. 根据定义和数据的插入方式,输入语句的正确形式为( B )。
已有定义:float f1,f2;数据的输入方式:4.523.5A)scanf("%f,%f",&f1,&f2); B)scanf("%f%f",&f1,&f2);C)scanf("%3.2f %2.1f",&f1,&f2); D)scanf("%3.2f%2.1f",&f1,&f2);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",--x); }A) 17 B) 18 C)23 D) 2423. 以下程序的输出结果是( D ) 。
main( ){char x=040;printf("%d\n",x=x<<1); }A)100 B)80 C)120D)6424. 假如一个整型变量的最大允许值为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,下面程序的输出是Cmain(){ char ch1,ch2;ch1=''A''+''5''-''3'';ch2=''A''+''6''-''3'';printf("%d,%c\n",ch1,ch2);}A) 67,D B) B,C C) C,DD) 不确定的值26. 请读程序片段:int i=65536;printf("%d\n",i);上面程序片段的输出结果是( B )。
A) 65536 B) 0 C) 有语法错0,无输出结果D) -127. 在下列程序段中:int x, y ;scanf("%3d*2d%d",&x,&y);若输入的数据为:12345678<CR>,则x、y 的值分别为(B )。
A) 123,456 B)123,678C)12345 678 D)无法得到正确的值28. 有如下程序,输入数据12 345<CR>后,y的值是(B )。
#include <stdio.h>main(){ int x;float y;scanf("%3d%f",&x,&y);} (A)12.000000 (B)345.000000(C)12345.000000 (D)0.00000029. 有如下程序,若要求a1,a2,c1,c2的值分别为10,20,A,B,正确的数据输入是(D )main(){int a1,a2;char c1,c2;scanf("%d%d",&a1,&a2);scanf("%c%c",&c1,&c2);}(A)1020AB<CR> (B)1020<CR>AB<CR> (C)10 20AB<CR> (D)10 20AB<CR>30. 下列语句的输出为(A )。