3-3循环结构
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3-3循环结构
1、while do-while
(1)以下程序运行后的输出结果是【1】。
#include “stdio.h”
main()
{ int i=10, j=0;
do
{ j=j+i; i--;}
while(i>2);
printf(“%d\n”,j);}
(2) 设有以下程序:
#include “stdio.h”
main()
{ int n1,n2;
sc anf(“%d”,&n2);
while(n2!=0)
{ n1=n2%10;
n2=n2/10;
printf(“%d”,n1);
}
}
程序运行后,如果从键盘上输入1298;则输出结果为【2】。(4)有以下程序:
#include
main()
{ char c;
while((c=getchar( ))!=’?’) putchar(--c);
}
程序运行时,如果从键盘输入:Y?N?<回车>,则输出结果为【4】。
(5) 以下程序中,while循环的循环次数是
main()
{ int i=0;
while(i<10)
{ if(i<1) continue;
if(I==5) break;
i++;
}
......
}
A) 1 B) 10
C) 6 D)死循环,不能确定次数
(6) t为int类型,进人下面的循环之前,t的值为0
while( t=l )
{ …… }
则以下叙述中正确的是
A) 循环控制表达式的值为0 B) 循环控制表达式的值为1
C) 循环控制表达式不合法D) 以上说法都不对
(7) 以下程序的输出结果是
main()
{ int num= 0;
while(num<=2)
{ num++; printf(“%d\n”,num);
}
A) 1 B) 1 C)1 D) l
2 2 2
3 3
4
(8) 有以下程序段
int n=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
(9) 有以下程序
main ()
{ int s=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
(10) 以下程序段输出结果是()。
int x=3;
do
{ printf("%3d",x-=2);
}while(!(--x));
(A)1 (B)3 0 (C)1 -2 (D)死循环
(11) 有以下程序段
int k=0
while(k=1)k++;
while 循环执行的次数是
A) 无限次B) 有语法错,不能执行
C) 一次也不执行D) 执行1次
2、for
(1) 以下程序的输出结果是【1】。
#include
main()
{int s,i;
for(s=0,i=1;i<3;i++,s+=i);
printf("%d\n",s);
}
(2) 以下程序运行后的输出结果是【2】。
#include
main()
{ int i,m=0, n=0, k=0;
for (i=9; i<=11; i++)
switch(i/10)
{ case 0 : m++; n++; break;
case 10: n++;break;
default: k++;n++;
}
printf("%d %d %d\n",m,n,k);
}
(3) 若有如下程序段,其中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;
(5) 要求以下程序的功能是计算: 101
(3121)
1+++=s
#include
main ()
{ int n; float s;
s=1.0;
for(n=10;n>1;n--)
s=s+1/n;
printf("%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);
(6) 以下程序的输出结果是
#include
main()
{ int a=0,i;
for(i=;i<5;i++)
{ switch(i)
{ case 0:
case 3:a+=2;
case 1:
case 2:a+=3;
default:a+=5;
}
}
printf("%d\n",a);}
A) 31 B) 13 C) 10 D) 20
(7) 以下程序执行后sum 的值是
A)15 B)14 C) 不确定
D )0