第五章测试1.
有以下C语言程序段:
int x;
scanf(“%d”,&x);
while(x>0)
{
x=x-1;
printf(“%d”,x);
}
当x输入为0时,输出结果为( )。
A:
43210
B:0
C:无
D:5
答案:C
2.
while与do-while语句的区别是( )。
A:
while语句比do-while语句执行循环体的次数多一次
B:while与do-while的功能完全一样
C:如果开始时循环语句不成立,那么while语句的循环一次都不执行,do-while语句的循环至少执行一次
D:do-while语句比while语句执行循环体的次数多一次
3.已定义i和sum都为整数,以下C语言程序段的功能为( )。
sum=0; i=1;
while(i<=100)
{ sum=sum+i;
i++;
}
printf(“%d”,sum);
A:
求1到100内所有整数的和
B:求1到100内所有整数的积
C:求1到100内所有偶数的和
D:求1到100内所有奇数的和
4.有以下C语言程序段:
int x;
scanf(“%d”,&x);
while(x>0)
x=x-1;
printf(“%d”,x);
当x输入为5时,输出结果为( )。
A:54321 B:0 C:43210 D:5 5.
有以下程序段:
int k=5;
while(--k) printf('%d',k -= 3);
执行后的输出结果是( )。
A:3 B:1 C:0 D:2 6.
do-while语句的循环体至少执行1次,while和for循环的循环体可能一次也执行不到。
A:错 B:对 7.
已定义整型变量sum和i,及实型变量ave,以下程序段的功能是:用do-while语句实现,输入若干学生的整数成绩(以-1结束输入),求这些成绩的平均值ave。请在下划线处填写正确的语句( )。
i=0;
do
{
scanf(“%d”,&x);
sum=sum+x;
i++; //i为输入整数成绩的个数
}while(______);
sum=sum+1;//总分去掉多加的-1
ave=1.0*sum/i;
A:
i>=10
B:i<=10
C:x==-1
D:x!=-1
8.有以下C语言程序段:
int x;
scanf(“%d”,&x);
do
{
x=x-1;
printf(“%d”,x);
} while(x>0);
当x输入为5时,输出结果为( )。
A:
0
B:43210
C:54321
D:-1
9.do-while循环中while()后的分号可以省略。
A:错 B:对 10.
以下程序段,可以实现 sum=1-1/(2*2)+1/(3*3)-1/(4*4)+…+1/(n*n),请在下划线处写入正确的语句( )。
int i,f=1; //f表示每个加项的正负号
flaotsum=0;
for(i=1;i<=n;i++)
{
sum=sum+_____________;
f=-f;
}
A:
1/i*i
B:f*1.0/(i*i)
C:1.0/(i*i)
D:1/(i*i)
11.已定义整型变量i和sum,与以下程序段功能一样的程序有( )。
sum=0;
for(i=1;i<=100;i++)sum+=i;
A:
sum=0;for(i=1;;i++ )
B:sum=0;i=1;for( ; i<=100;i++) sum+=i;
C:sum=0;for(i=1;i<=100;){i++;sum+=i;}
D:sum=0;for(i=1;i<=100;) sum+=i;i++;
12.for语句后的( )内,有几个表达式( )?
A:
2
B:4
C:3
D:1
13.已定义整型变量s、n和i,以下程序段中,能够实现s=n!,即s为n的阶层。请在下划线处写入正确的语句( )。
scanf(“%d”,&n);
s=1;
for(i=1;i<=n;i++)
__________;
A:
s=s+n
B:s*=i
C:s+=i
D:s=s*n
14.以下关于break说法正确的是( )。
A:
break只能用在循环语句中。
B:break可以终止所有的循环。
C:break可以终止本层循环。
D:break只能用在switch语句中。
15.在C语言的循环语句for、while、do-while中,用于结束本次循环,继续执行下一次循环的语句是( )。
A:
if
B:break
C:switch
D:continue
16.有以下程序段的功能是( )。
int i, s=0;
for(i=1;i<=100;i++)
{ s=s+i;
if(i>10) break;}
}
A:1+2+……+100 B:1+2+……+11 C:1+2+……+9 D:1+2+……+10 17.
程序的功能是输出以下图形,请在下划线处写入正确的语句。( )
*
**
***
****
*****
for(i=1;i<=5;i++)
{
for(j=1;________;j++)
putchar(‘*’);
putchar(‘’);
}
A:
j<i
B:j<=3
C:j<=i
D:j<=5
18.以下程序段,循环体可以循环几次( )。
for(i=1;i<=3;i++)
for(j=1;j<=4;j++)
{循环体};
A:
7
B:3
C:12
D:4
19.while、do-while、for语句可以互相嵌套,但是不能自身嵌套。
A:对 B:错 20.
若一个循环体中包含另一个完整的循环结构则称为循环的嵌套。
A:对 B:错