C语言程序设计复习题_第1页
C语言程序设计复习题_第2页
C语言程序设计复习题_第3页
C语言程序设计复习题_第4页
C语言程序设计复习题_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

1、一、选择题:1、以下能正确定义数组并正确赋初值的语句是(D )。A、int N=5,bNN;B、int a12 = 1,3;C、int c2 = 1,2,3,4; D、int d2 = 1,2,3,4;2、执行下面的程序时若从键盘上输入6,则输出结果是(D )。 main() int x;scanf(%d,&x);if(x+5) printf(%dn”,x);elseprintf(%dn”,x-); A、7B、 6C、5D、43、下列四组选项中,不合法的用户标识符的选项是(D)。A、 P_0B、 _AC、 temp_123D、 b-a4、若x、i、j和k都是int型变量,则计算下面表达式后,x

2、的值为(C )。 x=(i=4, j=16, k=32)A、 4 B、 16 C、 32D、 525、下列选项中哪个是合法的标识符(B )。A、int B、_a2 C、b#D、7b6、下列选项定义了整型变量a和b,并为这两个变量赋初值为5,不正确的语句 是(B )。A、 int a=5,b=5;B、 int a=b=5;C、 int a,b;D、 int a=5,b;a=5;b=5;b=5;7、若变量已正确定义并赋值,下面不符合C语言语法的表达式是(A)。A、 a=a+7;B、 a=7+b+c,a+ C、 int 12.3%4 D、 a=a+7=a+b8、执行下面的程序时若从键盘上输入6,则输

3、出结果是(C )。 main() int x;scanf(%d,&x);if(x-5) printf(%dn”,x);elseprintf(%dn”,+x); A、 7B、 6C、5D、49、设有程序段int k=10;while(k=0) k=k-1;则下面描述中正确的是(B )。A、while循环10次B、循环体一次也不执行C、循环是无限循环D、循环体只执行一次10、以下对数组的定义方式哪个是正确的?( A )#define size 10int n=2;#define size 10int n=2;int asize ;int an;C、 char name(-10);D、 float

4、weight10.3;11、以下对二维数组a的正确说明是(C )。A、int a7口;B、float a7,7;C、double a77;D、float a(7)(7);12、以下程序的运行结果是(A )。main() int x=1,a=0,b=0;switch(x) case 0: b+;a+;a+;b+;)printf(a=%d,b=%dn”,a,b);)A、a=2,b=1B、a=1,b=1C、a=1,b=0D、a=2,b=213、下列字符中,ASCII码值最小的是(A )。AB、aC、ZD、x14、设a、b和c都是int型变量,且a=3,b=4,c=5;则以下的表达式中,值为1 的表达

5、式是:(C )A、 !c&1a=bC、 !a|b+c&b-c D、 !a|!bA、 !c&115、设有定义int a,b;当执行scanf(d,%d”,&a,&b);语句时,若要求a、b的值分别为2、3,则正确的输入格式为(D )。A、a=2,b=3B、a=2 b=3 C、2 3 D、2,316、若有定义 int i=3,j=3; printf(%d, %d”,+i ,j+);其运行结果为(A )。A、4, 3B、 3, 3 C、4, 4 D、3, 417、以下不正确的语句是(B )。A、 if(xy);B、if(x=y)&(x!=0) x+=y;C、if(x!=y) scanf( d”,&x

6、); else scanf( d,&y);D、 if(xb23、设int n=3;则有表达式+n,n的结果是( C )。A、2B、3C、4D、524、从循环体内某一层跳出,继续执行循环外的语句是(A )。A、break 语句B、return 语句C、continue语句D、空语句25、下面for循环的正确描述是(A )。A、for循环体语句中,可以包含多条语句,但必须用花括号括起来B、for循环只能用于循环次数已经确定的情况,不能用于无限循环C、for循环是先执行循环体语句后判断表达式D、在for循环中,不能用break语句结束循环26、下列实型常量用指数形式表示正确的是(A )。A、123E

7、2B、.e4C、e-5 D、1.2E-3.527、a是int类型变量,c是字符变量。下列输入语句中错误的是(B )。A、scanf(%d,%c”,&a,&c);B、scanf(%d%c”,a,c);C、scanf(%d%c”,&a,&c);D、scanf(d=%d,c=%c,&a,&c);28、执行下列语句后输出结果是(C )。int i,x33 = 1,2,3,4,5,6,7,8,9;for(i=0;ib) &(n=cd)后 n 的值(D )。A、 1B、 2C、 3D、 030、C语言中while和do-while循环的主要区别是(A )。A、do-while的循环体至少无条件执行一次B、

8、while的循环控制条件比do-while的循环控制条件严格C、do-while允许从外部转到循环体内D、do-while的循环体不能是复合语句31、下列运算符中优先级最高的是(B )。A、 y) x=y; y=z; z=x; printf( x=%d,y=%d,z=%dn,x,y,z);A、 x=7,y=8,z=7B、 x=7,y=9,z=7C、 x=8,y=9,z=7D、 x=8,y=9,z=851、执行以下程序段后的输出结果是(C )。 main() int n=3; while(n- -!=0); printf( dn,n); )A、0B、1C、-1D、死循环52、逻辑运算符两侧运算对

9、象的数据类型是(D )。A、只是0或1B、只能是0或非0正数C、只能是整型或字符型数据D、可以是任何合法的数据类型53、下面能正确表示八进制数的是(D )。A、0 x16B、029C、-114D、03354、C语言中主函数的个数是(A )。A、1B、2C、3D、任意个 55、以下描述中正确的是(D )。A、while、do-while、for循环中的循环体语句都至少被执行一次B、do-while循环中,while(表达式)后面的分号可以省略C、while循环体中,一定要有能使while后面表达式的值变为“假”的操作D、do-while循环中,根据情况可以省略while 56、下面正确的字符常量

10、是(B )。A、abcB、aC、aD、ab257、下列实型常量用指数形式表示正确的是(B )。A、.e6 B、 123E4 (C、e-6D、2.1E-5.358、以下程序的输出结果是(B )。 main() int i, a10;for(i=9; i=0; i-) ai=10-i; printf(%d%d%d”,a3,a6,a9) ;A、258B、741C、852D、36959、设有以下程序段,则下面描述中正确的是(B )。int k=2;while(k=0) k=k-1;A、while循环2次B、循环体一次也不执行C、循环是无限循环D、循环体只执行一次60、下列实型常量用指数形式表示正确的是

11、(B )。A、3EB、1.23E4C、ED、1.2E-3.461、设x,y和z均为int型变量,则执行语句“x=(y=(z=10)+5)-5;”后,x,y和z的值是(A )。A、 x=10B、 x=10C、 x=10D、 x=10y=15y=10y=10y=5z=10z=10z=15z=1062、以下程序的输出结果是(D )。main() int x=5, y=5; printf( d, %dn”,-x, y+);)A、4, 6B、 6, 5C、5, 5D、4, 563、若用数组名作为函数调用的实参,传递给形参的是( A )A、数组的地址B、数组中第一个元素的值C、数组中的全部元素的值D、数组

12、元素的个数64、下列四组选项中,属于C语言合法标识符的选项是(C )。A、 2abB、 fC、 _a12D、 ?b65、执行以下语句后,则x, y和z的值分别为(B )。int x=1, y=2, z=3; if(xy) z=x; x=y; y=z;A、x=1,y=2,z=3B、x=2,y=3,z=3C、x=2,y=3,z=1D、x=2,y=3,z=266、以下叙述正确的是(C )。A、在C程序中main函数必须位于程序的最前面B、C程序的每行中只能写一条语句C、C语言本身没有输入输出语句,输入输出需要调用库函数D、在对一个C程序进行编译的过程中,可发现注释中的拼写错误 67、已知各变量的类型

13、说明如下:int k,a,b;unsigned long w=5;double x=1.42;则以下不符合C语言语法的表达式是(A )。 TOC o 1-5 h z A、x%(-3)B、w+=-2C、k=(a=2,b=3,a+b)D、a+=a-=(b=4*3)68、设有定义int a,b;当执行scanf(d,%d”,&a,&b);语句时,若要求a、b 的值分别为3、5,则正确的输入格式为(C )。A、a=3,b=5 B、a=3 b=5 C、3,5D、3 569、判断char型变量ch是否为小写字母的正确表达式是(C )。A、a =ch= a )&(ch= a )&(ch= z ) D、 (

14、a = ch)70、下列选项中,正确的字符常量是(C )。A、“FB、 C、 W D、”71、以下说法中正确的是(C )。A、C语言程序总是从第一个定义的函数开始执行。B、在C语言程序中,要调用的函数必须在main()函数中定义C、C语言程序总是从main()函数开始执行D、C语言程序中的main()函数必须放在程序的开始部分72、以下程序的运行结果是(A )。main() int k=4,a=3,b=2,c=1;printf(dn,ka?k:cb?c:a);)A、 1B、2C、3D、473、以下选项中可作为C语言合法整数的是(C )。A、 10110BB、 0386C、 0 xffaD、 x

15、2a274、以下叙述错误的是(D )。A、一个C源程序可由一个或多个函数组成。B、一个C源程序必须包含一个main函数。C、C程序的基本组成单元是函数。D、在C程序中,注释说明只能位于一条语句的后面。75、下列运算符中优先级最低的是(A )A、? :B、&C、+D、!=76、设有定义inta,b;当执行scanf(d %d”,&a,&b);语句时,若要求a、b 的值分别为12、24,则正确的输入格式为(D )。A、a=12,b=24B、a=12 b=24 C、12,24D、12 2477、下列运算符中,不属于关系运算符的是(C )。A、 =C、 !D、 !=78、若定义int a10;则对a数

16、组元素的正确引用的有(D )。A. a10B. a5.5C. a(9)D. a5-579、已知字母A的ASCII值为65,且c2为字符型,则执行以下语句后,c2中的 值为(A )。printf( c,c2= A + 6 - 3);A、DB、68C、不确定的值 D、C80、能正确表示逻辑关系:“a0”的C语言表达式是(C )。A、 a0 B、 a0 C、 a0 D、 a081、字符串“Aabc”的长度为(C )。A、 1B、 5C、 4D、 682、下列程序段运行后,x的值是(D)。int a=1,b=0,x=4;if(a=0)+x;else if(b! =0)x=7;else x=13; TO

17、C o 1-5 h z A、 4B、 5C、 7D、 1383、设 a、b、c、d、m、n 均为 int 型变量,且 a=5、b=6、c=7、d=8、m=0、n=0, 则逻辑表达式(m=ad)运算后,表达式的值为(B )。A、0B、1C、2D、384、以下选项中,符合C语言标识符命名规则的是(B )。A、 Aa_!B、 abcC、 forD、 3a85、若希望当A的值为奇数时,表达式的值为真,A的值为偶数时,表达式的值为假,则以下不能满足要求的表达式是(C )。A、A%2= =1B、!(A%2= =0) C、!(A%2)D、A%286、以下程序段运行后,循环体执行(A)。int n=3;whi

18、le(n=0) n/=5;n-; printf( d”,n);A、0次 B、1次C、2次D、3次87、结构化程序设计语言的基本结构中不包括(D )。A、顺序结构B、选择结构 C、循环结构D、指针结构88、C语言程序中,主函数有(A)。A、1个B、可以一个都没有C、可以有多个D、2个89、设n=10,i=4,则赋值运算n%=i+1执行后,n的值是(A)。.A、 0B、 3C、 2D、 190、当x、y、z的值分别为3、4、5时,执行以下各语句:if(xz)x=y;y=z;z=x;else x=z;z=y;y=x;则x,y,z的值为(B)。10A、5 5 4 B、5 4 5 C、3 4 5D、5

19、4 491、下面有关for循环的正确描述是(D )。A、for循环只能用于循环次数已经确定的情况B、for循环是先执行循环体语句,后判定表达式C、在for循环中,不能用break语句跳出循环体D、for循环体语句中,可以包含多条语句,但要用花括号括起来92、以下不正确的叙述是(D)。A、在C程序中,逗号运算符的优先级最低B、在C程序中,APH和aph是两个不同的变量C、若变量a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中, 而b中的值不变D、当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能 输入实型数值93、关于C程序循环语句说法不正确的是(A )。A、只能构成

20、单个循环B、while语句中可以有continue语句C、可以进行多重循环嵌套D、for语句中可以有break语句94、一个C程序的执行是从( A )。A、本程序的main函数开始,到main函数的结束B、本程序文件的第一个函数开始,到本程序文件的最后一个函数的结束C、本程序文件的main开始,到本程序文件的最后一个函数的结束D、本程序文件的第一个函数开始,到本程序文件的main函数的结束95、下面不正确的字符串常量是( A )。A、abcB、1212C、0D、 96、有以下程序main()int x,i;for(i=1;i100;i+)x=i;if(x%2=0)if(x%3=0)if(x%7

21、=0)printf(%d ,x);)( B )。A、39 81B、42 84C、26 68D、28 7097、若有定义char array 口二CHINA;则数组array所占存储空间的字节数为11(C )。A、4B、5C、6D、798、以下能正确定义数组并正确赋初值的语句是(D )。A、int N=5,bNN;B、int a12 = 1,3;C、int c2 = 1,2,3,4;D、int d32 = 1,2,3,4;99、以下变量均为整型,则值不等于7的表达式是(C )。A、 (m=n=6,m+n,m+1)B、 (m=n=6,m+n,n+1)C、 (m=6,m+1,n=6,m+n)D、 (

22、m=6,m+1,n=m,n+1)100、以下(D)是八进制数。A、0 x12 二进制B、123 十进制C、1001十六进制D、0123101、以下程序的输出结果是(B )。main() int x=2,y=-1,z=2;if(xy)if(y21的值为 0,表达式123的值是 J。1315、定义 int a35 = 0,1,2,3,4,3,2,1,0,0;则初始化后 a11的 TOC o 1-5 h z 值是 2。16、表达式1331的值是 0。17、执行以下的程序段后,a=3, b= 3。int x=3,y=2,a,b,c;a=(x=y+)?x-:y+);b=x+;18、表达式(int)(7.

23、0/2.0)的值是 3。19、有表达a=(b=4) + (c=2),若a,b,c均是int型变量,则计算表达式后a的值为 6,b值为 4,c值为 2。20、在Turboc 2.0中,一个char型数据在内存中所占的字节数为1;一个float型数据在内存中所占的字节数为4。21、执行以下的程序段后,a= 4,x= 12。x=(a=4,6*2)22、结构化程序设计语言的三种基本结构是.顺序结构_、_选择结构_、_循环结构 。 23、条件“xW0或10 x10&x20。24、C提供的三种逻辑运算符是&, |,_!_。25、C程序的开发过程有编辑、编译.、-链接_、_运行_。26、程序的三种基本结构是

24、选择、 顺序 和循环结构。27、所有运算符中优先级最低的为 逗号 运算符。28、从用户使用角度看,函数分为两类:系统库 函数和 用户自定义函数。29、若x为int型变量,则执行以下语句后x的值是-16_。x=8;x+=x =x+x;。30、若x, y为int型变量,则表达式(y=6,y+1,x=y,x+1)的值是 7。四、读程序,写出运行结果1、以下程序的运行结果为(*#*#*#$ )。main() int i;for(i=1;i=5;i+) if(i%2!=0)printf( * );14 else continue;printf( # );printf( $n );2、运行结果为(4 )m

25、ain() char a;a= C -A+ 2; printf(cn” ,a);)3、运行结果为(132 )main() int i,m=0,n=0,k=0;for(i=9;i=11;i+)switch(i/10) case 0: m+; n+; break; case 10: n+; break;default: k+; n+;)printf(d%d%dn,m,n,k);)4、运行结果为(A+B=9)plus(int x, int y) int z;z=x+y;return(z);)main() int a=4,b=5,c ;c=plus(a,b);printf(A+B=%dn”,c);)5

26、、以下程序的运行结果为(3 )。main() int x=100,a=10,b=20;int v1=5,v2=0;if(ab)15if(b!=15)if(v1= =0)x=1;elseif(v2!=0) x=10;x=3;printf(d,x);)6、以下程序的运行结果为(Fail!)。main() int score=2;switch(score) case 3:printf(Pass!”);case 2:printf(Fail!”) ; break;default : printf(data error!”) ;)7、若运行以下程序时,则下面程序的运行结果是(4,10 )。#include

27、 main()int a,b;for(a=1,b=1;a=10)break;if(b%3=1)b+=3;continue;)b=b+5;)printf(%d,%dn”, a,b);)8、运行结果为(741 )。main() int i, a10;for(i=9;i=0;i-) ai=10-i;printf(%d%d%d”,a3,a6,a9);)169、运行结果为(mo )#include main() char a= morning,t;int i,j=0;for(i=1;i7;i+)if(ajai) j=i;t=aj;aj=a7;a7=aj;printf( %s ,a);)10、运行结果为(

28、4,13)。main( ) int a,b;for(a=1,b=1; a=10) break;if(b%4= =1) b+=4;continue; )b=b-5;)printf(%d,%dn,a,b) ;)11、运行结果为30。main( ) int a33 = 1,2,9,3,4,8,5,6,7,i,s=0;for(i=0; ib)if(b0) c=0;else c+;printf(%dn”,c);)16、以下程序的运行结果为(13,4)。main()int x,y;for(y=1,x=1;y=10)break;if (x%2=1) x+=4; continue;18x+=3;)printf

29、( d,%d,x,y);)17、运行结果为30。sub(int x,int y)(return x+y;)main() int x1=10,x2=20,t;t=sub(x1,x2);printf(%dn,t);)18、运行结果为(3 )。main()(int a=1,b=3,c=5,d=5;if(ab)if(cd) x=1;elseif(ac)x=3;x=4;x=3;x=4;elseelse x=5;else x=6;printf(%dn, x);)19、运行结果为(200 )。sub(int x,int y) return x*y ;main() int x1=10,x2=20,t;19t=

30、sub(x1,x2);printf(%d n,t);)20、以下程序的运行结果为(15 )。main() int i,a33 = 1,2,3,4,5,6,7,8,9 ,s=0;for(i=0;i3;i+)s=s+ai2-i;printf(%d,,s );)21、运行结果为(12)。main()int a33 = 1,2,9,3,4,8,5,6,7,i,s=0;for(i=0;i3;i+)s=s+aii;printf(%dn,s) ; )22、运行结果为(10,20 )。sub(int x,int y) int t;t=x; x=y; y=t; main() int x1=10,x2=20;su

31、b(x1,x2);printf(%d,%dn,x1,x2);23、运行结果为(5,3,4 )。main() int a=4,b=3,c=5,t=0;if(ab)t=a;a=b;b=t;if(ac)t=a;a=c;c=t;printf(d,%d,%dn,a,b,c);五、编写下列程序1、有一个数列前三项分别为1,2,3,从第四项开始为前三项之和,如1, 2, 3,6, 11,20,求出这个数列前15项。#includestdio.hmain()20(int i,f1=1,f2=2,f3=3;printf(6d%6d%6dn,f1,f2,f3); for(i=1;ib)max=a;else max=b;if(maxc)printf(max=%dn,max);else printf(max=%dn,c); )有一函数:.- x(x0)y= . 3x+2(xN0)请编写一个程序,输入x,输出y值。

温馨提示

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

评论

0/150

提交评论