工学第三章程序控制结构习题C语言程序设计_第1页
工学第三章程序控制结构习题C语言程序设计_第2页
工学第三章程序控制结构习题C语言程序设计_第3页
工学第三章程序控制结构习题C语言程序设计_第4页
工学第三章程序控制结构习题C语言程序设计_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

工学第三章程序控制结构习题C语言程序设计一、单项选择题

(第80页)1、有以下程序:

main()

{intx=102,y=012;

printf(“%2d,%2d\n”,x,y);

}

程序执行后输出结果是()A.10,01B.2,12C.102,10D.02,10C√intx=102,y=012102x10yprintf(“%2d,%2d\n”,x,y);%2dx102,%2dy102、执行下列语句后,a,b,c,x,y的值是()

intx=6,y=3,a,b,c;

a=(--x==y++)?++x:++y;

b=x++;

c=y;A.54356B.55565C.54556D.65754B√6x3y25abcintx=6,y=3,a,b,c;a=(--x==y++)?++x:++y;(--x==y++)?++x:++y;--xx==yy++4++y5a=y5b=x++;b=x5x++6c=y53、设a=3,b=4,执行

printf(“%d,%d”,(a,b),(b,a));的输出是()

A.3,4B.4,3C.3,3D.4,4

B√printf(“%d,%d”,(a,b),(b,a));(a,b),(b,a)ab4,34、C语言允许if-else语句可以嵌套使用,

规定else总是与()配对。A.其之前最近的ifB.第一个ifC.缩进位置相同的ifD.其之前最近的且尚未配对的ifD√if(a>b)if(b<c)c=a;elsec=b;if(b<c)c=a;elsec=b;5、在循环结构中,先判断控制循环的条件,

条件成立执行语句的结构是()A.当循环结构B.直到循环结构C.一般循环结构D.次数循环结构AD√√whiledo-whilefor三种循环语句分析while,do-while,forwhile(循环条件){……

……}循环变量赋初值改变循环变量的值do{……

……}while(循环条件);循环变量赋初值改变循环变量的值for(赋初值;循环条件;改变循环变量的值){……}6、设有说明语句inta=1;则执行以下语句后

输出()

switch(a)

{case1:printf(“你好”);

case2:printf(“再见”);

default:printf(“晚安”);

}A.你好B.你好再见晚安C.你好晚安D.你好再见B√switch(a)你好再见晚安7、设E=1,语句while(!E);中的表达式!E

等价于()A.E==1BB.E==0C.E!=1D.E!=0√设E=1!E!E==1E==08、对break语句和continue语句,下面说法

不正确的是()A.break语句强制中断当前循环,退出循环体B.break语句不仅能用在3条循环语句的循环体情况下,还可用在switch语句中continue语句能用在switch语句中,在没有循环情况下D.continue语句不能退出循环体C√√√×9、以下描述错误的是()A.while循环是先判断表达式,后执行循环体B.do-while和for循环均是先执行循环体语句,后判断表达式C.for,while,do-while循环中的循环体语句均可以由空语句构成D.使用while和do-while循环是循环变量的初始化操作应在循环语句前完成C√while(条件){…}×do{…}while(条件);do{}while(条件);while(条件);for(条件);√√10、以下关于for循环语句的正确判断为()

inta,b;

a=100;

for(b=100;a!=b;++a,b++)printf(“-----\n”);A.循环体只执行一次B.是死循环C.循环体一次也不执行D.输出-----C√for(b=100;a!=b;++a,b++)a!=b;b=100;100!=100?11、求标有/*******/语句的执行次数()

intx=10;

while(x++<20)

x+=2;/*******/A.10B.11C.4D.3C√x+=2;x++<20x<20,x++1:10<20?x++x+=2;2:13<20?x++x+=2;3:16<20?x++x+=2;4:19<20?x++x+=2;5:22<20?x++12、求标有/*******/语句的执行次数()

inty=0,x=2;

do{

y=x*x;/******/

}while(++y<5);A.5B.4C.2D.1D√inty=0,x=2;0y2xdoy=x*x;4while(++y<5);++y5y<513、求标有/*******/语句的执行次数()

inty,i;

for(i=0;i<20;i++)

{if(i%2==0)continue;

y+=i;/*******/

}A.20B.19C.10D.9C√yi0inty,i;for{}i=0i<20;if(i%2==0)continue;i++1i<20;if(i%2==0)y+=i;301i++2i<20;if(i%2==0)continue;i++奇数时语句执行if(i%2!=0)y+=i;if(i%2=0){}elsey+=i;二、写出运行结果main(){

intt=1,i=5;

for(;i>0;i--)t*=i;

printf(“%d\n”,t);

}1t5iintt=1,i=5;for(;i>0;i--)t*=i;(t=t*i;)t=1*5;5i--4t*=i;t=5*4;20i--3t*=i;t=20*3;60i--2t*=i;t=60*2;120i--1t*=i;t=120*1;printf(“%d\n”,t);i--0累乘公式n!=1*2*3*…for(i=1;i<n;i++)t=t*i;for(t=n;t>0;t++)y=y*t累加公式s=6+8+10+for(i=6;i>n;i=i+2)s=s+i2.main()

{inti,s=0;

i=1;

do{

if(i%3==0)s+=i;

i++;

}while(i<20);

printf(“s=%d\n”,s);

}s=s=3+6+9+12+15+183.main()

{inti=0;

while(i<1000)

{

if(i==5)break;

elseprintf(“%d\n”,i);

i++;

}

printf(“theloopbeakout.\n”);

}01234theloopbeakout.4.main(){

intc,s;

floatp,w,d,f;

scanf(“%f,%f,%d”,&p,&w,&s);

if(s>3000)c=12;

elsec=s/250;

switch(c)

{case0:d=0;break;

case1:d=2;break;

}

f=p*w*s*(1-d/100.0);

printf(freight=%15.f\n”,f);

}scanf(“%f,%f,%d”,&p,&w,&s);100,200,300if(s>3000)c=s/250;c:1d=2breakf=p*w*s*(1-d/100.0);freight=%15.switch(c)5.main()

{inti,j,sum,m,n=4;

sum=0;

for(i=1;i<=n;i++)

{m=1;

for(j=1;j<=i;j++)m=m*j;

sum=sum+m;

printf(“sum=%d\n”,sum);

}

}sum=1!+2!+3!+4!sum=1sum=3sum=9sum=33n=4for(i=1;i<=n;i++){}sum=sum+mfor(j=1;j<=i;j++)m=m*j;m=1*2*…*im=1printf(“sum=%d\n”,sum);三、程序填空要求在运行程序时输入数据1,输出结果为55(即1----10的和)s=1+2+3+…+10

main()

{intsum=1,i;

scanf(“%d”,&i);

do

{________;

sum+=i;

}while(______);

printf(“%d”,sum);

}i++++ii=i+1i+=1i<=9i<102.输出100以内能被3整除的所有非负整数

main()

{inti;

for(i=0;_______i++)

{

if(__________)continue;

printf(“%d”,i);

}

}i<100i%3!=03.从键盘上输入若干个学生的成绩,统计并输出最高和最低成绩,当输入-1时,结束输入

main()

{floatx,max,min;

scanf(“%f”,&x);

max=x;

min=x;

while(_______)

{if(x>max)max=x;

if(______)min=x;

scanf(“%f”,&x);

}

printf(“max=%f\nmin=%f\n”,max,min)

}x!=-1x<min4.输出以下图案:

main()

{inti,j,k;

for(i=0;i<=3;i++);

{

for(j=0;j<=______;j++)

printf(““);

for(k=0;k<=______;k++)

printf(“*”);

printf(“\n”);

}

}**********------0123j=012…k=0123…2-i2*i5.输出九九乘法表

main()

{inti,j;

for(i=0;_______i<=9;i++)

{

for(j=1;_______;j++)

printf(“%d*%d=%d”,j,i,

温馨提示

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

评论

0/150

提交评论