以下程序输出结果是( b )main()( int m=5;if(m++>5) printf("%dn",m);else printf("%dn",m--);
以下程序输出结果是( b )
main()
{ int m=5;
if(m++>5) printf("%d\n",m);
else printf("%d\n",m--);
A.
7 B.
6 C.
5 D.
4 E.
2以下程序的输出结果为( b ) F.
h> G.
in ( )=6;++;;}i=0, j=0, a=6i=1, j=1, a=7i=1, j=0, a=7i=0, j=1, a=73有如下程序in()=2,b=-1,c=2;<b)if(b<0) c=0;lse c++;\n",c);}该程序的输出结果是( c)1234若i为int型,且有程序如下,则输出结果是( c )i=111;if(i%3==0)printf("####");printf("****");####****####****无输出结果){int x, y;nf("%d", x);y=x>12 ? x+10:x-12;\n", y);}2212106以下程序的输出结果是( c )in(){ int i=0, j=0, k=6;if ((++i>0)||(++j>0)) k++;\n", i, j, k);}0, 0, 61, 0, 71, 1, 70, 1, 77若变量都已正确说明,则以下程序段[1]输出为( c )=1,b=2,c=3;>b)=b;=c;;=%d=%d=%d\n",a,b,c);a=1 b=2 c=1a=1 b=2 c=3a=1 b=3 c=1a=2 b=3 c=2=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是()<b)if(c<d)x=1;lse<c)if(b<d)x=2;lse x=3;lse x=6;lse x=7;12369以下不正确的语句为( b )if(x>y);if(x==y)(x!=0)x+=y;if(x!=y)scanf("%d",x);else scanf("%d",y);if(x<y){x++;y++;}10有以下程序:h"in( )r i;r ())!='\n';)')se 0: putchar (i);se 1: putchar (i+1);break;se 2: putchar (i+2);se 3:reak;ult: putchar (i);break;}}\n");}输入下列数据后,程序的输出结果是( b )bcde<CR>abcdeabceeabbdeabccddc1、c2、x、y、均是整型变量,正确的switch语句是( a )switch(a+b);switch(a*a+b*b)se 1:y=a+b;reak;ase 1:y=a+b; break; {case 3:se 0:y=a-b;reak;ase 1:y=a+b;break;se 3:y=b-a,break;}switch aswitch(a-b)se 1 :y=a-b;rease 1 :y=a-b; break {se 2: x=a*d;reakase c1:case 4:x=a+b;break;ult:x=a+b; case c2:case 11:y=a-b;break;ult:y=a*b;break;}12写出下面程序输出结果( d )=0,=0;h(x)se 1:h(y)se 0: a++;se 1:++; }se 2: a++;++;}=%d, b=%d\n", a,;}a=2, b=1a=1, b=1 C) a=1, b=0 D) a=2, b=2)不可省略。但当三个表达式均省略后,因缺少判断条件,循环会无限制地进行下去,形成死循环。<++;,14下面有关for循环的正确描述是(d )。for循环只能用于循环次数已经确定的情况for循环是先执行循环体语句,后判定表达式在for循环中,不能用break语句跳出循环体for循环体语句中,可以包含多条语句,但要用花括号括起来15以下程序段( d )。x=-1;o{ x=x*x;}hile(!x)是死循环循环执行2次循环执行一次有语法错误[2]rray占用的内存空间是()个字节。r array[]={'c','h','i','n','a'};156不确定17设有程序段int k=10;hile(k=0) k=k-1;则下面描述正确的是( c )。while 循环执行10次循环是无限循环循环体语句一次也不执行循环体语句执行一次18下列程序段的运行结果是( d )int n=0;hile(n++<3);printf("%d",n)234以上都不对19设有程序段t=0;hile(printf("*"));{ t++;reak;}下面描述正确的是( c )。其中循环控制表达式与0等价其中循环控制表达式与'0'等价其中循环控制表达式是不合法的以上说法都不对20下面程序的运行结果是( d )。h>in(){ int y=10;hile(--y);\n",y--);}-118).in(){ int i=5;or ( ;i<=15; ){ i++;if (i%4==0) printf("%d ",i);lse continue;}}8 12 168 1212 168)。for(y=0,x=1;x>++y;x=i++) i=x;for( ; ;x++=i);while(1){x++;}for(i=10; ; i--) sum+=i;23有如下语句int x=3;o\n",x-=2);} while(!(--x));则上面程序段( b )输出的是1输出的是1和-2输出的是3和0是死循环)for(y=0,x=1;x>++y;x=i++) i=x;for( ; ;x++=i);while(1) x++;for(i=10; ;i--) s+=i;25以下正确的描述是( b )。continue语句的作用是结束整个循环的执行只能在循环体内和switch语句内使用break语句在循环体内使用break语句或continue语句的作用相同从多层循环嵌套中退出时,只能使用goto语句26以下程序输出结果为( d )h"in(){int i,b,k=0;or(i=1;i<=5;i++){ b=i%2;hile (b-->=0) k++;}\n",k,b);}3,-18,-13,08,-2)int i,j;or(i=7;i;i--)or(j=0;j<6;j++){......}4221133628以下不正确的描述是( b )break 语句不能用于循环语句和switch语句外的任何其他语句在switch语句中使用break语句或continue语句的作用相同在循环语句中使用continue语句是为了结束本次循环,而不是终止整个循环的执行在循环语句中使用break语句是为了使流程跳出循环体,提前结束循环1else语句总是和靠它最近的if匹配。 错ult分支 错se后只能跟常量[3],不能跟变量 对k语句的作用就是结束本层循环。 错hile语句构成的循环不能用其它语句构成的循环来代替。 对hile语句构成循环时,只要while后的表达式为0时就结束循环。 错7for(表达式1;表达式2;表达式3)中,表达式1和表达式3不能同时都是逗号表达式。 错8for循环中,如果表达式2为空,则该循环一定是死循环。 错hile循环的while()后没有分号,而do-while循环的while()后一定要有一个分号。错10for(i=0,j=10;i<=j;i++,j--) k=i+j;执行完后,k的值为50。 错b均为int型变量,且a=100,则以下的for循环是死循环. 错!=b;++a,b++) printf("----\n");执行语句:for(i=1;i++<4;++i);后;变量i的值是5。 错[ 1 1 ]in(){int x,y,z;x=1;y=2;z=3;x=y--<=x||x+y!=z;printf("%d,%d",x,y);}[ 1 0 ]in(){int x,y,z;x=1;y=1;z=0;x=x||yz;printf("%d,%d",x,x!y||z);}[ 2 0 随机值 ]in(),b,c;int s,w=0,t;=-1;b=3;c=3;+b;<=0){if(b>0)-b;}-b;lse t=c;\n",s,w,t);}5阅读下面程序:in(),;nf("%d%d",a, b);s=1;t=1;>0) s=s+1;>b) t=s+t;==b) t=5;lse t=2*s;printf("s=%d, t=%d", s, t);}和b应满足的条件是[a<ba>0 ]7下面程序的功能是在输入的一批整数中求出最大者,输入0结束循环。in(),max=0;[ a ]){ if (max<a) max=a;;}x);}[ 36 ]。k=1; n=263;hile(n);=2,公差d=3,下面程序的功能是在前n项和中,输出能被4整除的所有的和。请填空。h>in(),d,sum;=2;d=3;sum=0;o;+=d;[sum%4==0]) printf("%d\n",sum);hile(sum<200);}10鸡兔共有30只,脚共有90个,下面程序段是计算鸡兔各有多少只,请填空。or(x=1;x<=29;x++){ y=30-x;[x*4+y*2==90]) printf("%d,%d\n",x,y);}[ 7 ]。h>in ( )=14,=63;!=b)>b) a-=b;<b)-=a;}\n",a);}[6 ]。h>in(){int i,j,x=0;or(i=0;i<3;i++)reak;x++;or(j=0;j<4;j++)reak;x++;}x++;}\n",x);}语言(分支和循环结构)二以下程序的输出结果是( c )in( )=-1,b=1,k;<0)!(b--<=0))\n",a,b);lse\n",b,a);}-1 10 11 00 0)if (x>0) y=1;if(x)lse if(x<0)y=-1; if(x>0)y=1;lse y=0; else if(x<0)y=-1;lse y=0;y=-1y=0;if(x) if(x>=0)if(x>0)y=1; if(x>0)y=1;lse if(x==0)y=0; else y=-1;lse y=-1;若执行以下程序时从键盘上输入9,则输出结果是( c )in(){ int n;nf("%d",n);\n",n);\n",n--);}111098若i为int型,且有程序如下,则输出结果是( c )i=111;if(i%3==0);printf("####");printf("****");####****####****无输出结果请读下面程序:)。k=8567;\n",k);输出格式描述不合法输出为|008567|输出为|8567|输出为|-08567|t)是()。一个双精度[4]表达式一个整型表达式一种函数调用[5]一个不合法的表达式语言中, int、char和short三种类型数据在内存中所占用的字节数()。由用户自己定义均为2个字节是任意的由所用机器的机器字长决定r型变量c1是否为小写字母的正确表达式为 ( D )。(c1>=A. (c1<='z')('a'>=c1)||('z'<=c1)(c1>='a')(c1<='z'))。a是实型变量,C语言允许进行以下赋值a=10,因此可以这样说:实型变量中允许存放整型值在赋值表达式中,赋值号右边即可以是变量也可以是任意表达式执行表达式a=b后,在内存中a和b存储单元[6]中的原有值都将被改变,a的值已由原值改变为b的值,b的值由原值变为0已有a=3,b=5当执行了表达式a=b,b=a之后,已使a中的值为5,b中的值为3)。intfloat C)double D)不确定)。<> =!! =in(){int x=1, y=2, z=3;x+=y+=z;\t", x<y ? y : x);\t", x<y ? x++:y++);}程序输出结果为( d )5 44 5 C) 5 6 D) 6 5语言的if语句中,用作判断的表达式为()关系表达式逻辑表达式算术表达式任意表达式若变量都已正确说明,则以下程序段输出为( d )=1,b=2,c,d;=b) c=d=a;lse c=b;d=b;printf("%d,%d",c,d);c=1,d=1c=1,d=2c=2,d=1c=2,d=2以下程序的输出结果是( d )in()=100,x=10,y=20,a1=5,a2=0if(x<y)if(y !=10)1) a=1;lse2) a=10;=-1;\n",a)110-1)w=1;x=2;y=3; z=4;m=(w<x)?w:x;m=(m<y)?m:y;m=(m<z)?m:z;1234t w; int a,; 则合法的switch语句是()switch(a);se 1.0: printf("*\n"); { case 1 printf("*\n");se 2.0: printf("**\n"); case 2 printf("**\n");} }switch(b)switch(a+b);se 1: printf("*\n"); { case 1: printf("*\n");ult: printf("\n"); case 2: printf("**\n");se 1+2: printf("**\n"); default: printf("\n");} },以下程序的运行结果为 ()in()r grade;nf("%c", grade);de)se 'A': printf(">=85");se '':se 'C': printf(">=60");se 'D': printf("<60");ult: printf("error.");}}>=85>=60>=60rror.<60rror.选择出i的正确结果( d )int i=10;h(i){se 9: i++;se 10: i+=1;se 11:i++;ult: i+=1;}1011 C) 12 D) 13语言的do_while循环中,循环由do开始,用while结束;而且在while表达式后面的( b)_while循环的结束。\n;%,以下程序的输出结果是( b )。h>in(){int num=0;hile(num<=2){num++;\n",num);}}1111