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

下载本文档

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

文档简介

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 、 7 B 、 6 C 、5D 、43、以下四组选项中,不合法的用户标识符的选项是D A、 P_0B 、_AC 、 temp_123D 、 b-a4、假设 x 、 i、 j 和 k 都是 int型变量,

2、那么计算下面表达式后,x 的值为 ( C )x=(i=4 ,j=16, k=32)A、 4 B、 16 C、 32D 、 525、以下选项中哪个是合法的标识符 ( B ) 。A、 intB 、 _a2 C 、 b# D 、 7b6以下选项定义了整型变量 a和b,并为这两个变量赋初值为5,不正确的语句是( B ) 。、 int a=b=5;、 int a=5,b;A、int a=5,b=5;BC、 int a,b;Da=5;b=5;b=5;7、假设变量已正确定义并赋值,下面不符合C语言语法的表达式是AA、a=a+7; B 、 a=7+b+c,a+ C 、 int 12.3%4 D 、 a=a+7

3、=a+b8、执行下面的程序时假设从键盘上输入6,那么输出结果是 ( C )。main() int x;scanf(%d,&x);if(x-5) printf(%dn,x);else printf(%dn,+x); A 、7B 、6C 、 9、设有程序段 int k=10; while(k=0) k=k-1; 那么下面描述中正确的选项是 ( B ) 。A、while 循环 10 次B、 循环体一次也不执行C、 循环是无限循环D、 循环体只执行一次10、以下对数组的定义方式哪个是正确的? ( A )A、 #define size 10B、 int n=2;int asize ;int an;C、

4、char name(-10);D、 float 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+;case 1: a+;case 2: a+;b+;printf( “a=%d,b=%dn,a,b);A、a=2,b=1B 、 a=1,b=1 C 、 a=1,b=0 D 、 a=2,b=213、以下字符中,ASCH码值最小的是(A )。A

5、、AB、 a C 、 Z D、 x14、设 a、 b 和 c 都是 int 型变量,且 a=3,b=4,c=5; 那么以下的表达式中,值为 1 的表达式是: C A、!c&1 B 、 a=b C 、 !a|b+c&b-c D 、 !a|!b15、 设有定义 int a,b; 当执行 scanf( “%d,%d,&a,&b); 语句时,假设要求 a、 b 的值分别为 2、 3,那么正确的输入格式为 ( D )。A、a=2,b=3 B 、 a=2 b=3 C 、 2 3 D 、 2,316、假设有定义 int i=3,j=3; printf(%d, %d,+i ,j+);其运行结果为( A )。A

6、、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); else scanf(“%d ,&y) ;D、if(xb23、设 int n=3 ;那么有表达式 +n, n 的结果是 ( C )。A、 2B 、 3 C 、 424、 从循环体内某一层跳出,继续执行循环外的语句是( A ) 。A、 break 语句B、 return 语句C、 continue 语句D 、 空语句25、下面 for 循环的正确描述是 ( A )。A、for 循环体语句中

7、,可以包含多条语句,但必须用花括号括起来B、for 循环只能用于循环次数已经确定的情况,不能用于无限循环C、for 循环是先执行循环体语句后判断表达式D在for循环中,不能用break语句结束循环26、 以下实型常量用指数形式表示正确的选项是( A ) 。A、 123E2 B 、 .e4 C 、 e-5 D 、 27、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、执行以下语句后输出结果是 (

8、C )。int i,x33=1,2,3,4,5,6,7,8,9;for(i=0;ib &(n=cd)后 n 的值(D )。A、 1 B 、 2 C 、 3 D 、 030、C语言中while和do-while循环的主要区别是(A )。A、do-while 的循环体至少无条件执行一次B、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、

9、 x=7,y=8,z=7BC、 x=8,y=9,z=7D51、执行以下程序段后的输出结果是 (main() int n=3;while(n- -!= 0);printf( “%dn,n) ;A、 0 B 、 1?、 x=7,y=9,z=7、 x=8,y=9,z=8C )。C 、 -1D 、 死循环52、逻辑运算符两侧运算对象的数据类型是 ( D )。A、只是0或1B、只能是0或非0正数C、 只能是整型或字符型数据 D 、 可以是任何合法的数据类型53、下面能正确表示八进制数的是 ( D )A 0x16B 029C -114D 、03354、C语言中主函数的个数是A 。A、1B、2C、3D、任意

10、个55、以下描述中正确的选项是D 。B、C、56、while、do-while、for循环中的循环体语句都至少被执行一次 do-while循环中,while表达式后面的分号可以省略 while循环体中,一定要有能使 while后面表达式的值变为 do-while循环中,根据情况可以省略 while下面正确的字符常量是B “假的操作57、abcB 、aC以下实型常量用指数形式表示正确的选项是aab2A .e6 B 、123E458、以下程序的输出结果是(C 、e-6(B )。B )。、mai n() int i, a10;for(i=9 ; i=0 ;i-) ai=10-iprin tf(%d%

11、d%d,a3,a 6 ,a9)258B 、74185236959、设有以下程序段,那么下面描述中正确的选项是int k=2;whilek=0 k=k-1;A、while循环2次B、循环体一次也不执行C、循环是无限循环D、循环体只执行一次60、 以下实型常量用指数形式表示正确的选项是B 。A 3E B 、1.23E4 C 、E D 、61、设x,y和z均为int型变量,那么执行语句“ x=y=z=10+5-5;后,x,y和z的值是A 。Ax=10B、x=10C、x=10Dy=15y=10y=10y=5z=10z=10z=15z=1062、以下程序的输出结果是(D )。mai n()x=10 in

12、t x=5 , y=5;printf(“%d,%dn ,-x ,y+) ;A、 4 ,6B、 6 , 5C 、 5 ,5D、 4 ,563、假设用数组名作为函数调用的实参,传递给形参的是A A、数组的地址B、数组中第一个元素的值C、数组中的全部元素的值D、数组元素的个数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=

13、3,z=1D、 x=2 , y=3,z=266、以下表达正确的选项是 ( C )。A、在C程序中main函数必须位于程序的最前面B、C 程序的每行中只能写一条语句C、C 语言本身没有输入输出语句,输入输出需要调用库函数D 在对一个C程序进行编译的过程中,可发现注释中的拼写错误67、各变量的类型说明如下:int k,a,b;unsigned long w=5;double x=1.42;那么以下不符合 C 语言语法的表达式是 A 。A、 x%(-3) B 、 w+=-2C 、 k=(a=2,b=3,a+b)D、a+=a-=(b=4*3)68、设有定义 int a,b; 当执行 scanf( “%

14、d, %d,&a,&b); 语句时,假设要求 a、b 的值分别为3 、5 ,那么正确的输入格式为 ( C)。A、 a=3,b=5B 、 a=3 b=5 C 、 3,5D、3 569、判断 char 型变量 ch 是否为小写字母的正确表达式是 ( C) 。A、 a=ch=a)&(ch=a)&(ch=z)D、 (a= ch)70、 以下选项中,正确的字符常量是C 。A、“ F B 、 C、 W D 、71、以下说法中正确的选项是 C 。A、C语言程序总是从第一个定义的函数开始执行。B、在C语言程序中,要调用的函数必须在 main()函数中定义C、C 语言程序总是从 main() 函数开始执行D C

15、语言程序中的main()函数必须放在程序的开始局部72、以下程序的运行结果是 ( A )。main() int k=4,a=3,b=2,c=1;printf( “%dn,ka?k:cb?c:a);A、 1 B 、 2 C 、 3 D 、 473、以下选项中可作为C语言合法整数的是C 。A、 10110BB 、 0386 C 、 0xffa D 、 x2a274、以下表达错误的选项是 ( D )。A、一个C源程序可由一个或多个函数组成。B、一个C源程序必须包含一个 main函数。C、C程序的根本组成单兀是函数。D在C程序中,注释说明只能位于一条语句的后面。75、以下运算符中优先级最低的是 A A

16、、 ? :B 、 & C 、 + D 、 !=76、 设有定义 int a,b; 当执行 scanf( “%d %d,&a,&b); 语句时,假设要求 a、 b 的值分别为 12、 24,那么正确的输入格式为 ( D )。A、 a=12,b=24 B 、 a=12 b=24 C 、 12,24 D 、 12 2477、 以下运算符中 , 不属于关系运算符的是C 。A、 = C 、 ! D 、 ! =78、假设定义int a10;那么对a数组元素的正确引用的有D 丨。Aa10B a5.5 C a(9) Da5-579、 字母A的ASCH值为65,且c2为字符型,那么执行以下语句后,c2中的值为

17、A 。 printf( “%c,c2= A+6-3);A、 D B 、 68 C 、不确定的值 D 、 C80、 能正确表示逻辑关系:“a 0的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;A、 4B、 5C、7D、 1383、设 a 、 b、 c、 d、 m、n 均为 int型变量,且 a=5 、 b=6、c=7、 d=8、 m=0、 n=0,那么

18、逻辑表达式 (m=ad)运算后,表达式的值为( B )。A、 0B、1C、2D、 384、以下选项中,符合C 语言标识符命名规那么的是B。A、 Aa_!B 、 abcC、forD、 3a85、假设希望当 A 的值为奇数时 , 表达式的值为真 ,A 的值为偶数时 , 表达式的值 为假, 那么以下不能满足要求的表达式是 C 。A、A%2= =1 B 、!(A%2= =0) C 、!(A%2) D 、A%2 86、以下程序段运行后,循环体执行 A 。int n=3;while(n=0) n/=5;n-; printf( “ %d,n);A 0次 B 、1次 C 、2次 D 、3次87、 结构化程序设

19、计语言的根本结构中不包括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。A、 5 5 4B 、 5 4 5C、 3 4 5 D、 5 4 491、下面有关 for 循环的正确描述是 D A、for 循环只能用于循

20、环次数已经确定的情况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、只能构成单个循环B 、while语句中可以有continue语句C、可以进

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

22、 81B 、 42 84C、26 68D 、 28 7097、假设有定义 char array=CHINA; ( C )。那么数组 array 所占存储空间的字节数为A、 4 B 、 5 C 、 6 D98、 以下能正确定义数组并正确赋初值的语句是( D )A、 int N=5,bNN;C、 int c2=1,2,3,4;、7B、 int a12=1,3;D、 int d32= 1,2,3,4;C 。99、以下变量均为整型,那么值不等于 7 的表达式是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 、 (m=6,m+1,n

23、=m,n+1)100、以下 ( D ) 是八进制数。A、 0x12 二进制 B 、 123 十进制D、0123、1001 十六进制101、以下程序的输出结果是 ( B ) 。main() int x=2,y=-1,z=2; if(xy)if(y21的值为 0,表达式123的值是/。;那么初始化后a11的15、定义 int a35=0,1,2,3,4,3,2,1,0,0值是 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.0/2.0)的值是。19

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

25、和循环结构。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、以下程序的运行结果为(*#*#*#$ )。mai n() int i;for(i=1;i=5;i+) if(i%2!=0)pri ntf(“ * );else con ti nue;printf( “ #);printf( “$n ); 2、运行结果为 (

26、 4 )main() 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

27、(A+B=%dn,c);5、以下程序的运行结果为 ( 3 ) 。 main() int x=100,a=10,b=20 ;int v1=5,v2=0 ;if(ab)if(b!=15)if(v 仁=0) x=1elseif(v2!=0) x=10x=3;printf( “ %d ,x);6以下程序的运行结果为(Fail!) mai n() int score=2;“Pass!);“Fail! ); break ;“data error! );(4,10 ) oswitch(score)7、假设运行以下程序时,那么下面程序的运行结果是 case 3: printf( case 2: printf(

28、 default : printf(#in clude mai n()int a,b; for(a=1,b=1;a=10)break; if(b%3=1)b+=3;con ti nue;b=b+5;printf(%d , %dn, a,b);8、运行结果为(741 )。mai n() int i, a10;for(i=9;i=0;i-) ai=10-i; prin tf(%d%d%d,a3,a6,a9);9、运行结果为(mo )#i nclude mai n() char a=“ morning ,t;int i,j=0;for(i=1;i7;i+)if(ajai) j=i;t=aj;aj=a

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

30、con ti nu e;x+=3;printf( “d,%d ,x,y);17、 运行结果为30。sub(i nt x,i nt y)retur n x+y;main () int x1=10,x2=20,t;t=sub(x1,x2);prin tf(%dn,t);18、运行结果为(3 )。mai n()int a=1,b=3,c=5,d=5;if(ab)if(cd) x=1;elsex=3;x=4;if(ac) if(bd) elseelse x=5; else x=6;prin tf(%dn, x) ;19、运行结果为(200 )。sub(i nt x,i nt y) return x*y

31、 ; mai n() int x1=10,x2=20,t;t=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=

32、x; x=y; y=t; main() int x1=10,x2=20;sub(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.h main()int i,f1=1,f2=2,f3=3;prin tf(%6d%6d%6dn,f1,f2,f3); for(i=1;ib)max=a;else max=b;if(maxc)pri ntf(max=%dn,max); else prin tf(max=%dn,c);v 0) 0)3、有一函数:x(xy= n

温馨提示

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

评论

0/150

提交评论