菏泽学院 黄复贤
循环-测验
1【单选题】
设有程序段
int m=20;
while (m=0) m=m++;
A、while 循环执行 10 次
B、循环是无限循环
C、循环体语句一次也不执行
D、循环体语句执行一次
正确答案:C
2【单选题】
下列程序段执行后s的值为( )。
int i=5, s=0;
while(i--)
if (i%2) continue;
else s+=i;
A、15
B、10
C、9
D、6
正确答案:D
3【单选题】
以下程序段的输出结果是()。
int main()
{
int num = 0, s = 0;
while(num <= 2)
{
num ++;
s += num;
}
printf("%d\n",s);
return 0;
}
A、10
B、6
C、3
D、1
正确答案:B
4【单选题】
下列叙述中正确的是()。
A、do-while语句构成的循环不能用其他语句构成的循环来代替
B、do-while语句构成的循环只能用break语句退出
C、用do-while语句构成的循环,在while后的表达式为非零时结束循环
D、用do-while语句构成的循环,在while后的表达式为零时结束循环
正确答案:D
5【单选题】
以下程序段若要使输出值为2,则应该从键盘给n输入的值是
int s = 0, a = 1, n;
scanf("%d", &n);
do
{
s += 1; a = a - 2;
} while (a != n);
printf("%d\n", s);
A、-1
B、-3
C、-5
D、0
正确答案:C
6【单选题】
下面的这个循环的循环次数是( )。
int i,j;
for( i=0,j=10; i=j=10; i++,j--)
A、语法错误,不能执行
B、无限次
C、10
D、1
正确答案:B
7【单选题】
语句for (表达式1; ; 表达式3)等价于?( )
A、for ( 表达式1; 0 ; 表达式3 )
B、for ( 表达式1; 1 ; 表达式3 )
C、for ( 表达式1; 表达式1; 表达式3 )
D、for ( 表达式1; 表达式3; 表达式3 )
正确答案:B
8【单选题】
要求以下程序的功能是计算:s=1+
2
1
+
3
1
+ ... +
10
1
,但运行后输出结果错误,导致错误结果的程序行是
#include <stdio.h>
int main(void)
{
int n; float s;
s = 1.0;
for (n = 10; n > 1; n--)s = s + 1 / n;
printf("%6.4f\n", s);
return 0;
}
A、int n; float s;
B、for (n = 10; n > 1; n--)
C、s = s + 1 / n;
D、s = 1.0;
正确答案:C
9【单选题】
循环 for(i=0, j=5; ++i!=--j; ) printf(“%d %d”, i, j); 将执行_。
A、6
B、3
C、0
D、无限次
正确答案:D
10【单选题】
下列程序段的输出结果是()。
int main(void)
{
int i;
for( i = 1; i < 6; i ++) {
if( i % 2 != 0) {
printf("#");
continue;
}
printf("*");
}
printf("\n");
return 0;
}
A、#*#*#
B、#####
C、*****
D、*#*#*
正确答案:A
模块化程序设计
1【单选题】
在一个被调用函数中,关于 return 语句使用的描述,错误的是( )
A、被调用函数中可以不用 return 语句
B、被调用函数中可以使用多个 return 语句
C、被调用函数中,如果有返回值,就一定要有 return 语句
D、被调用函数中,一个 return 语句可以返回多个值给调用函数
正确答案:D
2【单选题】
对于以下递归函数f,调用f(4),其返回值为() 。
int f(int n)
{
if (n) return f(n - 1) + n;
else return n;
}
A、10
B、4
C、0
D、以上均不是
正确答案:A
3【单选题】
C语言中函数返回值的类型是由( )决定的。
A、return语句中的表达式类型
B、调用该函数的主调函数的类型
C、调用函数时临时决定
D、定义函数时所指定的函数类型
正确答案:D
4【单选题】
以下( )函数的定义是错误的?
A、void f(int i) { return i+1; }
B、void f( ) { }
C、void f(int i) { }
D、int f( ) { return 0; }
正确答案:A
5【单选题】
以下函数值的类型是()。
fun(float x)
{
float y;
y=3*x-4;
return y;
}
A、int
B、不确定
C、void
D、float
正确答案:A
6【单选题】
调用函数f(27)的输出结果是( )。
void f(int n)
{ if(n<5)
printf("%d", n);
else{
printf("%d", n%5);
f(n/5);
}
}
A、102
B、201
C、21
D、20
正确答案:B
7【单选题】
一个递归算法必须包括()。
A、递归部分
B、终止条件和递归部分
C、循环部分
D、终止条件和循环部分
正确答案:B
8【单选题】
有如下函数调用语句: func(rec1, rec2+rec3, (rec4, rec5)); 则该函数调用语句中,含有的实参个数是( )。
A、3
B、4
C、5
D、有语法错
正确答案:A
9【单选题】
在C语言中,下列错误的说法是。
A、函数可以递归调用
B、不允许在函数定义中再定义函数
C、递归程序不可能用非递归算法实现
D、对于continue语句,可以通过改变程序的结构而不使用它
正确答案:C
10【单选题】
对于以下递归函数 f ,调用 f(4),其返回值为( )。
int f(int n)
{ return f(n-1)+n; }
A、10
B、11
C、0
D、以上均不是
正确答案:D
评论(0)