您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > C语言上机题库百科园第3章!南信大!
第三章1.为表示关系x≥y≥z,应使用的表达式是A.(x=y)&&(y=z)B.(x=y=z)C.(x=y)AND(y=z)D.(x=y)&(y=z)2.有以下程序main(){inti;for(i=0;i3;i++)switch(i){case1:printf(%d,i);case2:printf(%d,i);default:printf(%d,i);}}执行后输出结果是A.011122B.120C.012020D.0123.对for(表达式1;;表达式3)可理解为()。A.for(表达式1;1;表达式3)B.for(表达式1;0;表达式3)C.for(表达式1;表达式1;表达式3)D.for(表达式1;表达式3;表达式3)4.若i为整型变量,则以下循环执行次数是()。for(i=2;i==0;)printf(%d,i--);A.0次B.1次C.无限次D.2次5.有以下程序段intn=0,p;do{scanf(%d,&p);n++;}while(p!=12345&&n3);此处do-while循环的结束条件是______。A.p的值等于12345并且n的值大于等于3B.p的值不等于12345并且n的值小于3C.p的值不等于12345或者n的值小于3D.p的值等于12345或者n的值大于等于36.有以下程序段intn=0,p;do{scanf(%d,&p);n++;}while(p!=12345&&n3);以下描述中正确的是()。A.do-while循环中,根据情况可以省略whileB.由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句C.do-while循环由do开始,用while结束,在while(表达式)后面不能写分号D.在do-while循环体中,一定要有能使while后面表达式的值变为零(假)的操作7.执行语句for(i=1;i++4;);后变量i的值是()。A.不定B.3C.4D.58.有以下程序main(){inta=5,b=4,c=3,d=2;if(abc)printf(%d\n,d);elseif((c-1=d)==1)printf(%d\n,d+1);elseprintf(%d\n,d+2);}执行后输出结果是A.2B.4C.编译时出错D.3main(){intx=1,a=0,b=0;switch(x){case0:b++;case1:a++;case2:a++;b++;}printf(a=%d,b=%d,a,b);}该程序的输出结果是()A.2,2B.2,1C.1,1D.1,010.以下程序的功能是:按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出,程序如下:main(){intn,k;floatscore,sum,ave;sum=0.0;for(n=1;n=10;n++){for(k=1;k=4;k++){scanf(%f,&score);sum+=score;}ave=sum/4.0;printf(NO%d:%f\n,n,ave);}}上述程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确。这条语句是A.ave=sum/4.0B.sum=0.0;C.sum+=score;D.printf(NO%d:%f\n,n,ave);11.运行以下程序后,输出的结果是main(){intk=-3;if(k=0)printf(****\n);elseprintf(&&&&\n);}A.****B.有语法错误不能通过编译C.&&&&D.****&&&&12.下面的程序片断所表示的数学函数关系是y=-1;if(x!=0)y=1;if(x0)y=1;elsey=0;A.B.C.D.13.以下程序的输出结果是main(){intx,i;for(i=1;i=100;i++){x=i;if(++x%2==0)if(++x%3==0)if(++x%7==0)printf(“%d“,x);}printf(“\n”);}A.2870B.3981C.4284D.266814.以下程序段中,与语句:k=ab?(bc?1:0):0;功能相同的是()A.if((ab)&&(bc))k=1;elsek=0;B.if((ab)||(bc))k=1;elsek=0;C.if(ab)k=1;elseif(bc)k=1;elsek=0;D.if(a=b)k=0;elseif(b=c)k=1;15.为了避免在嵌套的条件语句if-else中产生二义性,C语言规定:else子句总是与()配对。A.其之后最近的ifB.其之前最近的ifC.缩排位置相同的ifD.同一行上的if16.t为int类型,进人下面的循环之前,t的值为0while(t=1){……}则以下叙述中正确的是______。A.以上说法都不对B.循环控制表达式的值为1C.循环控制表达式的值为0D.循环控制表达式不合法17.以下程序段的输出结果是intk,j,s;for(k=2;k6;k++,k++){s=1;for(j=k;j6;j++)s+=j;}printf(“%d\n”,s);A.15B.10C.24D.918.语句while(!E);中的表达式!E等价于()。A.E!=1B.E==0C.E==1D.E!=019.以下程序段的输出结果是intx=3;do{pritnf(“%3d”,x-=2);}while(!(--x));A.死循环B.1-2C.30D.120.以下程序的运行结果是()。main(){inti=1,sum=0;while(i10)sum=sum+1;i++;printf(i=%d,sum=%d,i,sum);}A.i=10,sum=9B.运行出现错误C.i=2,sum=1D.i=9,sum=921.设有定义:inta=1,b=2,c=3;以下语句中执行效果与其它三个不同的是()A.if(ab){c=a,a=b,b=c;}B.if(ab)c=a,a=b,b=c;C.if(ab){c=a;a=b;b=c;}D.if(ab)c=a;a=b;b=c;22.以下程序中,while循环的循环次数是______main(){inti=0;while(i10){if(i1)continue;if(i==5)break;i++;}}A.死循环,不能确定次数B.6C.4D.123.选择结构中的条件与循环结构中循环成立的条件,在写法上可以是任一表达式,但其值只能被判断为“真”或“假”。哪个数作为逻辑“假”值()。A.-1B.非零的数C.1D.024.inta=1,b=2,c=3;if(ab)a=b;if(ac)a=c;则a的值为()。A.1B.不一定C.3D.225.有以下程序,若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是()#includestdio.hintmain(){intm,n,p;scanf(m=%dn=%dp=%d,&m,&n,&p);printf(%d%d%d\n,m,n,p);return0;}A.m=123n=456p=789B.m=123n=456p=789C.123456789D.m=123,n=456,p=78926.有以下程序main(){inti=1,j=1,k=2;if((j++||k++)&&i++)printf(%d,%d,%d\n,i,j,k);}执行后输出结果是A.2,2,2B.2,2,3C.1,1,2D.2,2,127.以下程序段的输出结果为()。for(i=4;i1;i--)for(j=1;ji;j++)putchar('#');A.######B.无C.#D.###28.有如下程序main(){floatx=2.0,y;if(x0.0)y=0.0;elseif(x10.0)y=1.0/x;elsey=1.0;printf(%f\n,y);}该程序的输出结果是A.0.500000B.0.250000C.1.000000D.0.00000029.判断两个字符串是否相等,正确的表达方式是A.while(s1=s2)B.while(s1==s2)C.while(strcmp(s1,s2)=0)D.while(strcmp(s1,s2)==0)30.若x是int类型变量,以下程序段的输出结果是for(x=3;x6;x++)printf((x%2)?(“**%d”):(“##%d\n”),x);A.B.C.D.31.C语言中,switch后的括号内表达式的值可以是A.只能为整型和字符型B.只能为整型C.任何类型D.只能为整型,字符型,枚举型32.设j和k都是int类型,则下面的for循环语句()。for(j=0,k=0;j=9&&k!=876;j++)scanf(%d,&k);A.最多执行9次B.循环体一次也不执行C.最多执行10次D.是无限循环33.inta=3,b=2,c=1;if(abc)a=b;elsea=c;则a的值为()。A.2B.3C.1D.034.为了避免在嵌套的条件语句if-else中产生二义性,C语言规定:else总与()配对A.同一行上的ifB.其之后最近的ifC.其之前最近的未配对的ifD.缩排位置相同的if35.以下不正确的if语句形式是()。A.if(xy){x++;y++;}B.if(xy&&x!=y);C.if(x==y)x+=y;D.if(x!=y)scanf(%d,&x)elsescanf(%d,&y);36.结构化程序设计所规定的三种基本控制结构是()。A.树形、网形、环形B.输入、处理、输出C.主程序、子程序、函数D.顺序、选择、循环37.以下程序的输出结果是main(){inty=10for(;y0;y--)if(y%3==0){pritnf(“%d”,--y);continue;}}A.741B.963C.875421D.85238.以下程序的执行结果是main(){intx=0,s=0;while(!x!=0)s+=++x;printf(%d,s);}A..无限循环B.0C.1D.语法错误39.inta=1,b=2,c=3;if(ac)b=a;a=c;c=b;则c的值为()。A.3B.2C.不一定D.140.以下叙述正确的是()。A.do-while语句构成的循环不能用其它语句构成的循环来代替.B.用do-while语句构成的循环,在while后的表达式为零时结束循环C.用do-while语句构成的循环,在while后的表达式为非零时结束循环.D.do-while语句构成的循环只能用break语句退出.41.假定所有变量均已正确定义,下列程序段运行后x的值是()。k1=1;k2=2;k3=3;x=15;if(!k1)x--;elseif(k2)x=4;elsex=3;A.15B.14C.3D.442.有以下程序,程序运行后的输出结果是()#includestdio.hintmain(){inti,j,m=1;for(i=1;i3;i++){for(j=3;j0;j--){if(i*j3)break;m*=i*j;}}printf(“m=%d\n”,m);return0;}A.m=2B.m=6C.m=4D.m=543.以下for循环的执行次数是for(x=0,y=0;(y=123)&&(x4);x++);()。A.4次B.是无限循环C.3次D.循环次数不定44.下列程序的输出结果是()。main(){intx=1,y=0,a=0,b=0;switch(x){case1:switch(y){case0:a++;break;case1:b++;break;}case2:a++;b++;break;case3:a++;b++;break;}printf(a=%d,b=%d\n,a,b);}A.a=2,b=1B.a=2,b=2C.a=1,b=0\D.a=1,b=145.有以
本文标题:C语言上机题库百科园第3章!南信大!
链接地址:https://www.777doc.com/doc-1754709 .html