2-1
The following piece of code prints out__.
for (a=1,i=-1; -1<=i<1; i++) {
a++;
printf("%2d", a);
}
printf("%2d", i);
(1分)
B.
-1
作者
往年试卷
单位
浙江大学
2-1
2-2
The following code fragment outputs the string str. The loop condition str[i]!=’\0’ can be replaced by __.
char str[80]=“hello, world”;
for (i = 0; str[i] != ‘\0’; i++)
putchar(str[i]);
(1分)
B.
i < 80
作者
往年试卷
单位
浙江大学
2-2
2-3
After executing the following code fragment, the value of variable m is __.
int m;
for( m=0; m<9; m++ ) m++;
(1分)
C.
10
作者
往年试卷
单位
浙江大学
2-3
答案正确
(1 分)
2-4
假设变量s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0),则与以下程序段功能等价的赋值语句是()。
s = a;
for(b = 1; b <= c; b++)
s = s + 1;
(1分)
B.
s = a + c;
作者
颜晖
单位
浙江大学
2-4
答案正确
(1 分)
2-5
下列程序段的输出结果是()。
int main(void)
{
for(int i = 1; i < 6; i ++) {
if( i % 2 != 0) {
printf("#");
continue;
}
printf("*");
}
printf("\n");
return 0;
}
(1分)
A.
###
作者
颜晖
单位
浙江大学
2-5
答案正确
(1 分)
2-6
循环 for(i=0, j=5; ++i!=–j; ) printf(“%d %d”, i, j); 将执行_____。
(1分)
D.
无限次
作者
徐镜春
单位
浙江大学
2-6
答案正确
(1 分)
2-7
如下程序的执行结果是
#include
int main (void)
{
int i, sum = 0;
for ( i = 1; i <= 3; sum ++ )
sum += i ;
printf ("%d\n", sum);
return 0;
}
(1分)
C.
死循环
作者
李廷元
单位
中国民用航空飞行学院
2-7
答案正确
(1 分)
2-8
下列程序段的功能是
#include
int main (void)
{
int i, s = 0;
for (i = 1; i < 10; i += 2)
s += i + 1;
printf("%d\n", s);
return 0;
}
(1分)
D.
自然数1~10中的偶数之和
作者
李廷元
单位
中国民用航空飞行学院
2-8
2-9
等比数列的第一项a=1,公比q=2,下面程序段计算前n项和小于100的最大n。程序[(1)]处应填
#include
int main (void)
{
int a, q, n, sum;
a = 1; q = 2;
for (n = sum = 0; sum < 100; n++) {
sum += a;
a *= q;
}
[ (1) ] ;
printf(“n = %d\n”, n);
return 0;
}
(1分)
C.
n–
作者
李廷元
单位
中国民用航空飞行学院
2-9
2-10
下面程序运行时如果输入“-1 2 3 3 6 2<回车>”,则输出结果是
#include
int main(void)
{
int t, a, b, i;
for (i = 1; i <= 3; i++) {
scanf("%d%d", &a, &b);
if (a > b)t = a - b;
else if (a == b)t = 1;
else t = b - a;
printf("%d", t);
}
return 0;
}
(1分)
B.
314
作者
李廷元
单位
中国民用航空飞行学院
2-10
答案正确
(1 分)
2-11
下列程序运行时输入“7mazon<回车>”,则输出结果是
#include
int main(void)
{
char c;
int i;
for (i = 1; i <= 5; i++) {
c = getchar();
if (c >= ‘a’ && c <= ‘u’)c += 5;
else if (c >= ‘v’ && c <= ‘z’)c = ‘a’ + c - ‘v’;
putchar©;
}
return 0;
}
(1分)
A.
7rfet
作者
李廷元
单位
中国民用航空飞行学院
2-11
答案正确
(1 分)
2-12
执行下面的程序后变量a的值是
#include
int main(void)
{
int a, b;
for (a = 1, b = 1; a <= 100; a++) {
if (b > 10)break;
if (b % 3 == 1) {
b += 3;
continue;
}
b -= 3;
}
printf("%d\n", a);
return 0;
}
(1分)
A.
5
作者
李廷元
单位
中国民用航空飞行学院
2-12
答案正确
(1 分)
2-13
要求以下程序的功能是计算:s=1+
2
1
+
3
1
+ … +
10
1
,但运行后输出结果错误,导致错误结果的程序行是
#include
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;
}
(1分)
C.
s = s + 1 / n;
作者
李廷元
单位
中国民用航空飞行学院
2-13
答案正确
(1 分)
2-14
以下程序段的输出结果是
int i;
for (i = 1; i <= 5; i++) {
if (i % 2)printf(" <");
else continue;
printf(" >");
}
printf("$");
(1分)
B.
< < < $
作者
李廷元
单位
中国民用航空飞行学院
2-14
2-15
若变量已正确定义,要求程序段完成求5!的计算,以下不能完成此操作的是
(1分)
B.
for (i = 1; i <= 5; i++) {p = 1; p *= i;}
作者
李廷元
单位
中国民用航空飞行学院
2-15
答案正确
(1 分)
2-16
以下程序段( )的功能是计算序列 1 + 1/2 + 1/3 + … 的前N项之和。
(1分)
C.
int i, n;
double sum;
scanf("%d", &n);
sum = 0;
for (i = 1; i <= n; i++){
sum = sum + 1.0/i;
}
作者
颜晖
单位
浙江大学城市学院
2-16
答案正确
(1 分)
2-17
以下程序段( )的功能是计算n的阶乘,假设计算结果不超过双精度范围。
(1分)
D.
int i, n;
double product;
scanf("%d", &n);
product = 1;
for (i = 1; i <= n; i++){
product = product * i;
}
作者
颜晖
单位
浙江大学城市学院
2-17
答案正确
(1 分)
2-18
下面的这个循环的循环次数是( )。 for(int i=0,j=10; i=j=10; i++,j–)
(1分)
C.
10
作者
王秀
单位
福州大学
2-18
2-19
After running the following piece of code, the value of s is __.
int i=5, s=0;
do {
if (i%2) continue;
else s += i;
} while(–i);
(1分)
C.
6
作者
往年试卷
单位
浙江大学
2-19
答案正确
(1 分)
2-20
下列程序段执行后s的值为( )。
int i=5, s=0;
while(i–)
if (i%2) continue;
else s+=i;
(1分)
D.
6
作者
王秀
单位
福州大学
2-20
答案正确
(1 分)
2-21
The following code fragment prints out __.
int a=2,b=9;
do{
b-=a;
a++;
}while(b–<0);
printf(“a=%d,b=%d\n”,a,b);
(1分)
C.
a=3, b=6
作者
往年试卷
单位
浙江大学
2-21
答案正确
(1 分)
2-22
下列程序段执行后s值为__。
int i=5, s=0;
while(i–)
if (i%2) continue;
else s+=i;
(1分)
D.
6
作者
往年试卷
单位
浙江大学
2-22
答案正确
(1 分)
2-23
设有程序段
int m=20; while (m=0) m=m++;
则下面描述中正确的是( )。
(1分)
C.
循环体语句一次也不执行
作者
王秀
单位
福州大学
2-23
答案正确
(1 分)
2-24
对下列代码的描述:
#include “stdio.h”
int main(){
long num=1;
while(num++ > 0) for(long i=num; i >=0; i–)printf(“i :=\n \t %ld \n” , i);
return 0;
}
正确的是:
(1分)
C.
循环有限次,程序正常结束,打印输出有限行
作者
周强
单位
青岛大学
2-24
2-25
C语言中while和do-while循环的主要区别是()。
(1分)
A.
do-while的循环体至少无条件执行一次
作者
颜晖
单位
浙江大学城市学院
2-25
答案正确
(1 分)
2-26
下列叙述中正确的是()。
(1分)
D.
用do-while语句构成的循环,在while后的表达式为零时结束循环
作者
颜晖
单位
浙江大学城市学院
2-26
答案正确
(1 分)
2-27
以下程序段的输出结果是()。
int main(void)
{
int num = 0, s = 0;
while(num <= 2){
num ++;
s += num;
}
printf("%d\n",s);
return 0;
}
(1分)
B.
6
作者
颜晖
单位
浙江大学城市学院
2-27
答案正确
(1 分)
2-28
运行以下程序后,如果从键盘上输入65 14<回车>,则输出结果为()。
int main(void)
{
int m, n;
printf("Enter m,n;");
scanf("%d%d", &m,&n);
while (m != n)
{ while (m > n) m = m - n;
while (n > m) n = n - m;
}
printf("m=%d\n",m);
return 0;
}
(1分)
C.
m=1
作者
颜晖
单位
浙江大学城市学院
2-28
答案正确
(1 分)
2-29
对于循环while(!e) 语句,!e等价于____。
(1分)
A.
e==0
作者
徐镜春
单位
浙江大学
2-29
答案正确
(1 分)
2-30
若变量已正确定义,对以下while循环结束条件的准确描述是()。
flag = 1;
denominator = 1;
item = 1.0;
pi = 0;
while(fabs(item) >= 0.0001){
item = flag * 1.0 / denominator;
pi = pi + item;
flag = -flag;
denominator = denominator + 2;
}
(1分)
A.
item的绝对值小于0.0001
作者
颜晖
单位
浙江大学城市学院
2-30