您好,欢迎访问三七文档
C语言程序设计习题讲解一结构化程序设计三大结构:顺序结构选择结构循环结构一、选择题1.以下语句中不包含关键字的是_______。A.x=sqrt(2);B.while(x!=0)x--;C.if(x0)x=-x;D.returnx;AA2.若i,j已定义为int型,则以下程序段中内循环的执行次数是:for(i=5;i;i--)for(j=0;j4;j++){…}A)20B)24C)25D)303.假定a和b为int型变量,则执行以下语句后b的值为:a=1;b=10;do{b-=a;a++;}while(b--0);A)9B)-2C)-1D)84.在do-while()语句中,while后的括号内的表达式为________结束循环A)0B)1C)trueD)非0DA一、选择题5.设x和y均为int型变量,则执行下面的循环后,y的值为:for(y=1,x=1;y=50;y++){if(x=10)break;if(x%2==1){x+=5;continue;}x-=3;}A)2B)4C)6D)8C一、选择题6.以下选项中不能用作C程序合法整型常量的是A)1234B)0X123C)028D0L7.以下选项中可用作C程序合法实数的是A).1e0B)3.0e0.2C)E9D)9.12E8.若有定义语句:inta=3,b=2,c=1;,以下选项中错误的赋值表达式是A)a=(b=4)=3B)a=b=c+1C)a=(b=4)+cD)a=1+(b=c=4)CAA一、选择题9.在C语言中,下列说法中正确的是:A)while语句构成的循环不能用其它语句构成的循环来代替B)do-while(条件)的循环必须使用break语句退出循环C)do-while(条件)的循环语句中,当条件为非0时结束循环D)do-while(条件)的循环语句中,当条件为0时将结束循环D一、选择题10.与do-while(E)中E不等价的表达式是:A)!E==0B)E0||E0C)E==0D)E!=011.循环语句“for(x=0,y=0;(y!=123)||(x4);x++);”的循环执行_______次A)无限B)32767C)4D)312.执行语句:“for(i=1;i++4;);”后,变量i的值是A)3B)4C)5D)不定CAC一、选择题13、以下不是无限循环A)j=100;while(1){j=j%100;j++;if(j100)break;}B)for(;;);C)intk=32764;do{k++;k++;}while(k0);D)s=32764;while(s++%2||s%2)s++;14、当执行以下程序段时A)循环体将执行一次B)循环体将执行两次C)循环体将执行无限次D)系统将提示有语法错误x=-1;do{x=x*x;}while(!x);CA一、选择题15.若k为整型,则while循环k=10;while(k=0)k=k-1;A)执行10次B)无限循环C)一次也不执行D)执行一次16、逻辑运算符两侧运算对象的值。A只能为0或1B只能为0或非0C可以为小数D可以为任何类型的数据CD一、选择题17.执行以下程序后,输出的结果是A)-1B)1C)8D)0#includestdio.hvoidmain(){inty=10;do{y--;}while(--y);printf(“%d\n”,y--);}D一、选择题18、下列程序的输出为:A)0,3B)0,5C)1,3D)1,5#includestdio.hvoidmain(){intj,k,n=0,m=0;for(j=0;j2;j++){for(k=0;k3;k++)n++;n-=k;}m=j+k;printf(“%d,%d”,n,m);}B一、选择题19、与y=(x0?1:x0?-1:0);的功能相同的if语句是A)if(x0)y=1;elseif(x0)y=-1;y=0;B)if(x0)y=1;elseif(x0)y=-1;elsey=0;C)if(x=0)elseif(x==0)y=0;elsey=-1;elsey=-1;D)if(x0)y=-1;elseif(x0)y=1;y=0;B一、选择题20.执行下列语句intx=10,y=3;floatz;printf(%.1f\n,z=x/y);后的输出是A)0.0B)1.0C)3.0D)3.321.TURBOC中int,double类型变量所占字节数分别是。A)14B)24C)28D)4822.如果a=1,b=2,c=3,d=4,则条件表达式ab?a:cd?c:d的值为A)1B)2C)3D)4CCA一、选择题1.在C语言的源程序中若出现常量“1L”,则该常量的类型是_________________。longint或long二、填空题2.数学式所对应的C语言表达式为_______________________________。sqrt(x*x+y*y)/fabs(a+b)22||yxab3.已知有声明“intx=1,y=2;”,则执行表达式“(xy)&&(--x0)”后x的值为_________。14.定义inti=1;执行语句while(i++5);后,i的值为________。5、若有定义语句“inta=25,b=14,c=19;”,以下语句的执行结果是________________________:if(a++=25&&b--=2&&c++)printf(“***a=%d,b=%d,c=%d\n”,a,b,c);elseprintf(“###a=%d,b=%d,c=%d\n”,a,b,c);6###a=26,b=13,c=19二、填空题6.设i,j,k均为int型变量,则执行完下面的for循环后,i,j的值为:for(i=0,j=10;i=j;i++,j--)k=i+j;7.下列程序段运行后x的值是:k1=1;k2=2;k3=3;x=15;if(k1)x--;elseif(k2)if(k3)x=3;elsex=4;6,414二、填空题8.下列程序段的输出结果是:s=7;while(--s);s-=2;printf(“%d”,s);9.执行下面程序段后,k和m值分别是_______k=1;n=263;m=0;do{k*=n%10;n/=10;m++;}while(n);36和3-2二、填空题10.执行下面的程序后,a和b的值分别为:#includestdio.hvoidmain(){inta,b;for(a=1,b=1;a=100;a++){if(b=20)break;if(b%3==1){b+=3;b-=5;}}printf(%d,%d,a,b);}101,-1二、填空题11.下面程序的运行结果为#includestdio.hvoidmain(){inti;for(i=1;i=5;i++){if(i%2)printf(*);elsecontinue;printf(#);}printf($\n);}*#*#*#$二、填空题12.下列程序的运行结果是:#includestdio.hvoidmain(){inta=10,y=0;do{a+=2;y+=a;if(y50)break;}while(a=14);printf(“%d,%d\n”,a,y);}16,60二、填空题13.结构化程序设计规定的三种基本结构是:__________________________________。14、在C语言中,表示逻辑值“真”用,表示逻辑值“假”用。15、在C语言中,任一语句必定以结束。16、在C语言,当关系表达式中的关系成立时,则该关系表达式的值为:顺序结构、选择结构、循环结构0非0;1二、填空题17.下面的程序的运行结果是。#includestdio.hvoidmain(){inta=2,s=0,n=1,count=1;while(count=7){n=n*a;s=s+n;++count;}printf(s=%d,s);}二、填空题s=25418.当运行以下程序时,从键盘输入-10,则下面程序的运行结果是。#includestdio.hvoidmain(){inta,b,m,n;m=n=1;scanf(%d%d,&a,&b);do{if(a0){m=2*n;b++;}else{n=m+n;a+=2;}b++;}while(a==b);printf(m=%dn=%d,m,n);}二、填空题m=4n=219.下面程序的运行结果是。#includestdio.hvoidmain(){inti,x,y;i=x=y=0;do{++i;if(i%2!=0){x=x+i;i++;}y=y+i++;}while(i=7);printf(x=%d,y=%d\n,x,y);}二、填空题x=1,y=2020.在C语言的赋值表达式中,赋值号左边必须是_______。21.当a=3,b=2,c=1时,表达式f=abc的值是______。22.引用C语言标准库函数,一般要用预处理命令将其头文件包含进来,该预处理命令为:____________________。23.在C语言中,八进制整型常量以___作为前缀。24.在C语言中的标识符只能由3种字符组成,它们是_______________________。二、填空题变量0#includestdio.h0字母、数字、下划线25.下面程序的运行结果是#includestdio.hvoidmain(){inta=1,b=2,c=3,d=4;intq;q=ab?a:cd?c++:++d;printf(%d%d%d%d%d,q,a,b,c,d);}11234二、填空题
本文标题:习题_练习参考答案
链接地址:https://www.777doc.com/doc-2733932 .html