C语言循环结构练习题带答案.docx
- 文档编号:4678088
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:10
- 大小:23.64KB
C语言循环结构练习题带答案.docx
《C语言循环结构练习题带答案.docx》由会员分享,可在线阅读,更多相关《C语言循环结构练习题带答案.docx(10页珍藏版)》请在冰豆网上搜索。
C语言循环结构练习题带答案
第5章循环结构程序设计
基本知识点
while语句的使用格式和注意事项
do-while语句的使用格式和注意事项
for语句的使用格式和注意事项
break和continue语句在循环语句中的应用
循环结构的嵌套
使用goto语句实现循环结构
穷举法程序设计方法
迭代程序设计方法
练习题5
1.单项选择题
(1)语句while(!
e);中的条件!
e等价于A。
A.e==0B.e!
=1C.e!
=0D.~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)B.while(c)
{if(!
b)c;}{if(!
b)break;c;}
C.while(c)D.while(a)
{if(b)c;}{if(b)break;c;}
(8)以下程序的输出结果是_B___。
#include<>
main()
{
inti;
for(i=4;i<=10;i++)
{
if(i%3==0)continue;
COUT<
}
}
A.45B.457810C.69D.678910
(9)以下程序的输出结果是__C__。
#include<>
main()
{
intnum=0;
while(num<=2)
{
num++;
cout< } } A.1B.1C.1D.1 222 33 4 2.填空题 (1)以下程序的运行结果是__S=7__。 #include<> 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< } (2)以下程序的运行结果是i=8。 #include<> main() { inti=1,s=3; do { s+=i++; if(s%7==0) continue; else ++i; }while(s<15); Cout< } (3)以下程序的运行结果是____。 #include<> main() { inti,j; for(i=4;i>=1;i--) { cout<<"*"; for(j=1;j<=4-i;j++) cout<<"*"; cout<<"\n"; } } 输出结果: * ** *** **** (4)以下程序的运行结果是____。 #include<> 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< cout< } } 输出结果: 1 22 333 4444 55555 666666 (5)以下程序的运行结果是____。 #include<> 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< for(k=i-1;k>0;k--) cout< cout< } } 输出结果: 1 121 12321 1234321 1 (6)以下程序的运行结果是____。 #include<> 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< } 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< } } 输出结果: * *** ***** ******* ***** *** * 3.编程题 (1)编写一个程序,求 之值。 (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语言编 写一个完整的程序,以求出用户从键盘上输入的任何正整数的平方根。 24.有一口深度为h米的水井,井底有一只青蛙,它每天白天能够沿井壁向上爬m米,夜里则顺井壁向下滑n米,若青蛙从某个早晨开始向外爬,试编写一个函数: 对于任意指定的h,m,n值(均为自然数),计算青蛙多少天能够爬出井口? 并简要说明程序实现的基本思想。 (南师大09) 求平方根,乒乓球比赛题目
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 循环 结构 练习题 答案