C语言复习试题库.doc_第1页
C语言复习试题库.doc_第2页
C语言复习试题库.doc_第3页
C语言复习试题库.doc_第4页
C语言复习试题库.doc_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1以下叙述中正确的是( C )A用C程序实现的算法必须要有输入和输出操作B用C程序实现的算法可以没有输出但必须要有输入C用C程序实现的算法可以没有输入但必须要有输出D用C程序实现的算法可以既没有输入也没有输出3以下叙述正确的是( )A构成程序的基本单位是函数 B可以在函数中定义另一个函数Cmian()函数必须放在其他函数之前D所有被调用的函数一定要在调用之前进行定义5用C语言编写的程序(B) A可立即执行 B是一个源程序 C经过编译即可执行D经过编译解释才能执行6结构化程序有三种基本结构组成,三种基本结构的算法(A)A可以完成任何复杂的任务 B只能完成部分复杂的任务C只能完成符合结构化的任务 D只能完成一些简单的任务7在一个C程序中(B) A用户标识符中可以出现下划线和减号 B用户标识符中不可以出现减号,但可以出现下划线 C用户标识符中可以出现下划线,但不可以放在开头 D用户标识符中可以出现下划线和数字,它们都可以放在开头8以下合法的用户标识符是(B)Along B _2Test C3Dmax DA.dat 9以下不能定义为用户标识符的是(D)AMain B_01 C_int Dsizeof10以下叙述中错误的是( A )A用户所定义的标识符允许使用关键字B.用户所定义标识符应尽量做到见名知意” C用户所定义的标识符必须以字母或下划线开头 D用户定义的标识符中,大、小写字母代表不同标识 12以下定义语句中正确的是(C)Achar a=Ab=B; Bfloat a=b=10.0; Cint a=10,*b=&a; Dflaot *a,b=&a;13以下选项中可作为C语言合法常量的是(A)A-80. B-080 C-8e1.0 D-80.0e14以下选项中不属于C语言的类型的是(D)Asigned short int Bunsigned long int Cunsigned int Dlong short15以下选项中可以作为C语言中合法整数的是(C)A10110B B0386 C0Xffa Dx2a216以下选项中合法的实型常量是(C)A5E2.0 BE-3 C2E0 D1.3E17以下选项中,不能作为合法实型常量的是(B)A1.234e04 B1.234e0.4 C1.234e+4 D1.234e018已知A的ASCII码值是65,a的ASCII码值是97,则八进制表示的字符型常量101是(A) AA Ba Ce D非法的常量19已经定义ch为字符型变量,以下赋值语句中错误的是(A)Ach=; Bch=62+3; Cch=NULL; Dch=xaa;20已经定义c为字符型变量,则下列语句中正确的是(C)Ac=97; Bc=“97”; Cc=97; Dc=“a”;21以下选项中,非法的字符常量是(C)At B17 C”n” Dxaa23C语言中运算对象必须是整型的运算符是(A)A%= B/ C = D 0;26以下选项中非法的表达式是(D)A0=x=k B-k+ Ck%int(f) Dk=f=m 30有以下定义语句double a,b; int w; long c; 若各变量已正确赋值,则下列选项中正确的表达式是(C)Aa=a+b=b+ Bw%(int)a+b) C(c+w)%(int)a Dw=a= =b;31以下选项中,与k=n+完全等价的表达式是(A)Ak=n,n=n+1 Bn=n+1,k=n Ck=+n Dk+=n+132若变量已经正确定义并赋值,下面符合C语言语法的表达式是(B)Aa:=b+1 B a=b=c+2 C int18.5%3 D a=a+7=b+c33若以下选项中的变量已正确定以,则正确的赋值语句是(C)Ax1=26.8%3 B1+2=x2 Cx3=0x12 Dx4=1+2=334假定x和y为double型,则表达式x=2,y=x+3/2的值是(D)A3.500000 B 3 C 2.000000 D3.00000035设a和b均为double型,且a=5.5、b=2.5,则表达式(int)a+b/b的值是(D)A6.500000 B6 C5.500000 D6.00000038以下不能正确计算代数式值的C语言表达式是( A )A1/3*sin(1/2)*sin(1/2) Bsin(0.5)*sin(0.5)/3 Cpow(sin(0.5),2)/3 D1/3.0*pow(sin(1.0/2),2) 40设有定义:float a=2,b=4,h=3;以下C语言表达式与代数式计算结果不相符的是 ( B )A(a+ b)*h/2 B(1/2)* (a+ b)*h C (a+ b)*h*1/2 D h/2* (a+ b)41若x和y代表整型数,以下表达式中不能正确表示数学关系|x-y|10的是(C)Aabs(x-y)-10&x-y10 C!(x-y)10 D(x-y)*(x-y)10042已知i、j、k为int型变量,若从键盘输入1,2,3,使i的值为1、j的值为2 、k的值为3,以下选项中正确的输入语句是(C)Ascanf(“%2d%2d%2d”,&i,&j,&k); Bscanf(“%d %d %d”,&i,&j,&k);Cscanf(“%d,%d,%d”,&i,&j,&k); Dscanf(“i=%d,j=%d,k=%d”,&i,&j,&k);43有以下程序main()int m,n,p; scanf(“m=%dn=%dp=%d”,&m,&n,&p); printf(“%d%d%dn”,m,n,p);若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是(A)Am=123n=456p=789 B 123 ,456,789 Cm=123,n=456,p=789 D123 456 78944以下程序运行时若从键盘输入:10 20 30。输出结果是10300 #includemain()int m=0,n=0,p=0; scanf(“%d%*d%d”,&m,&n,&p); printf(“%d%d%dn”,m,n,p);45若有以下程序段int m=0,n=0;char c=a; scanf(“%d%c%d”,&m,&c,&n);printf(“%d,%c,%dn”,m,c,n);若从键盘上输入:10A10,则输出结果是(A)A10,A,10 B16,A,10 C10,a,0 D10,A,046设有定义:long x=123456L;则以下能够正确输出变量x值的语句是(B)Aprintf(“x=%dn”,x); Bprintf(“x=%ldn”,x); Cprintf(“x=%8dLn”,x); Dprintf(“x=%LDn”,x);47有以下程序#include “stdio.h”main() charc1=1,c2=2; c1=getchar();c2=getchar();putchar(c1);putchar(c2); 当运行时输入:a后,以下叙述正确的是( A ) A变量c1被赋予字符a,c2被赋予回车符 B程序将等待用户输入第2个字符 C变量c1被赋予字符a,c2中仍是原有字符2 D变量c1被赋予字符a,c2中将无确定值 48已知字母A的ASCII码为65,以下程序运行时若从键盘输入:B33,则输出结果是 1 B #include “stdio.h”main() chara,b; a=getchar();scanf(“%d”,&b); a=a-A+0; b=b*2; printf(%c %cn,a,b); 49. 以下叙述中正确的是( B )A调用printf函数时,必须要有输出项 B使用putchar函数时,必须在之前包含头文件stdio.h C在C语言中,整数可以以十二进制、八进制或十六进制的形式输出D调用getchar函数读入字符时,可以从键盘上输入字符所对应的ASCII码 51以下程序的功能是:给r输入数据后计算半径为r的圆面积s程序在编译时出错出错的原因是 ( D ) main() /*Beginning*/ intr;floats; scanf(%d,&r); s=p*r*r;printf(s=%fn,s); A注释语句书写位置错误 B存放圆半径的变量r不应该定义为整型 C输出语句中格式描述符非法 D计算圆面积的赋值语句中使用了非法变量52有以下程序 main() chara1=M,a2=m; printf(%cn,(a1,a2); 以下叙述中正确的是 ( B )A程序输出大写字母M B程序输出小写字母m C格式说明符不足,编译出错 D程序运行时产生出错信息54以下程序运行后的输出结果是( )main() charc; intn=100; floatf=10;doublex; x=f*=n/=(c=50); printf(%d%fn,n,x); A2,20 B2 20 C 2 20.000000 D2, 20.00000055有以下程序main() int m=12,n=34;printf(%d%d,m+,+n);printf(%d%dn,n+,+m);程序运行后的输出结果是(A)A12353514B12353513C12343514D 1234351356有以下程序 #include main() char c1,c2,c3,c4,c5,c6;scanf(%c%c%c%c,&c1,&c2,&c3,&c4);c5=getchar(); c6=getchar(); putchar(c1); putchar(c2);printf(%c%cn,c5,c6); 程序运行后,若从键盘输入(从第1列开始)123回车45678回车则输出结果是( D )A1267 B1256 C1278 D124557.设有如下程序段: int x=2002, y=2003; printf(%dn,(x,y); 则以下叙述中正确的是 (D)A. 输出语句中格式说明符的个数少于输出项的个数,不能正确输出B. 运行时产生出错信息 C. 输出值为2002 D. 输出值为200358.有以下程序 main() int x=102,y=012; printf(”%2d,%2dn”,x,y); 执行后输出的结果是(C)A10,01 B02,12 C102,10 D02,1059.有以下程序 main() int x=0256,y=256; printf(”%O %On”,x,y); 执行后输出的结果是(C)A0256 0400 B0256 256 C256 400 D400 40060.设有以下程序,以下说法正确的是(C ) main()int a=5,b=0,c=1;if(a=b+c)printf(“*n”);else printf(“$n”);A.有语法错不能通过编译 B. 可以通过编译但不能通过连接C. 输出* D. 输出$62有以下程序main()inti=1,j=2,k=3;if(i+= =1&(+j= =3|k+= =3)printf(%d%d%dn,i,j,k);程序运行后的输出结果是( D ) A123 B234 C223D23363若整型变量a、b、c、d中的值依次为:1、4、3、2则条件表达式ab?a:cd?c:d的值为( A )A1 B2 C3 D468当把以下四个表达式用作if语句的控制表达式时,有一个选项与其它三个选项含义不同,这个选项是 ( D )Ak%2 Bk%2= =1 C(k%2)!=0 D!k%2= =1 69有以下程序main()inta=5,p;if(p=a!=0) printf(%d n,p);else printf(%d n,p+2);程序运行后的输出结果是 1 。72有定义语句:int a=1,b=2,c=3,x;,则以下选项中各程序段执行后,x的值不等于3的是(C)Aif(ca) x=1; Bif(a3) x=3;else if(ba)x=2; else if(a2)x=2;else x=3; else x=3;Cif(a3) x=3; Dif(ab) x=b;if(a2)x=2; if(bc)x=c;if(a1)x=1; if(c50)printf(“%d”,x); if(x40)printf(“%d”,x);if(x30)printf(“%d”,x);76以下程序运行后的输出结果是( )main()inta=1,b=2,c=3; if(c=a)printf(%dn,c); elseprintf(%dn,b); A.2 B.3 C. 1 D.078以下程序的运行结果是 !& main()int a=2; switch(a0)case 1: printf (“”); case 0: printf(“!”); break;printf(“&”); 79以下程序输出的结果是 0 main() int a=5,b=4,c=3,d;d=(abc); printf(%dn,d);80.以下程序运行后的输出结果是 3 main() int p=30; printf(%dn,(p/30?p/10:p%3);83若有定义:float x=1.5;int a=1,b=3,c=2;则正确的switch语句是( C )Aswitch(x) Bswitch(a)case 1.0:printf(*n); case 1printf(*n); case 2.0:printf(*n); case 2 printf(*n);Cswitch(b) Dswitch(a+b); case 1: printf(*n); case 1:printf(*n); case 3+1:printf(*n);case 2:printf(*n);84有以下程序段int k=0; while(k=1)k+; while循环执行的次数是(A) A无限次 B有错误,不能执行C一次也不执行 D执行次85有以下程序 #include main() char c;while(c=getchar()!=?) putchar(-c); 程序运行后,若从键盘输入Y?N?回车则输出结果是 X 87有以下程序 #include main() int n1,n2; scanf(“%d”,&n2);while(n2!=0)n1=n2%10; n2=n2/10; printf(“%d”,n1); 程序运行后,若从键盘输入1298回车则输出结果是 8921 92有以下程序段int p,n=0; doscanf(“%d”,&p);n+;while(p!=12345&n0|E0)s=a;for(b=1;b=c;b+)s=s+1;则与此程序段功能等价的赋值语句是(B)As=a+b; Bs=a+c; Cs=s+c Ds=b+c101若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作计算的程序段是 ( B )Afor(i=1,p=1;i=5;i+) p*=i; Bfor(i=1;i=5;i+) p=1; p*=i;C i=1,p=1; for(;i=5;i+) p*=i; Di=1,p=1; while(i=5) p*=i; i+;102若变量已正确定义,则以下能正确计算n!的程序段是 ( D )Ap=0;for(i=1;i=n;i+) p*=i; Bp=1;for(i=1;i1;i+) p*=i; Dp=1;for(i=n;i=2;i-) p*=i;103以下程序的运行结果是0918273645 main() char c1,c2; for(c1=0,c2=9;c11;n-)s=s+1/n;printf(“%6.4fn”,s);程序运行后的结果错误,导致错误结果的程序行是(C)As=1.0; Bfor(n=10;n1;n-) Cs=s+1/n; Dprintf(“%6.4fn”,s);105有以下程序 main() int t=1,i=5; for(;i=0;i-)t*=i; printf(“%dn”,t); 执行后输出的结果是0106以下程序中的变量已正确定义for(i=0;i4;i+,i+)for(k=1;k3;k+); printf(”*”);程序段的输出结果是(D )A* B* C* D*107有以下程序mian()int i,j; for(i=1;i4;i+)for(j=i;j4;j+) printf(“%d*%d=%d “,i,j,i*j);printf(“n”); 程序运行后的输出结果是( B )A 1*1=1 1*2=2 1*3=3 B 1*1=1 1*2=2 1*3=3 2*1=2 2*2=4 2*2=4 2*3=6 3*1=3 3*3=9 C 1*1=1 D1*1=1 1*2=2 2*2=4 2*1=2 2*2=41*3=3 2*3=6 3*3=9 3*1=3 3*2=6 3*3=9111当执行以下程序时,输入1234567890,则其中while循环体将执行 9 次include “stdio.h”main()char ch; while(ch=getchar()!=0) printf(“#”);112 当执行以下程序时,输入1234567890,则其中while循环体将执行 0 次include “stdio.h”main()char ch; while(ch=getchar()= =0) printf(“#”);113以下程序的功能是:输出100以内(不包含100)能被3整除且个位数为6的所有整数,请填空 main() int i,j; for(i=0;i10;i+) j=i*10+6; if( j%3!=0 )continue; printf(%d ,j); 114以下程序的输出结果是 54321 # includemain()intn=12345, d; while(n!=0) d=n%10; printf(%d, d); n/=10; 116以下isprime函数的功能是判断形参a是否为素数,是素数,函数返回1,否则返回0请填空 int isprime(int a) int i; for(i=2;ia/2) return 1; else return 0; 119有以下程序 main() int p7=11,13,14,15,16,17,18,i=0,k=0;while(i7&pi%2) k=k+pi;i+;printf(%dn,k); 程序执行后的输出结果是( D )A58B56 C45D24120有以下程序 main() int p8=11,12,13,14,15,16,17,18,i=0,j=0;while(i+7) if(pi%2) j+=pi;printf(%dn,j); 程序执行后的输出结果是( B )A42B45 C56D60121有以下程序 main() int n5=0,0,0,i,k=2;for(i=0;i=0;i-)ni =10-i;printf(%d%d%d,n2,n5,n8); 程序执行后的输出结果是( C )A258B741 C852D369129以下能正确定义一维数组的选项是( B )Ainta5=0,1,2,3,4,5;Bchara =0,1,2,3,4,5;Cchara=A,B,C; Dinta5=0123;130 若有说明:int a10; 则对a数组元素的正确引用是( C )Aa10 B a3.5 Ca5-3 D a-1131 在C语言中, 一维数组的定义方式为:类型说明符 数组名 ; 中应为( A )A整型常量表达式 B表达式 C整型变量 D整型表达式132以下能正确定义二维数组的是 ( D )Aint a 3; Bint a 3=22*3; Cint a 3= ; Dint a 3=1,2,3,4;133有以下程序 main() int i,t 3=9,8,7,6,5,4,3,2,1;for(i=0;is2) Bif(strcpy(s1,s2)0) C if (strcmp(s1,s2)0) Dif (strcat(s1,s2) 0)137以下能正确定义字符串的语句是( A )Achar str =064 ; Bchar str=x43;Cchar str=;Dchar str =0;138以下数组定义中错误的是( B )Aint x 3=0; Bint x23=1,2,3,4,5,6;Cint x 3=1,2,3,4,5,6;Dint x23=1,2,3,4,5,6;138若要求从键盘读入含有空格字符的字符串,应使用函数( B ) Agetc() Bgets() Cgetchar() Dscanf()142有以下程序 main() int i,t33=9,8,7,6,5,4,3,2,1;for(i=0;i3;i+) printf(%d ,ti 2-i); 程序执行后的输出结果是( A ) A7 5 3 B3 5 7 C3 6 9 D7 5 1143有以下程序 main() int i,t 3=9,8,7,6,5,4,3,2,1,j=2;for(i=0;i3;+) printf(%d,tji); 程序执行后的输出结果是( B ) A753 B321 C369 D751144有以下程序 main() int i,a44=1,2,3,4,8,7,6,5,4,2,9,6,3,0,1,5,s=0;for(i=0;i4;i+) s=s+aii;printf(%dn,s); 程序执行后的输出结果是( A ) A22 B3 5 7 C3 6 9 D7 5 1145以下程序的输出结果是abcmain()chars =“abcdef”; s3=0; printf(%sn, s);146 下述对C语言字符数组的描述中错误的是( C )A字符数组可以存放字符串 B 字符数组的字符可以整体输入、输出C 可以在赋值语句中通过赋值运算符对字符数组整体赋值D 可以用关系运算符对字符数组中的字符进行比较147 为了判断两个字符串s1和s2是否相等,应当使用( D )Aif (s1= =s2) B if(s1=s2) C if (strcmp(s1,s2) D if (strcmp(s1,s2)= =0)150若有定义语句:int a36; ,按在内存中的存放顺序,a数组的第10个元素是( B )Aa04 Ba13 Ca03 Da14153设有定义:char s81;int i=0;,以下不能将一行(不超过80个字符)带有空格的字符串正确读入的语句或语句组是( C )A gets(s); Bwhile(si+=getchar()!=n); si=0;Cscanf(”%s”,s); Ddoscanf(”%c”,&si);while(si+!=n);si=0;157 以下程序运行后的输出结果是9int f(int a)return a%2;main( )int a8=1,3,5,2,4,6,y=0,i;for(i=0;f(ai);i+)y+=ai;printf(“%dn”,y);159 有以下程序 void f(int b )int i; for(i=2;i6;i+) bi*=2; main()int a10=1,2,3,4,5,6,7,8,9,10,i;f(a); for(i=0;i10;i+) printf(“%d,”,ai); 程序运行后的输出结果是( B )A1,2,3,4,5,6,7,8,9,10, B1,2,6,8,10,12,7,8,9, 10,C1,2,3,4,10,12,14,16,9,10, D1,2,6,8,10,12,14,16,9,10,160有以下程序voidsum(inta ) a0=a-1+a1; main() inta10=1,2,3,4,5,6,7,8,9,10; sum(&a2); printf(%dn,a2); 程序运行后的输出结果是 ( A )A6 B7 C5 D8161 有以下程序若运行时输入:1234,程序的输出结果是(C )intsub(intn)return(n/10+n%10); main() intx,y; scanf(%d,&x); y=sub (sub(sub(x); printf(%dn,y); A127 B19 C 10 D1162在C语言中,下面对函数不正确的描述是( D )A当用数组名作形参时,形参数组值的改变可以使实参数组之值相应改变B允许函数递归调用 C 函数形参的作用范围只是局限于所定义的函数内D 子函数必须位于主函数之前164 以下正确的函数形式是(D ) Adouble fun(int x,int y) z=x+y;return z; B fun(int x,y) int z; return z;C fun(x,y) int x,y; double z; z=x+y; return z; D double fun( int x,int y) double z; z=x+y; return z; 165 设函数fun的定义形式为 voidfun(charch,floatx) 则以下对函数fun的调用语句中,正确的是 ( D ) Afun(abc,30); Bt=fun(D,165); Cfun(65,28); Dfun(32,32);166有以下程序 fun(char p 10) int n=0,i;for(i=0;iy) f(x,y); else if(yz) f(y,z); else f(z,x);printf(“%d,%d,%dn”,x,y,z); 程序运行后的输出结果是( C )A1,2,3 B3,1,2 C1, 3,2 D 2,3,1177以下程序运行后的输出结果是3,2,2,3void f(int v,int w)v=v+w;w= v-w;v=v-w;printf(”%d,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论