C语言基础练习100题(含答案_第1页
C语言基础练习100题(含答案_第2页
C语言基础练习100题(含答案_第3页
C语言基础练习100题(含答案_第4页
C语言基础练习100题(含答案_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

1、C语言基础练习100题(含答案)雷柳青编排1、下面程序的输出是#in cludevoid mai n() int k=11;prin tf(k=%d,k=%o,k=%xn,k,k,k);A) k=11,k=12,k=11B) k=11,k=13,k=13C) k=11,k=013,k=0xbD) k=11,k=13,k=b2、 在下列选项中,不正确的赋值语句是.A) +t;B) n 1=( n2=( n3=0);C) k=i=j; D) a=b+c=1;3、 下面合法的C语言字符常量是 .A) tB) AC) 65D) A4、 字符(char)型数据在微机内存中的存储形式是 .A)反码 B)补

2、码C) EBCDIC?D) ASCI 码5、设int a=12则执行完语句a+=a-=a*a后,a的值是A) 552B) ) 144D) -2646、 执行下面程序中的输出语句后,输出结果是.#in cludevoid mai n()int a;prin tf(%dn,(a=3*5,a*4,a+5);A) 65B) ) 15D) 107、下面程序的输出是.#in cludevoid mai n()int x=023;prin tf(%dn,-x);A) 17B) ) 23D) 24&下面程序的输出是.#in cludevoid mai n()char ch1,ch2;ch1=A+5-3;ch2

3、=A+6-3;prin tf(%d,%cn,ch1,ch2);A) 67,D B) B,C C) C,D D)不确定的值9、以下程序的输出结果是 .#in cludevoid mai n() int x=10,y=10;prin tf(%d %dn,x-,-y);A) 10 10B) 9 ) 9 10 D) 10 90、若x和y都是int型变量,x=100,y=200且有下面的程序片段prin tf(%d,(x,y);上面程序片段的输出结果是.A) 200B)100C) 100 200 D)输出格式符不够,输出不确定的值1、阅读下面的程序#in cludevoid mai n()int i,j

4、;i=010;j=9;prin tf(%d,%d,i-j,i+j);则程序的运行结果是.A) 1,19B) -1,) 1,17D) -1,172、阅读下面的程序#in cludevoid mai n()int i,j,m, n;i=8;j=10;m=+i;n=j+;prin tf(%d,%d,%d,%d,i,j,m, n);程序的运行结果是.A) 8,10,8,10B) 9,11,8,10C) 9,11,9,10D) 9,10,9,113、若已定义int a,则表达式a=10,a+10,a+勺值是A) 20B) ) 21D) 114、阅读下面的程序#in cludevoid mai n()11

5、 / 37int i,j;sea nf(%3d%2d, & i,&j);prin tf(i=%d,j=%dn,i,j);如果从键盘上输入1234567V回车,则程序的运行结果是A) i=123,j=4567B) i=1234,j=567C) i=1,j=2D) i=123,j=455、 下面程序的输出结果是 .#in cludevoidmai n()int a=-1, b=4, k;k=(+a=0)&(b-v=0);prin tf(%d,%d,%dn,k,a,b);A) 1,1,2 B) 1,0,) 0,1,2 D) 0,0,36、 下面程序的输出结果是 .#in cludevoid mai

6、n()int a=5,b=3;float x=3.14, y=6.5;prin tf(%d,%dn,a+b!二a-b,x=(y-=6.1);A) 1,0B) 0,) 1,1D) 0,07、若有以下定义和语句:int a=010, b=0x10, c=10;prin tf(%d,%d,%dn ,a,b,c);则输出结果是.A) 10,10,10 B) 8,16,) 8,10,10 D) 8,8,10& 已知有double型变量x=2.5,y=4.7整型变量a=7,则表达式 x+a%3*(int)(x+y)%2/4 的值是.A) 2.4B) ) 2.75D) 09、设有以下语句:int x=10;

7、x+=3+x%3则x的值是.A)14B) 11D)120、若d为double型变量,则表达式d=1,d+5,d+的值是.A) 1B) ) 2.0D) 1.01、若有定义int a=12,n=5则表达式a%=(n%2运算后,a的值.A)0B) 12D)62、若有定义 int x=3,y=2 和 float a=2.5,b=3.5则表达式:(x+y)%2+(int)a/(int)b的值是.A) 0B) ) 1.5D) 13、 在C语言中,以下叙述不正确的是 .A)在C程序中,无论是整数还是实数,都能被准确无误的表示B)在C程序中,变量名代表存储器中的一个位置C)静态变量的生存期与整个程序的生存期相

8、同D)C语言中变量必须先定义后引用4、 设a为整型变量,不能正确表达数学关系10a15的C语言表达式是A) 10a10&a15D) !(a=15)5、 如果c为字符型变量,判断c是否为空格不能使用 假设已知空格ASCI码为32)A) if(c=32)B) if(c=32)C) if(c=40)D) if(c=)6、执行下面程序时,若从键盘输入2,则程序的运行结果是 #i nclude void mai n() int k; char cp;cp=getchar();if (cp=0 & cpv=9)k=cp-O:else if (cp=a & cp=f)k=cp-a+10;else k=cp-

9、A+10;prin tf(%dn,k);A) 2B) 1D)107、执行下面程序后,运行结果是.#in clude void mai n() int x=41,y=1;if (x%3=0 & x%7=0) y+=x;pri ntf(y=%dn,y);elsey=x;pri ntf(y=%d,y);A) y=41 B) y=) y=42 D) y=1&运行下面程序时,从键盘输入12,34,9则输出结果是 #in clude void mai n() int x,y, z;sca nf(%d,%d,%d, &x,&y,&z);if (xy)if (yz)pri ntf(%dn,z);else pr

10、in tf(%dn,y);else if (xvz)pri ntf(%dn,z);else prin tf(%dn,x);A) 34B) ) 9D)不确定的值9、运行下面程序时,从键盘输入字母H,则输出结果是 #in clude void mai n() char ch;ch=getchar();switch(ch) case H:pri ntf(Hello!n);case G:pri ntf(Good morni ng!n);default:pri ntf(Bye_Bye!n);A) Hello!B) Hello!Good Morni ng!C) Hello!D) Hello!Good mo

11、rni ng!Bye_Bye!Bye_Bye!0、执行下列程序段后的输出结果是 .int x=1,y=1,z=1;x+=y+=z;prin tf(%dn,x=A & chv二Z)?ch+32:ch的值是.A) ZB) aC) zD) A2、下面程序的输出结果是 .#i nclude void mai n() int x=8,y=-7,z=9;if (xy)if (y0) z=0;else z-=1;prin tf(%dn,z);A) 8B) ) 9D) 03、 运行下面程序时,若从键盘输入3,4 则程序的输出结果是#i nclude void mai n() int a,b,s;sea nf(

12、%d,%d, &a,&b);s=a;if (sb) s=b;s=s*s;prin tf(%dn,s);A) 14B) ) 18D) 204、下列程序的执行结果是 #in elude void mai n() int x=0,y=1,z=0;if (x=z=y)x=3;prin tf(%d,%dn,x,z);A) 3,0B) 0,) 0,1D) 3,15、能够完成如下函数计算的程序段是r-1x0A)y=1;B) if (x=0)if(x!=O)if(x0) y=1;if(x0) y=1;else y=0;else y=0;else y=-1;C) y=0;D) y=-i;if (x=0)if (

13、x0) y=1;if (x0) y=1;else y=0;else y=-1;6、以下程序的执行结果是#in clude void mai n() int x=1,y=0;switch (x)case 1:switch (y)case O:pr in tf(first n );break;case 1:pri ntf(sec on dn);break;case 2:pr in tf(thirdn);15/37A) firstB) firstsecondthirdC) firstD)secondthird7、以下程序的执行结果是.#in elude void mai n() int a,b,c,

14、d,x;a=c=0;b=1;d=20;if d=d-10;else if(!b)if (!c) x=15;else x=25;prin tf(d=%dn,d);A) d=20B) d=)d=15D) 25&下列程序执行后的输出结果是43 / 37#in elude void mai n() int x,y=1,z;if (z=y)0) x=4;else if (y=0) x=5;else x=6;prin tf(%d,%dn,x,y);A) 4,1B) 6,) 5,0 D)出错信息9、有如下程序#in elude void mai n() int x=1,a=0,b=0;switeh(x)ea

15、se 0: b+;ease 1: a+;ease 2: a+;b+;prin tf(a=%d,b=%dn,a,b);该程序的输出结果是.A) a=2,b=1 B) a=1,b=) a=1,b=0 D) a=2,b=20、下面程序的输出结果是 .#in elude void mai n() int a=-1,b=1,k;if (+a0) & (b-=0)prin tf(%d %dn,a,b);elseprin tf(%d %dn,b,a);A) -1 1B) 0 ) 1 0 D) 0 01、假定w、x、y、z、m均为int型变量,有如下程序段:w=1;x=2;y=3;z=4;m=(wx)?w:x

16、;m=(my)?m:y; m=(m100) pri ntf(%dn,a100);else prin tf(%dn,a=100);A) a=100 B) ) 0D) 13、 若执行下面的程序从键盘上输入9,则输出结果是.#in clude void mai n()int n;sca nf(%d,&n);if (n+10) prin tf(%dn, n);else prin tf(%dn, n-);A) 11B) ) 9D) 84、 以下程序段运行结果是.int x=1,y=1,z=-1;x+=y+=z;prin tf(%dn,xy?y:x);A) 1B) ) 4 D)不确定的值5、有以下程序#i

17、n clude void mai n() int a,b,c=246;a二c/100%9;b=(-1)&(-1);prin tf(%d,%dn,a,b);输出结果是.A) 2,1B) 3,) 4,3 D) 2,-16、运行下面程序时,若从键盘输入数据为123, 则输出结果是.#i nclude stdio.hvoid mai n() int nu m,i,j,k,place;sca nf(%d,&nu m);if (n um99)place=3;else if(num 9)place=2;elseplace=1;i=nu m/100;j=( num-i*100)/10;k=( nu m-i*1

18、00-j*10);switch (place)case 3: prin tf(%d%d%dn,k,j,i);break;case 2: prin tf(%d%dn,k,j);break;case 1: prin tf(%dn,k);A) 123B) 1,2,) 321 D) 3,2,17、执行下列程序后的输出结果是.#in elude void mai n() int k=4,a=3,b=2,c=1;prin tf(%dn,kva?k:cb?c:a);A) 4B) ) 2D) 1&以下条件表达式中能完全等价于条件表达式if(x)中的x的是A) (x=0) B) (x!=0) C) (x=1)

19、D) (x!=1)9、若运行下面程序时,给变量a输入15,则输出结果是.#in clude void mai n() int a,b;sea nf(%d, &a);b=a15?a+10:a-10;prin tf(%dn,b);A) 5B) ) 15 D) 100、执行下面程序的输出结果是 .#i nclude void mai n() int a=5,b=0,c=0;if (a=a+b) prin tf(* n);else printf(#n);A) 有语法错误不能编译B) 能通过编译,但不能通过连接C) 输出*D) 输出#1、为了避免嵌套的if-else语句的二义性,C语言规定else总是与

20、 成配对关系.A) 缩排位置相同的ifB) 在其之前未配对的ifC) 在其之前尚未配对的最近的ifD) 同一行上的if2、以下程序段.x=-1;dox=x*x; while (!x);A)是死循环B)循环执行两次C)循环执行一次D)有语法错误3、对下面程序段描述正确的是 int x=0,s=0;while (!x!=0) s+=+x;prin tf(%d,s);A) 运行程序段后输出0B) 运行程序段后输出1C) 程序段中的控制表达式是非法的D) 程序段循环无数次4、 下面程序段的输出结果是 .x=3;do y=x-;if (!y) pri ntf(*);co nti nue;prin tf(

21、#); while(x=2);A) # B) #* C)死循环D)输出错误信息5、 下面程序的运行结果是 .#in cludevoid mai n() int a=1,b=10;do b-=a;a+; while(b-vO);prin tf(%d,%dn,a,b);A) 3,11B) 2,) 1,-1D) 4,96、 下面程序段的运行结果是 .int n=0;while (n+=2)prin tf(%d, n);A) 012B) ) 234 D)错误信息7、 下面程序段的运行结果是 .int x=0,y=0;while (x15) y+,x+二+y;prin tf(%d,%d,y,x);A)

22、20,7B) 6,) 20,8&下面程序的运行结果是_#in cludevoid mai n() int s=0,i=1;while (s3;x-) if(x%3) x-;-x; -x;prin tf(%d ,x);A) 6 3B) 7 ) 6 20、下面程序的运行结果是D) 6D)8,20D) 7 3#in cludevoid mai n() int a,b;a=-1;b=0;do +a;+a;b+=a; while(a9);prin tf(%dn,b);A) 34B) ) 26D) 251、下面程序段的运行结果是for(i=1;i=5;)prin tf(%d,i);i+;A) 12345

23、B) ) 15 D)无限循环2、 下面程序的输出结果是 .#in cludevoid mai n() int n=4;while (n-) prin tf(%d ”,n-);A) 2 0 B) 3 ) 3 2 1 D) 2 1 03、以下程序运行后的输出结果是 #in cludevoid mai n() int i=10,j=0;do j=j+1; i-;while(i2);prin tf(%dn,j);A) 50B) ) 51D) 84、有如下程序#in cludevoid mai n() int x=23;do pri ntf(%d,x-);while(!x);该程序的执行结果是A) 32

24、1B) 23C)不输出任何内容D)陷入死循环5、 以下程序段的执行结果是 .int i,j,m=O;for(i=1;i=15;i+=4)for(j=3;jv=19;j+=4)m+;prin tf(%dn,m);A) 12 B) ) 20D) 256、 下面程序的输出结果是 .#in cludevoid mai n() int i;for(i=1;i6;i+) if (i%2!=0) pri ntf(#);co nti nue;prin tf(*);prin tf(n);A) #*#*#B) # C) *D) *#*#*7、下面程序的输出结果是 .#in cludevoid mai n() in

25、t x=10,y=10,i;for(i=0;x8;y=+i)prin tf(%d%d ,x-,y);A) 10 1 9 2B) 9 8 7 6C) 10 9 9 0D) 10 10 9 1&执行以下程序后,输出的结果是 #in cludevoid mai n() int y=10;do y-;while (-y);prin tf(%dn,y-);A) -1B) C) 8D) 09、有如下程序#in cludeD)9876D) 0void mai n() int n=9;while( n6) n-;pri ntf(%d, n);该程序段的输出结果是A) 987B) ) 87650、有如下程序#i

26、n cludevoid mai n() int i,sum=0;for(i=1;i=3;sum+) sum+=i;prin tf(%dn,sum);该程序的执行结果是A) 6B)死循环1、以下循环体的执行次数是#in cludevoid mai n() int i,j;for(i=0,j=1; i=j+1; i+=2, j-)prin tf(%d n,i);A) 3B) ) 1D) 02、 在执行以下程序时,如果从键盘上输入:ABCdef,则输出为#in elude void mai n() char ch;while (ch=getchar( )!=n) if (ch=A & ch=a &

27、chvz) ch二ch-32;prin tf(%c,ch);prin tf(n);A) ABCdef B) abcDEF C) abc D) DEF3、下面程序的输出结果是 .main ()int i,k=0, a=0, b=0;for(i=1;i=4;i+)k+;if (k%2=0) a二a+k; contin ue;b=b+k;a=a+k;prin tf(k=%d a=%d b=%dn,k,a,b);A) k=10 b=4 B) k=6 b=4C) k=10 b=3 D) k=10 b=44、执行下面程序段后,k的值是.int i,j,k;for(i=0,j=10;ij;i+,j-)k=i

28、+j;A) 9B) ) 8D) 105、以下程序的功能是:从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入。请填空。 #i ncludevoid mai n() float x,amax,am in;sca nf(%f, &x);amax=x;amin二x;while () if (xamax) amax=x;if () amin=x;sea nf(%f, &x);prin tf(namax二fnamin=%fn ”,amax,am in);A) x)x0D)x=0xam inxam in xam in6、阅读以下程序,程序运行后的输出结果是 #in clude

29、void mai n() int x;for(x=5;x0;x-)if (x-5) pri ntf(%d,x);else prin tf(%d,x+);A) 4,3,2 B) 4,3,1, C) 5,4,2 D) 5,3,1,7、 以下程序段的输出结果是 .int k,n ,m;n=10;m=1;k=1;while (k100) break;C) int k=1000;D) int s=36;do +k; while (k=1000);while (s) -s;1、下面程序的输出结果是 .#in clude void mai n() int i; for(i=1;i=0);A) 4B) ) 3

30、D) 23、若i为整型变量,则以下循环语句的循环次数是 _for(i=2;i= =0;)prin tf(%d,i-);A)无限次 B) 0次C) 1次D) 2次4、对于for(表达式1;表达式3)可理解为A) for(表达式1;0;表达式3)B) for(表达式1;1;表达式3)C) for(表达式1;表达式1;表达式3)D) for(表达式1;表达式3;表达式3)5、 合法的数组定义是 .A) int a6二stri ng;B) int a5=0,1,2,3,4,5;C) char a=stri ng; D) char a=0,1,2,3,4,5;6、给出以下定义:char x =abcde

31、fg;char y =a,b,c,d,e,f,g;则正确的叙述为.A) 数组x和数组y等价B) 数组x和数组y的长度相同C) 数组x的长度大于数组y的长度D) 数组x的长度小于数组y的长度7、定义如下变量和数组:int i;int x44=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16;则下面语句的输出结果是.for(i=0;i4;i+) pri ntf(%3d,xi3-i);A) 159 13B) 1 6 11 16C) 4 7 10 13D) 4 8 12 16&下面程序输出的结果是.#in clude void mai n() int i,j,x=0;sta

32、tic int a6=1,2,3,4,5,6;for(i=0,j=1;i5;+i,j+) x+=ai*aj;prin tf(%dn,x);A) 数组a中首尾的对应元素的乘积B) 数组a中首尾的对应元素的乘积之和C) 数组a中相邻各元素的乘积D) 数组a中相邻各元素的乘积之和9、若有以下说明:char s1 =tree,s2=flower;,则以下对数组元素或数组的输出语句中,正确的是 A) pri ntf(%s%s,s15,s27);B) pri ntf(%c%c,s1,s2);C) puts(s1);puts(s2); D) puts(s1,s2);0、运行下面程序段的输出结果是 .char s110=S,e,t,0,u,p,0;prin tf(%s,s1);A) SetB) Setup C) Set up D) Set1、以下程序段的输出结果是.char s =a n apple;prin tf(%dn,strle n(s);A) 7B)9D)102、若有说明:char c10=E,a,s,t,0;,则下述说法中正确的是A) c7不可引用B) c6可引用,但值不确定C) c4不可引用D) c4可引用,其值为空字符3、若

温馨提示

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

评论

0/150

提交评论