5月5日《编程语言基础-C语言》(选择题一)
您的姓名:
1. 以下关于C语言源程序的叙述中,正确的是()
A. 一个C程序只能有一个函数,那就是主函数
B. 所有函数都必须放在主函数之前
C. 注释可以出现在程序的任何位置
D. 每行只能写一条语句
2. 若有定义:float x=3.14; 则表达式 (int)x 的值是()
A. 3.14
B. 3
C. 4
D. 3.0
3. 表达式 (3<5) ? 6 : 7 的值是()
A. 3
B. 5
C. 6
D. 7
4. 若有 int a=10; 则执行 printf("%d,%d", a, a++); 的输出结果是()
A. 10,10
B. 10,11
C. 11,10
D. 11,11
5. 以下程序段输出结果是()
int x=2, y=3;
if (x>y) x++;
else y--;
printf("%d,%d", x, y);
A. 2,2
B. 2,3
C. 3,2
D. 3,3
6. 以下程序的输出结果是()
int i=1, s;
do {
s += i;
i++;
} while (i<=3);
printf("%d", s);
A. 3
B. 6
C. 1
D.不确定的值
7. 以下程序段执行后,输出星号的数量是()
for (int i=1; i<=3; i++)
for (int j=1; j<=i; j++)
printf("*");
A. 3
B. 4
C. 5
D. 6
8. 若有定义:int a[2][3]={{1,2},{3,4,5}}; 则 a[1][2] 的值是()
A. 3
B. 4
C. 5
D. 0
9. 以下能正确输出字符串"Hello"的语句是()
A. char s[5]="Hello"; printf("%s",s);
B. char s[]={'H','e','l','l','o'}; printf("%s",s);
C. char s[6]="Hello"; printf("%s",s);
D. char s[]={'H','e','l','l','o','\0'}; printf("%c",s);
10. 以下函数定义中,正确的是()
A. void fun(int x, int y) { return x+y; }
B. int fun(int x, y) { return x+y; }
C. int fun(int x, int y) { return x+y; }
D. int fun(x, y) { return x+y; }
11. 以下递归函数的功能是()
int fun(int n) {
if (n==1) return 1;
else return n + fun(n-1);
}
A. 计算n的阶乘
B. 计算1+2+...+n
C. 计算n的平方
D. 计算n的n次方
12. 以下关于C语言程序结构的叙述中,错误的是()
A. C程序由一个或多个函数组成,但必须有且仅有一个main函数
B. C程序的执行总是从main函数开始,在main函数中结束
C. 可以在一个函数内部定义另一个函数
D. 函数可以嵌套调用,但不能嵌套定义
13. 若有定义:int a=5, b=2; 则表达式 (float)a/b 的值是()
A. 2
B. 2.5
C. 2.0
D. 2.500000
14. 若有定义:int x=1, y=2, z=3; 则表达式 (x>y?x:y)>z? (x>y?x:y):z 的值是()
A. 1
B. 2
C. 3
D. 表达式错误
15. 若有定义:int a=5; 则执行语句 printf("%d,%d", a, (a=3)); 的输出结果是()
A. 3,3
B. 3,5
C. 5,3
D. 5,5
16. 以下程序的输出结果是()
int x=2, y=3;
if (x++ > y)
printf("A");
else
printf("B");
printf("%d,%d", x, y);
A. A2,3
B. B2,3
C. A3,3
D. B3,3
17. 以下程序段的输出结果是()
int i, j, s = 0;
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
if (i == j) break;
s += i + j;
}
}
printf("%d", s);
A. 3
B. 4
C. 5
D. 6
18. 以下程序的输出结果是()
int i, j, s = 0;
for (i = 0; i < 4; i++) {
for (j = 0; j < 4; j++) {
if (i == j) continue;
s += i * j;
if (s > 20) break;
}
if (s > 20) break;
}
printf("%d", s);
A. 18
B. 20
C. 22
D. 24
19. 运行以下程序段的运行结果是( )
int a[6] = {2, 4, 6, 8, 10, 12};
int i, j, s = 0;
for(i = 0; i < 5; i++) {
for(j = i+1; j < 6; j++) {
if(a[j] % a[i] == 0)
s += a[i];
}
}
printf("%d", s);
A. 12
B. 18
C. 24
D. 30
20. 以下程序段的输出结果为( )
int a[3][4] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};
int i, j, max, s = 0;
for(j = 0; j < 4; j++) {
max = a[0][j];
for(i = 1; i < 3; i++) {
if(a[i][j] > max)
max = a[i][j];
}
s += max;
}
printf("%d", s);
A. 30
B. 38
C. 42
D. 48
关闭
更多问卷
复制此问卷