C语言循环结构练习测试题带参考答案_第1页
C语言循环结构练习测试题带参考答案_第2页
C语言循环结构练习测试题带参考答案_第3页
C语言循环结构练习测试题带参考答案_第4页
C语言循环结构练习测试题带参考答案_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

精心整理

第5章循环结构程序设计

5.1基本知识点

while语句的使用格式和注意事项

do-while语句的使用格式和注意事项

for语句的使用格式和注意事项

break和continue语句在循环语句中的应用

循环结构的嵌套

使用goto语句实现循环结构

穷举法程序设计方法

迭代程序设计方法

5.2练习题5

1.单项选择题

(1)语句while(!e);中的条件!e等价于A。

A.e==0

B.e!=1

C.e!=0

D.~e

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

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

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

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

D.for循环体语句中,可以包含多条语句,但要用花括号括起来

(3)C语言中D。

A.不能使用do-while语句构成的循环

B.do-while语句构成的循环必须用break语句才能退出

C.do-while语句构成的循环,当while语句中的表达式值为非零时结束循环

D.do-while语句构成的循环,当while语句中的表达式值为零时结束循环

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

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

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

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

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

(5)以下程序段C。

intx=-1;

do

{

x=x*x;

}

while(!x);

精心整理

A.是死循环

B.循环执行二次

C.循环执行一次

D.有语法错误

(6)下列语句段中不是死循环的是__C__。

A.i=100;

while(1)

{

i=i%100+1;

if(i==20)break;

}

B.for(i=1;;i++)

sum=sum+1;

C.k=0;

do

{

++k;

}while(k<=0);

D.s=3379;

while(s++%2+3%2)

s++;

(7)与以下程序段等价的是__A__。

while(a)

{

if(b)continue;

c;

}

A.while(a)

{if(!b)c;}

B.while(c)

{if(!b)break;c;}

C.while(c)

{if(b)c;}

D.while(a)

{if(b)break;c;}

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

#include<stdio.h>

main()

{

inti;

for(i=4;i<=10;i++)

{

if(i%3==0)continue;

COUT<<i;

}

}

A.45

B.457810

C.69

D.678910

(9)以下程序的输出结果是__C__。

#include<stdio.h>

main()

{

intnum=0;

while(num<=2)

{

num++;

精心整理

cout<<num<<endl;

}

}

A.1

B.1

2

C.1

2

3

D.1

2

3

4

2.填空题

(1)以下程序的运行结果是__S=7__。

#include<stdio.h>

main()

{

ints=0,k;

for(k=7;k>=0;k--)

{

switch(k)

{

case1:

case4:

case7:s++;break;

case2:

case3:

case6:break;

case0:

case5:s+=2;break;

}

}

cout<<s;

}

(2)以下程序的运行结果是i=8。

#include<stdio.h>

main()

{

inti=1,s=3;

do

{

s+=i++;

if(s%7==0)

continue;

else

++i;

}while(s<15);

Cout<<i;

}

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

#include<stdio.h>

main()

{

inti,j;

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

{

cout<<"*";

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

精心整理

cout<<"*";

cout<<"\n";

}

}

输出结果:

*

**

***

****

(4)以下程序的运行结果是____。

#include<stdio.h>

main()

{

inti,j,k;

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

{

for(j=1;j<=20-2*i;j++)

cout<<"";

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

cout<<i;

cout<<endl;

}

}

输出结果:

1

22

333

4444

55555

666666

(5)以下程序的运行结果是____。

#include<stdio.h>

main()

{

inti,j,k;

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

{

for(j=1;j<=20-3*i;j++)

cout<<"";

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

cout<<k;

for(k=i-1;k>0;k--)

cout<<k;

cout<<endl;

}

}

输出结果:

1

121

12321

1234321

123454321

12345654321

精心整理

(6)以下程序的运行结果是____。

#include<stdio.h>

main()

{

inti,j,k;

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

{

for(j=1;j<=20-3*i;j++)

cout<<"";

for(k=1;k<=2*i-1;k++)

cout<<"*";

cout<<endl;

}

for(i=3;i>0;i--)

{

for(j=1;j<=20-3*i;j++)

cout<<"";

for(k=1;k<=2*i-1;k++)

cout<<"*";

cout<<endl;

}

}

输出结果:

*

***

*****

*******

*****

***

*

3.编程题

(1)编写一个程序,求1111

234

11之值。

99100

(2)编写一个程序,求s=1+(1+2)+(1+2+3)++(1+2+3++n)的值。

(3)编写一个程序,用户输入一个正整数,把它的各位数字前后颠倒一下,并输出颠倒后的结果。

(4)编写一个程序,求出200到300之间的数,且满足条件:它们三个数字之积为42,三个数字之和为12。

(5)编写一个程序,求出满足下列条件的四位数:该数是个完全平方数,且第一、三位数字之和为10,第

二、四位数字之积为12。

(6)编写一个程序,求e的值。

(7)编写一个程序,求满足如下条件的最大的n:

(8)某人摘下一些桃子,卖掉一半,又吃了一只;第二天卖掉剩下的一半,又吃了一只;第三天、第四天、

第五天都如此办理,第六天一看,发现就剩下一只桃子了。编写一个程序,采用迭代法问某人共摘了多少只桃子。

(9)输入一批非0数,直到输入0时为止,计算其中奇数的平均值和偶数的乘积。

(东师大,01年)

(10)求一组整数中的正数之积与负数之和,直到遇到0时结束。

(东师大,03年)

(11)输入一组实数,求前10个正数的平均值。

(东师大,02年)

(12)编程求1~200中能被2,3,5除余1的前10个整数。

(东师大,02年)

(13)输入100个整数,统计这些数中能被3或5整除数所占的百分比。

(东师大,02年)(14)计算并输出200

—600中能被7整除,且至少有一位数字是3的所有数的和。

(东师大,01年)

精心整理

(15)输出1~999中能被5整除,且百位数字是5的所有整数。

(东师大,04年)

(16)设N是一个四位数,它的9倍恰好是其反序数(例如:1234的反序数是4321)

,求N值。

(东师大,03

年)\

(17)有这样一个三位数,该三位数等于其每位数字的阶乘之和,即abc=a!+b!+c!(如:145=1!+4!+5!

(东师大,04年)

(18)编写程序求出满足下列条件的四位数:该数是个完全平方数;千位、十位数字之和为10,百位、个位数字

之积为12。

(东师大,05年)

(19)已知abc+cba=1333,其中a,b,c均为一位数,编写一个程序求出abc分别代表什么数字。

(东师大,05年)

(20)100匹马驮100担货,大马一匹驮3担,中马一匹驮2担,小马两匹驮1担。试编写程序计算大、中、

小马的数目。

(东师大,06年)

(21)求1~100之间数的每位数的乘积大于每位数的和的数。

(东师大,07年)

(22)一个正整数与3的和是5的倍数,与3的差是6的倍数,编写一个程序求符合条件的最小数。

(东师大,

08年)

(23)为了求正整数n的平方根,可以使用如下迭代法求解:

(南师大04)

使用C语言编

写一个完整的程序,以求

温馨提示

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

评论

0/150

提交评论