第四次实验.docx

上传人:b****3 文档编号:5270042 上传时间:2022-12-14 格式:DOCX 页数:14 大小:18.99KB
下载 相关 举报
第四次实验.docx_第1页
第1页 / 共14页
第四次实验.docx_第2页
第2页 / 共14页
第四次实验.docx_第3页
第3页 / 共14页
第四次实验.docx_第4页
第4页 / 共14页
第四次实验.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

第四次实验.docx

《第四次实验.docx》由会员分享,可在线阅读,更多相关《第四次实验.docx(14页珍藏版)》请在冰豆网上搜索。

第四次实验.docx

第四次实验

1.单项选择题

(2)intk=10;

while(k=0)k=k-1;

则下面描述正确的是()。

A.while循环执行10次B.循环是无限循环

C.循环体语句一次也不执行D.循环体语句执行一次

(3)intx=0,s=0;

while(!

x!

=0)s+=++x;

cout<

则()。

A.运行程序段后输出0B.运行程序段后输出1

C.程序段中的控制表达式是非法的D.程序段执行无限次

(4)intx=0,y=0;

while(x<15)y++,x+=++y;

cout<

则运行结果为()。

A.20,7B.6,12C.20,8D.8,20

(5)inta=1,b=2,c=2;

while(a

cout<

运行结果为()。

A.1,2,0B.2,1,0C.1,2,1D.2,1,1

(6)intx=-1;

do

{x=x*x;}

while(!

x);

下列说法正确的是()。

A.是死循环B.循环执行两次

C.循环执行一次D.有语法错误

(7)以下能正确计算1*2*3*…*10的程序段是()。

A.do{i=1;s=1;B.do{i=1;s=0;

s=s*i;i++;}s=s*i;i++;}

while(i<=10);while(i<=10);

C.i=1;s=1;D.i=1;s=0;

do{s=s*i;do{s=s*i;

i++;}i++;}

while(i<=10);while(i<=10);

(8)以下描述正确的是()。

A.由于do-while循环中循环体语句只是一条可执行语句,所以循环体内不能使用复合语句

B.do-while循环由do开始,用while结束,在while(表达式)后面不能写分号

C.在do-while循环体中,一定要有能使while后面表达式的值变为零("假")的操作

D.do-while循环中,根据情况可以省略while

(9)C++语言中while和do-while循环的主要区别是()。

A.do-while的循环体至少无条件执行一次

B.while的循环控制条件比do-while的循环控制条件严格

C.do-while允许从外部转到循环体内

D.do-while的循环体不能是复合语句

(10)下面有关for循环的正确描述是()。

A.for循环只能用于循环次数已经确定的情况

B.for循环是先执行循环体语句,后判断表达式

C.在for循环中,不能用break语句跳出循环体

D.for循环的循环体语句中,可以包含多条语句,但必须用大括号括起来

(11)对for(表达式1;;表达式3)可理解为()。

A.for(表达式1;0;表达式3)B.for(表达式1;1;表达式3)

C.for(表达式1;表达式1;表达式3)D.for(表达式1;表达式3;表达式3)

(15)下面程序的运行结果是()。

#include

viodmain()

{inti,b,k=0;

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

{b=i%2;

while(b-->=0)k++;}

cout<

A.3,-1B.8,-1C.3,0D.8,-2

(16)以下正确的描述是()。

A.continue语句的作用是结束整个循环的执行

B.只能在循环体内和switch语句体内使用break语句

C.在循坏体内使用break语句或continue语句的作用相同

D.从多层循环嵌套中退出,只能使用goto语句

(17)下面程序段()。

for(t=1;t<=100;t++)

{cin>>x;

if(x<0)continue;

cout<

A.当x<0时整个循环结束B.x>=0时什么也不输出

C.cout永远也不执行D.最多允许输出100个非负整数

(19)下面程序的运行结果是()。

#include

voidmain()

{inta,b;

for(a=1,b=1;a<=100;a++)

{if(b>=20)break;

if(b%3==1){b+=3;continue;}

b-=5;

}

cout<

}

A.7B.8C.9D.10

(20)下面程序段的运行结果是()。

#include

voidmain()

{inti,j,x=0;

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

{x++;

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

{if(j%2)continue;

x++;

}

x++;

}

cout<<"x="<

}

A.x=4B.x=8C.x=6D.x=12

(21)下面程序段的运行结果是()。

#include

voidmain()

{inti;

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

{if(I%2)cout<<"*";

elsecontinue;

cout<<"#";}

cout<<"$\n";}

A.*#*#*#$B.#*#*#*$C.*#*#$D.#*#*$

(22)下面程序段的运行结果是()。

#include

voidmain()

{inti,j,a=0;

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

{for(j=0;j<4;j++)

{if(j%2)break;

a++;

}

a++;

}

cout<

}

A.4B.5C.6D.7

2.填空题:

(1)下面程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环,

请填空。

intn=0,c;

c=getchar();

while()

{if()n++;

c=getchar();}

(2)1020个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,问几天以后能卖完?

#include

main()

{intday,x1,x2;

day=0;x1=1020;

while(){x2=();x1=x2;day++;cout<

cout<<"day="<

(3)运行以下程序时,从键盘键入right?

回车后运行结果是()。

#include

voidmain()

{charc;

while((c=getchar())!

='?

')putchar(++c);

}

(4)运行以下程序时,从键盘输入China#,回车后运行结果是()。

#include

#include

voidmain()

{intv1=0,v2=0;charch;

while((ch=getchar())!

='#')

switch(ch)

{case'a':

case'h':

default:

v1++;

case'o':

v2++;}

cout<

}

(5)运行下面程序段后,k值为()。

k=1;n=263;

do{k*=n%10;n/=10;}while(n);

(6)下面程序段中循环体的执行次数是()。

a=10;b=0;

do{b+=2;a-=2+b;}while(a>=0);

(7)下面程序段的运行结果为()。

x=2;

do{cout<<"*";x--;}while(!

x==0);

(8)下面程序段的运行结果是()。

i=1;a=0;s=1;

do{a=a+s*i;s=-s;i++;}while(I<=10);

cout<<"a="<

(9)下面程序段的运行结果是()。

for(a=1,i=-1;-1<=i<1;i++)

{a++;cout<

分析:

本题循环条件是假值,所以什么也不输出。

(10)鸡、兔共有30只,脚共有90个,下面程序段是计算鸡兔各有多少只,x代表有多少只鸡,y代表有多少只兔子,请填空。

for(x=1;x<=29;x++)

{y=30-x;

if()cout

(11)下面程序的功能是从3个红球、5个白球、6个黑球中任意取出8个球,且其中必须有白球,输出所有可能的方案,请填空。

#include

voidmain()

{

inti,j,k;

cout<<"\nhongbaihei\n";

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

for(();j<=5;j++)

{k=8-i-j;

if()

cout<

}}

3.看程序,写结果

(1)#include

voidmain()

{inti=0,x=0,y=0;

do{++i;

if(i%2!

=0){x=x+i;i++;}

y=y+i++;

}while(i<=7);

cout<<"x="<

运行结果:

(2)#include

voidmain()

{inti,t,sum=0;

for(t=i=1;i<=10;)

{sum+=t;++i;

if(i%3==0)t=-i;

elset=i;}

cout<<"sum="<

运行结果:

(3)nclude

voidmain()

{inti;

for(i=1;i<=5;iI++)

switch(i%2)

{case0:

i++;cout<<"#";break;

case1:

i+=2;cout<<"*";

default:

cout<<"\n";}}

运行果为:

(4)#include

voidmain()

{inty=2,a=1;

while(y--!

=-1)

{do{a*=y;a++;}while(y--);}

cout<

运行结果:

(5)#include

voidmain()

{inti,j;

for(i=4;i>=1;i--)

{for(j=1;j<=i;j++)putchar('#');

for(j=1;j<=4-i;j++)putchar('*');

putchar('\n');}}

运行结果:

(6)#include

voidmain()

{inti,k=0;

for(i=1;;i++)

{k++;

if(k%3==0)break;

}

cout<

}

运行结果:

(7)#include

voidmain()

{inti=1;

while(i<=15)

if(++i%3!

=2)continue;

elsecout<

cout<<"\n";

}

运行结果:

(8)#include

voidmain()

{inta=10,y=0;

do{a+=2;y+=a;

if(y>50)break;}while(a=14);

cout<<"a="<

}

运行结果:

(9)#include

voidmain()

{inti,k=19;

while(i=k-1)

{k-=3;

if(k%5==0){i++;continue;}

elseif(k<5)break;

i++;}

cout<<"i="<

}

运行结果:

(10)#include

voidmain()

{inti=5;

do{switch(i%2)

{case4:

i--;break;

case6:

i--;continue;

}

i--;i--;

cout<0);

}

运行结果:

1.选择题

(1)为了避免在嵌套的条件语句if-else中产生二义性,C++规定:

else子句总是与()配对。

A.缩排位置相同的ifB.和其之前最近if

C.和其之后最近ifD.同一行上的if

(2)下面程序输出的结果是()。

#include

voidmain()

{intx=2,y=-1,z=2;

if(x

if(y<0)z=0;

elsez+=1;

cout<

}

A.3B.2C.1D.0

(3)下面程序的运行结果是()。

intn=1;

while(n++<=2);cout<

A.2B.3C.4D.语法有错

(4)以下描述正确的是()。

A.goto语句只能用于退出多层循环

B.swtich语句中不能出现continue语句

C.只能用continue语句来终止本次循环

D.在循环终break语句不能独立出现

(5)下列程序是求1到l00的累加和,其中有3个能够完成规定的功能,有1个所完成的功能与其他程序不同,它是()。

A.s=0;i=0;B.s=0;i=0;

while(I<=100)while(i++<100)

s+=i++;s+=i;

C.s=0;i=0;D.s=0;i=0;

while(i<100)while(++i<=100)

s+=++i;s+=i;

(6)请阅读以下程序:

#include

voidmain()

{inta=5,b=0,c=2;

if(a=a+b)cout<<"***"<

elsecout<<"$$$"<

以上程序()。

A.有语法错不能通过编译B.可以通过编译但不能通过连接

C.输出***D.输出$$$

(7)下面程序输出的结果是()。

#include

voidmain()

{inta=5,b=6;

if(a>5){a-=1;b+=1;}

else{a+=1;b-=1;}

cout<<"a="<

cout<<"b="<

}

A.5B.a=5C.a=5D.a=6

7b=7b=6b=5

(8)下面程序输出的结果是()。

include

voidmain()

{intx,i;

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

{x=i;

if(++x%2==0)

if(++x%3==0)

if(++x%7==0)

cout<

}

}

A.3981B.4284C.2668D.2870

2.看程序写结果

(1)#include

voidmain()

{inta,b,c;

ints,w,t;

s=w=t=0;

a=-1;b=3;c=3;

if(c>0)s=a+b;

if(a<=0)

{if(b>0)

if(c<=0w=a-b);

}

elseif(c>0)w=a-b;

elset=t=c;

cout<

}

(2)#include

voidmain()

{intx=1,y=0,a=0,b=0;

switch(x)

{case1:

switch(y)

{case0:

a++;break;

case1:

b++;break;

}

case2:

a++;b++;break;

}

cout<

}

(3)#include

voidmain()

{inty=10;

for(;y>0;y--)

if(y%3==0)

{cout<<--y;

countine;

}

}

(4)#include

voidmain()

{inta=1,b=10;

do

{b-=a;a++;}while(b--<0);

cout<<"a="<

}

(5)#include

voidmain()

{inti,j,m=0,n=0;

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

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

if(j>=i)m=1;n++;

cout<

cout<

}

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1