{ x = i;
if( ++x % 2 == 0) if( ++x % 3 == 0 ) if( ++x % 7 == 0) printf(“%d “, x);
}
printf(“\\n”); return 0;
}
7. A以下程序的输出结果是 。
int main() { int i;
for(i=0; i<3; i++) switch(i)
{ case 1: printf(\case 2: printf(\default : printf(\}
return 0; }
A) 011122 B) 012 C) 012020 D) 120
8. A以下程序的功能是:按顺序读入10名学生4门课程的成绩,计算出每位学生的平均
分并输出,程序如下:
int main() { int n,k;
float score,sum,ave; for(n=1;n<=10;n++) { sum=0.0;
for(k=1;k<=4;k++ ) {
scanf(\sum+=score; }
ave=sum/4.0;
printf(\}
return 0; }
上述程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确。这条语句是 。
A) sum=0.0; B) sum+=score;
C) ave=sum/4.0 D) printf(\:%f\\n\
9. D以下程序段的输出结果是 。
int k, j, s;
16
for(k = 2; k < 6; k++, k++) { s = 1;
for(j = k; j < 6; j++) s += j; }
printf(“%d\\n”, s);
A)9 B)24 C)15 D)10
10. C以下程序段的输出结果是 。
int i, j, m = 0;
for(i = 1; i <= 15; i += 4) for(j = 3; j <= 19; j += 4) m++;
printf(“%d\\n”, m);
A)12 B)15 C)20 D11. C以下程序的输出结果是 。
#include
for(i = 1; i < 5; i++) {
if(i % 2) putchar(‘<’);
else continue; putchar(‘>’); }
putchar (‘#’); return 0; }
A)< > < > < > # B)> < > < > < # C12. B以下程序的输出结果是 。
int main() { int y = 10
for(; y > 0; y --) if(y % 3 == 0)
{ pritnf(“%d”, --y); continue; }
return 0; }
A)741 B)852 C)963 DC在下述程序中,判断i > j共执行了 次。#include
int i = 0, j = 10, k = 2, s = 0;
17
)25
)< > < > # D)875421
)> < > < #
for( ; ; ) {
i += k; if(i > j)
{ printf(“%d\\n”, s); break; } s += i; }
return 0;
}
A)4 B)7 C)6 D)8
13. D以下叙述正确的是 。
A)do-while语句构成的循环不能用其它语句构成的循环来代替。 B)do-while语句构成的循环只能用break语句退出。
C)用do-while构成循环时,只有在while后的表达式为非零时结束循环。 D)用do-while构成循环时,只有在while后的表达式为零时结束循环。 二、填空题
1.以下程序段的输出结果是 死循环,无输出结果 。 int k, n, m;
n = 10; m = 1; k = 1; while( k <= n )
m *= 2;
printf(“%d\\n”, m);
2.以下程序的输出结果是 -1 。 int main() { int x = 2;
while ( x-- );
printf(“%d\\n”, x); return 0;
}
3.若依次输入字符AB,在以下while语句执行后ch的值是 0 。 while( ch = getchar() == ‘A’);
4.阅读下面程序,则执行后程序的结果为 15,16 。
#include \int main() {
int a=0,b=0; while(a<15) a++;
while(b++<15);
printf(\\n\);
return 0;
18
}
5.以下程序的功能是:从键盘上输入若干学生的成绩,统计并输出最高成绩和最低成绩,当输入为负数时结束输入。请填空。 int main()
{ float x, amax, amin;
scanf(“%f”, &x); amax = x; amin = x; while( ) x>=0 { if( x > amax ) amax = x; if( ) amin = x; x
printf(“\\namax = %f\\naming = %f\\n”, amax, amin); return 0;
}
6.以下程序段的输出结果是 11 。 int i = 0, sum = 1; do
{ sum += i++; } while( i < 5);
printf(“%d\\n”, sum);
7.阅读下面程序,程序执行后的输出结果为 0918273645 。
#include \int main() {
char a,b;
for(a=′0′,b=′9′;a
8.执行以下程序后的输出结果是 i=5,j=4,k=6 。 int main() {
int a, b, c, d, i, j, k;
a = 10; b = c = d = 5; i = j = k = 0;
for( ; a > b; ++b)
i++;
while( a > ++c )
j++;
do
k++;
while(a > d++);
printf(“i = %d, j = %d, k = %d\\n”, i, j, k);
19
return 0;
}
9.有以下程序段: s = 1.0;
for(k = 1; k <= n; k++)
s = s + 1.0 / (k * (k + 1));
printf(“%f\\n”, s);
请填空,使下面的程序段的功能完全与之等同。
s = 0.0;
; d=1.0 k = 0; do
{ s += d; ; k++ d = 1.0 / (k * (k + 1));
}while( ); k<=n printf(“%f\\n”, s);
10.下列程序的功能是输入一个整数,判断其是否是素数,若为素数输出1,否则输出0.请填空。
int main() { int i, x, y=1;
scanf(\);
for(i=2; i<= ; i++) x/2 if { y=0; break;} x%i==0 printf(\\n\); return 0; }
第六章 利用数组处理批量数据
一、选择题
D1. 以下对整型数组a的正确说明是
A) int a(10); B) int n = 10, a[n]; C) int n; D) #define SIZE 10 scanf(“%d”,&n); int a[SIZE];
int a[n];
B2. 以下对数组初始化错误的是
A) int a[2][3]={1,2,3,4}; B) int [2][]={1,2,3,4,5,6}; C) int a[2][3]={{1,2,3},{4,5}} D) int a[][3]={1,2,3,4,5,6}; B3. 若想将一个字符数组a的内容存入另一个字符数组b中,下列正确的是
A) b=a; B) strcpy(b,a); C) strcpy(a,b); D)
strcat(b,a);
D4. 若有以下说明
20