菏泽学院 黄复贤

循环-测验

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

声明:本站所有文章,如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。