循环结构测试.docx

上传人:b****7 文档编号:10426515 上传时间:2023-02-11 格式:DOCX 页数:21 大小:19.48KB
下载 相关 举报
循环结构测试.docx_第1页
第1页 / 共21页
循环结构测试.docx_第2页
第2页 / 共21页
循环结构测试.docx_第3页
第3页 / 共21页
循环结构测试.docx_第4页
第4页 / 共21页
循环结构测试.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

循环结构测试.docx

《循环结构测试.docx》由会员分享,可在线阅读,更多相关《循环结构测试.docx(21页珍藏版)》请在冰豆网上搜索。

循环结构测试.docx

循环结构测试

C语言之循环结构测试

一、选择题

<1)有以下程序段

intn,t=1,s=0。

scanf("%d",&n>。

do{s=s+t。

t=t-2。

}while(t!

=n>。

为使此程序段不陷入死循环,从键盘输入的数据应该是

  A)任意正奇数

  B)任意负偶数

  C)任意正偶数

  D)任意负奇数

<2)设变量已正确定义,则以下能正确计算f=n!

的程序段是

  A)f=0。

       B)f=1。

    for(i=1。

i<=n。

i++>f*=i。

  for(i=1。

i

i++>f*=i。

b5E2RGbCAP

  C)f=1。

       D)f=1。

    for(i=n。

i>1。

i++>f*=i。

  for(i=n。

i>=2。

i-->f*=i。

p1EanqFDPw

<3)有以下程序

main(>

{intk=5,n=0。

while(k>0>

{switch(k>

{default:

break。

case1:

n+=k。

case2:

case3:

n+=k。

}

k--。

}

printf("%d\n",n>。

}

程序运行后的输出结果是

  A)0

  B)4

  C)6

  D)7

<4)有以下程序

main(>

{

inta=1,b。

for(b=1。

b<=10。

b++>

{

if(a>=8>break。

if(a%2==1>{a+=5。

continue。

}

a-=3。

}

printf("%d\n",b>。

}

程序运行后的输出结果是

  A)3

  B)4

  C)5

  D)6

(5>有以下程序

main(>

{ints=0,a=1,n。

scanf("%d",&n>。

do

{s+=1。

a=a-2。

}

while(a!

=n>。

printf("%d\n",s>。

}

若要使程序的输出值为2,则应该从键盘给n输入的值是

  A>-1

  B>-3

  C>-5

  D>0

(6>若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0>

s=a。

for(b=1。

b<=c。

b++>s=s+1。

则与上述程序段功能等价的赋值语句是

  A>s=a+b。

  B>s=a+c。

  C>s=s+c。

  D>s=b+c。

(7>有以下程序

main(>

{intk=4,n=4。

for(。

n

>

{n++。

if(n%3!

=0>continue。

k--。

}

printf("%d,%d\n",k,n>。

}

程序运行后的输出结果是

  A>1,1

  B>2,2

  C>3,3

  D>4,4

(8>要求以下程序的功能是计算:

main(>

{intn。

floats。

s=1.0。

for(n=10。

n>1。

n-->

s=s+1/n。

print("%6.4f\n",s>。

}

程序运行后输出结果错误,导致错误结果的程序行是

  A>s=1.0。

 

  B>for(n=10。

n>1。

n-->

  C>s=s+1/n。

  D>printf("%6.4f/n",s>。

(9>有以下程序

main(>

{inti。

for(i=0。

i<3。

i++>

switch(i>

{case1:

printf("%d",i>。

case2:

printf("%d",i>。

default:

printf("%d",i>。

}

}

执行后输出结果是

  A>011122

  B>012

  C>012020

  D>120

(10>有以下程序

main(>

{inti=0,s=0。

do{

if(i%2>{i++。

continue。

}

i++。

s+=i。

}while(i<7>。

printf("%d\n",s>。

}

执行后输出结果是

  A>16

  B>12

  C>28

  D>21

(11>以下程序的功能是:

按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出,程序如下:

DXDiTa9E3d

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>sum=0.0。

  B>sum+=score。

  C>ave=sun/4.0。

  D>printf(“NO%d:

%f\n”,n,ave>。

(12>有以下程序段

intn=0,p。

do{scanf(“%d”,&p>。

n++。

}while(p!

=12345&&n<3>。

此处do—while循环的结束条件是

  A>P的值不等于12345并且n的值小于3

  B>P的值等于12345并且n的值大于等于3

  C>P的值不等于12345或者n的值小于3

  D>P的值等于12345或者n的值大于等于3

(13>以下程序中,while循环的循环次数是

main(>

{inti=0。

while(i<10>

{if(i<1>continue。

if(I==5>break。

i++。

}

......

}

  A>1

  B>10

  C>6

  D>死循环,不能确定次数

(14>以下程序的输出结果是

main(>

{inta=0,i。

for(i=。

i<5。

i++>

{switch(i>

{case0:

case3:

a+=2。

case1:

case2:

a+=3。

default:

a+=5。

}

}

printf("%d\n",a>。

}

  A>31

  B>13

  C>10

  D>20

(15>以下程序的输出结果是

#include

main(>

{inti=0,a=0。

while(i<20>

{for(。

>

{if((i%10>==0>break。

elsei--。

}

i+=11。

a+=i。

}

printh("%d\n",a>。

}

  A>21

  B>32

  C>33

  D>11

(16>t为int类型,进人下面的循环之前,t的值为0

while(t=l>

{……}

则以下叙述中正确的是

  A>循环控制表达式的值为0

  B>循环控制表达式的值为1

  C>循环控制表达式不合法

  D>以上说法都不对

(17>以下程序的输出结果是

main(>

{intnum=0。

while(num<=2>

{num++。

printf(“%d\n”,num>。

}

  A>1B>1C>1D>l

   222

  33

  4

(18>以下程序的输出结果是

main(>

{inta,b。

for(a=1,b=1。

a<=100。

a++>

{if(b>=10>break。

if(b%3==1>

{b+=3。

continue。

}

}

printf(“%d\n”,a>。

}

  A>101

  B>6

  C>5

  D>4

(19>有以下程序段

intk=0

while(k=1>k++。

while循环执行的次数是

  A>无限次

  B>有语法错,不能执行

  C>一次也不执行

  D>执行1次

(20>以下程序执行后sum的值是

  A>15

  B>14

  C>不确定

  D)0

min(>

{inti,sum。

for(i=1。

i<6。

i++>sum+=i。

printf(“%d\n”,sum>。

}

(21>有以下程序段

intx=3

do

{printf(“%d”,x-=2>。

}

while(!

(--x>>。

其输出结果是

  A>中1

  B>30

  C>1-2

  D>死循环

(22>有如下程序

main0

{inti,sum。

for(i=1。

i<=3。

sum++>sum+=i。

printf(“%d\n”,sum>。

}

该程序的执行结果是

  A>6

  B>3

  C>死循环

  D>0

(23>有如下程序

main0

{intx=23。

do

{printf(“%d”,x-->。

}

while(!

x>。

}

该程序的执行结果是

  A>321

  B>23

  C>不输出任何内容

  D>陷入死循环

(24>有如下程序

main0

{intn=9。

while(n>6>{n--。

printf(“%d”,n>。

}

}

该程序段的输出结果是

  A>987

  B>876

  C>8765

  D>9876

(25>以下循环体的执行次数是

  A>3B>2C>1D>0RTCrpUDGiT

main(>

{inti,j。

for(i=0,j=1。

i<=j+1。

i+=2,j-->printf("%d\n",i>。

}

(26>以下叙述正确的是

  A>do-while语句构成的循环不能用其它语句构成的循环来代替。

  B>do-while语句构成的循环只能用break语句退出。

  C>用do-while语句构成的循环,在while后的表达式为非零时结束循环。

  D>用do-while语句构成的循环,在while后的表达式为零时结束循环。

(27>以下程序段的执行结果是

  A>a=12y=12B>a=12y=12

 a=14y=16 a=16y=28

 a=16y=20

 a=18y=24

  C>a=12y=12D>a=12y=12

    a=14y=26

    a=14y=44

inta,y。

a=10。

y=0。

do

{a+=2。

y+=a。

printf("a=%dy=%d\n",a,y>。

if(y>20>break。

{while(a=14>。

(28>以下程序的输出结果是

  A>10192

  B>9876

  C>10990

  D>101091

main(>

{intx=10,y=10,I;

for(i=0;x>8;y=++i>

printf("%d,%d",x--,y>;

}

(29>以下程序的输出结果是

  A>20

  B>31

  C>321

  D>210

main(>

{intn=4;

while(n-->printf("%d",--n>;

}

(30>以下程序的输出结果是

  A>#*#*#

  B>#####

  C>*****

  D>*#*#*

main(>

{inti;

for(i=1;i<6;i++>

{if(i%2>{printf("#">;continue;}

printf("*">;

}

printf("\n">;

}

(31>执行以下程序段时

  A>循环体将执行一次

  B>循环体将执行两次

  C>循环体将执行无限次

  D>系统将提示有语法错误

X=-1。

do{x=x*x。

}while(!

x>。

(32>执行以下程序后,输出的结果是

  A>-1B>1C>8D>05PCzVD7HxA

main(>

{inty=10。

do{y--。

}while(--y>。

printf("%d\n",y-->。

}

(33>在下列选项中,没有构成死循环的程序段是

  A>inti=100    B>for(。

>。

jLBHrnAILg

  while(1>

  {i=i%100+1。

 if(i>100>break。

  }

  C>intk=1000。

    D>ints=36。

xHAQX74J0X

  do{++k。

}while(k>=10000>。

while(s>。

--s。

LDAYtRyKfE

(34>执行语句:

for(i=l:

i++<4:

>。

后,变量i的值是

  A>3

  B>4

  C>5

  D>不定

(35>以下程序的输出结果是

  A>x=4B>x=8C>x=6D>x=12Zzz6ZB2Ltk

main(>

{inti,j,x=0。

for(i=0。

i<2。

i++>

{x++。

for(j=0。

j<=3。

j++>

{if(j%2>continue。

x++。

}

x++。

}

printf("x=%d\n",x>。

}

(36>运行以下程序后,如果从键盘上输入6514<回车>,则输出结果为:

  A>m=3B>m=2C>m=1  D>m=1dvzfvkwMI1

main(>

{intm,n。

printf("Enterm,n。

">。

scanf("%d%d",&m,&n>:

while(m!

=n>

{while(m>n>m-=n。

while(n>m>n-=m。

}

printf("m=%d\n",m>。

}

(37>设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>2   B>4    C>6 D>8

(38>假定a和b为int型变量,则执行以下语句后b的值为

a=1。

b=10。

do

{b-=a。

a++。

}

while(b--<0>。

(39>设j为int型变量,则下面for循环语句的执行结果是

for(j=10。

j>3。

j-->

{if(j%3>j--。

--j。

--j。

printf("%d",j>。

}

  A>63

  B>74

  C>62

  D>73

(40>若ij已定义为int类型,则以下程序段中内循环体的总的执行次数是

for(i=5。

i。

i-->

for(j=0。

j<4。

j++>{...}

  A>20

  B>25

  C>24

  D>30

(41>执行下面的程序后,a的值为

main(>

{inta,b。

for(a=1,b=1。

a<=100。

a++>

{if(b>=20>break。

if(b%3==1>{b+=3。

continue。

}

b-=5。

}}

  A>7

  B>8

  C>9

  D>10

(42>以下程序段的输出结果是

intx=3。

do{printf("%3d",x-=2>。

}while(!

(--x>>。

  A>1

  B>30

  C>1-2

  D>死循环

(43>定义如下变量:

intn=10。

则下列循环的输出结果是

while(n>7>

{n--。

printf("%d\n",n>。

}

  A>10B>9C>10D>9

  9898

 8787

    76

(44>下面的程序

  A>输出的是1

  B>输出的是1和-2

  C>输出的是3和0

  D>是死循环

main(>

{intx=3。

do{

printf("%d\n",X-=2>。

}while(!

(--x>>。

}

(45>下面程序的输出是

  A>741

  B>852

  C>963

  D>875421

main(>

{inty=9。

for(。

y>0。

y-->

{if(y%3==0>

{printf("%d",--y>。

continue。

}

}.

}

(46>若x是int型变量,且有下面的程序片段:

for(x=3。

x<6。

x++>printf((x%2>?

("**%d">:

("##%d\n">,x>。

rqyn14ZNXI

上面程序片段的输出结果是

  A>**3B>##3C>##3D>**3##4EmxvxOtOco

   ##4**4**4##5**5SixE2yXPq5

   **5##5

(47>请读程序片段:

#include

main(>

{inta,b。

for(a=1。

b=1。

a<=100。

a++>

{if(b>=20>break。

if(b%3==1>

{b+=3。

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

当前位置:首页 > 党团工作 > 其它

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

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