C语言循环习题1Word格式文档下载.docx
- 文档编号:18094486
- 上传时间:2022-12-13
- 格式:DOCX
- 页数:13
- 大小:17.95KB
C语言循环习题1Word格式文档下载.docx
《C语言循环习题1Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C语言循环习题1Word格式文档下载.docx(13页珍藏版)》请在冰豆网上搜索。
inti;
for(i=0;
=;
)
printf(“i=%d\n”,i=i+2);
}(显示的是:
2,4,6,8,10,12,…,20)
A9B10C18D20
5.运行下面程序:
{
inti=10,j=0;
do
j=j+i;
/*第一:
10,第二:
19第三:
27第四:
34第五:
40*/
i--;
}while(i>
5);
printf(“%d\n”,j);
输出结果是:
A45B40C34D55
6.运行下面程序
#include<
main()
intk=0,a=1;
{
for(;
;
{if((k%10)==0)/*当循环开始的时候时,k=0,此时和10取3余的结果就等于0,就跳出了for循环开始下面的循环*/
break;
else
k--;
k=k+11;
a=a+k;
printf(“k=%d\na=%d\n”,k,a);
则输出的结果是()
A2132B2133C1112D1011
7.以下叙述正确的是:
A.do---while语句构成的循环不能用其他语句构成的循环来代替。
B.do---while语句构成的循环只能用break语句退出。
C.用do---while语句构成的循环,在while后的表达式为非零时结束循环。
D.用do---while语句构成的循环,在while后的表达式为零时结束循环。
8.有如下程序:
intx=3;
do{
printf(“x=%d\n”,x--);
/*如果x的—在x的前面则结果就是显示的是2*/
}while(!
x);
/*!
x表示不是上面的x*/
该程序的执行结果是:
A321B210C3D2
9.若k为整型变量,则下面while循环执行的次数为:
k=10;
while(k==0)
k=k-1;
A0B1C10D无限次
10.下面有关for循环的正确描述是
A.for循环只能用于循环次数已经确定的情况
B.for循环是先执行循环体语句,后判断表达式
C.在for循环中,不能用break语句跳出循环体。
D.for循环的循环体语句汇总,可以包含多条语句,但必须用花括号括起来。
11.对for(表达式1;
;
表达式3)可理解为
Afor(表达式1;
0;
表达式3)
Bfor(表达式1;
1;
表达式3)
Cfor(表达式1;
表达式1;
Dfor(表达式1;
表达式2;
12.若i为整型变量,则以下循环执行的次数是()
for(i=2;
i==0;
)printf(“%d”,i--);
A.无限次B0次C1次D2次
13.以下循环体的执行次数是;
inti,j;
for(i=0,j=3;
=j;
i=i+2,j--)
printf(“i=%d\n”,i);
A3B2C1D0
14.执行以下程序后,输出结果是:
inty=10;
do
{y--;
}while(--y);
printf(“%d”,y--);
A-1B1C8D0
15以下程序的输出结果是:
inta,b;
for(a=1,b=1;
a<
=100;
a++)
if(b>
=10)break;
if(b%3==1)
{b=b+3;
continue;
printf(“%d”,a);
A101B3C4D5
二、填空题
1.
循环的3个常见语句分别是
forwhiledo…while
2.
下面程序的运行结果为:
inta=10,y=0;
{a+=2;
y+=a;
if(y>
50)break;
}while(a<
14);
printf(“a=%d,y=%d\n”,a,y);
a=14y=26
3.从键盘输入12345-1回车,则下面程序运行的结果是:
{intn,k=0;
{scanf(“%d”,&
n);
k+=n;
}while(n!
=-1);
printf(“k=%d\n,n=%d\n”,k,n);
k=12344n=-1
4.下面程序的运行结果为:
{inti,j,s=0;
for(i=1,j=5;
j;
i++,j--)
s+=i*10+j;
39
5.下面程序的运行结果是
inti=10,s=0;
for(;
--i;
if(i%3==0)
s+=i;
s++;
printf(“\ns=%d”,s);
s=19
6.下面程序的运行结果是
{inta=2,n=5,s;
s=a;
--n;
s=s*10+a;
printf(“%d”,s);
22222
7.下面的程序运行时,循环体语句“a++”运行的次数为:
inti,j,a=0;
2;
i++)
for(j=4,j>
=0;
j--)
a++;
printf(“a=%d\n”,a);
10
8.下面的程序运行后,a的值为:
{inti,j,a=0;
i++)a++;
j--)a++;
7
9.下面程序的运行结果为:
inti=1,s=3;
s+=i++;
if(s%7==0)continue;
else++i;
}while(s<
15);
printf(“%d”,i);
8
10.当运行以下程序时,从键盘输入China#回车,则下面程序的运行结果是:
#include“”
intv1=0,v2=0;
charc;
while((c=getchar())!
=’#’)
{switch(c)
{case‘a’:
case‘h’:
default:
v1++;
case‘o’:
v2++;
printf(“%d,%d\n”,v1,v2);
5,5
三、改错题
for(i-0,i<
5,i++)j++;
for(i-0;
i++)j++;
while(j<
10);
{j++;
i=j;
while(j<
/*不要分号*/{j++;
3.
do{j++;
a=j;
}while(j<
do{j++;
/*必须要有分号*/
4.用下面程序来实现5!
ints=1,i=1;
while(i<
=5)
{s*=i;
i++;
/*在做循环时,循环体必须用大括号括起来*/
5.下面程序段实现求半径r=1到r=10的圆面积,直到面积大于100为止。
for(r=1;
r<
=10;
r++)/*for不能大写*/
s=*r*r;
if(s>
100)continue;
/*当完成循环任务时,应该用break来终止循环*/
printf(“%f\n”,s);
四、编程题
求1-2+3-4+…+99-100。
inti,sum,m;
m=1;
sum=0;
for(i=1;
fabs(m)<
=99;
{
m=i*pow(-1,i-1);
sum=sum+m;
}
printf("
sum=%d\n"
sum);
}
2.任意输入10个数,分别计算输出其中的正数和负数之和。
intm,n,k,i;
k=0;
n=0;
printf("
请输入第%d个数字:
"
i);
scanf("
%d"
&
m);
if(m>
0)
k=k+m;
else
n=n+m;
负数和n=%d\n正数和k=%d\n"
n,k);
3.计算1---100以内的所有含6的数的和。
intm=0,n=0,i,j;
for(i=0;
=9;
for(j=0;
j<
j++)
if(i==6||j==6)
{
n=n+i*10+j;
%6d"
i*10+j);
}
%d\n"
n);
6+16+26+36+46+56+66+76+86+96+60+61+62+63+64+65+67+68+69);
4.输出所有的3位水仙花数。
所谓水仙花数是指所有位的数字的立方之和等于该数,例如:
153=13+33+53
intm,n,k,i,j,p=0;
for(k=0;
{
m=i*100+j*10+k;
n=i*i*i+j*j*j+k*k*k;
if(m==n)
printf("
所有3位数中第%d水仙花数为%d\nf"
++p,m);
}
5.编写程序输出下面图形。
1
23
456
7890
inti,j,t=0;
4;
i++)//控制整个数组的行数
=i;
j++)//使整个数字从1开始循环
t=t+1;
//用t表示要输出的数字
if(t==10)printf("
0"
);
elseprintf("
t);
//将10转换为0
\n"
//控制换行
6.
编写程序输出下面图形
*
***
*****
*******
inti,j,m,n;
3;
i++)//显示总共有几行符号
for(m=2;
m>
m--)
"
//输入相应的空格数,使每一行的符号相应的减少
for(n=6;
n>
5-i*2;
n--)
*"
//输入相应的*个数
for(j=0;
j++)//显示总共有几行符号
for(m=1;
m<
m++)
printf("
for(n=0;
n<
7-j*2;
n++)
}精心搜集整理,只为你的需要
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 循环 习题