计算机二级c语言第五章循环结构试题
循环结构
一、选择题
1、有以下程序段
int n,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< n;i++) f*=i;
C)f=1; D)f=1;
for(i=n;i> 1;i++) f*=i; for(i=n;i>=2;i--) f*=i;
3、有以下程序
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
4、C语言中
A)不能使用do-while语句构成的循环
B)do-while语句构成的循环必须用break语句才能退出
C)do-while语句构成的循环,当while语句中的表达式值为非零时结束循环
D)do-while语句构成的循环,当while语句中的表达式值为零时结束循环
5、要求以下程序的功能是计算:1+1/2+1/3+......+1/10
main ()
{int n; float s;
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);
6、有以下程序段
int n=0,p;