一、单项选择题(只有一个选项正确,共10道小题) |
1. C语言表示逻辑假的方法是 |
(A) FALSE |
(B) 0 |
(C) 1 |
(D) NULL |
你选择的答案: 未选择 [错误] |
正确答案:B |
解答参考: | |
|
2. C语言开始执行程序的开始执行点是 |
(A) 程序中第一条可执行的语句 |
(B) 程序中第一个函数 |
(C) 程序中的main( )函数 |
(D) 包含文件中的第一个函数 |
你选择的答案: 未选择 [错误] |
正确答案:C |
解答参考: | |
|
3. continue语句的作用是 |
(A) 中止函数的执行 |
(B) 立即中止循环 |
(C) 中止本次循环,直接开始下一次循环 |
(D) 从一个循环体直接跳转至另一个循环体内 |
你选择的答案: 未选择 [错误] |
正确答案:C |
解答参考: | |
|
4. 有定义static int a[]={1, 2, 3, 4},*p ; 执行语句p=a+2 ; 后,表达式*p的值为 。 |
(A) 4 |
(B) 1 |
(C) 2 |
(D) 3 |
你选择的答案: 未选择 [错误] |
正确答案:D |
解答参考: | |
|
5. 下面用scanf语句获得从键盘输入的值,正确的语句是: |
(A) int a[12]; scanf(“%d”,&a[1]); |
(B) char a[12]; scanf(“%s”,&a); |
(C) int a[12]; scanf(“%d”,a[1]); |
(D) int a; scanf(“%d”,a); |
你选择的答案: 未选择 [错误] |
正确答案:A |
解答参考: | |
|
6.
若有以下说明语句,且0<=i<=10,则 ( )是对数组元素的错误引用。
int a[]={1,2,3,4,5,6,7,8,9,0},*p,i;
p=a;
|
(A) *(a+i) |
(B) p+i |
(C) a[i] |
(D) *(&a[i] ) |
你选择的答案: 未选择 [错误] |
正确答案:B |
解答参考: | |
|
7.
以下程序的输出结果是 。
#define SQR(X) X*X
main()
{ int a=16, k=2, m=1;
a/=SQR(k+m)/SQR(k+m);
printf("d\n", a);
}
|
(A)
16 |
(B) 2 |
(C) 9 |
(D) 1 |
你选择的答案: 未选择 [错误] |
正确答案:B |
解答参考: | |
|
8. C语言中,形参与实参之间的数据传递方式是____。 |
(A) 只能按值传递 |
(B) 只能按地址传递 |
(C) 由使用者指定传递方式 |
(D) 既可以按值传递也可以按地址传递 |
你选择的答案: 未选择 [错误] |
正确答案:A |
解答参考: | |
|
9.
若有定义 struct { int a[5]; } b; 则正确表达成员数组a的最后一个元素的地址表达式是
。 |
(A) b.a |
(B) b.a[5] |
(C) b.a+4 |
(D) &(&b->a[4]) |
你选择的答案: 未选择 [错误] |
正确答案:C |
解答参考: | |
|
10. 若有函数说明为 void f(double *s); 则以下函数调用正确的是 。 |
(A) double x; f(x); |
(B) double x; f(*x); |
(C) double x; f(&x); |
(D) int x; f(&x); |
你选择的答案: 未选择 [错误] |
正确答案:C |
解答参考: | |
|
(注意:若有主观题目,请按照题目,离线完成,完成后纸质上交学习中心,记录成绩。在线只需提交客观题答案。) |
二、主观题(共16道小题) |
11. 下列程序段的输出是 。
#include
void main()
{ int k;
for(k=1; k<5; k++)
{
if(k%2) printf("*"); else continue;
printf("#");
} } |
参考答案:*#*# | |
12. 下列程序段的输出是 。
# include
int f(int x)
{ static y=1;
y++;
x+= y;
return x;
}
void main()
{ int k;
k=f(3);
printf("%d,%d\n", k, f(k));
} |
参考答案: 5,8 | |
|
14. 符号 "a" 和 'a' 的区别是 。 |
参考答案:前者(“a”)为串,占2字节存储; 后者(‘a’)为字符占1字节存储 | |
15. 若有定义int x=5, n=5;则执行语句 x+=n++; 后,x的值= ,n的值= 。 |
参考答案:10 6 | |
16. C语言的静态变量以及静态数组元素默认的初值为 。 |
参考答案:0 | |
17. 下面程序的运行结果是 。
#include
void main()
{
int a=2,b=-1,c=2;
if(a<0)<>
if(b<0) c=0;
else c++;
printf("c=%d\n",c);
} |
参考答案:
考察知识点:if语句的嵌套。
运行结果: c=2 | |
18. 下面程序的运行结果是 。
#include
void main( )
{ int a,b,c;
a=3;b=1;c=2;
if(a
if(b
else c=b; c=a;
printf("%d,%d,%d",a,b,c);
} |
参考答案:
考察知识点:if语句的嵌套,else总是和最近的未配对的if来配对。
运行结果: 3,2,3
| |
19. 在屏幕上打印如下图形,要求打印行数为5。
1 2 3 4 5
2 3 4 5 1
3 4 5 1 2
4 5 1 2 3
5 1 2 3 4 |
参考答案:
#include “stdio.h”
void main()
{int i,j,n;
for(i=1;i<=5;i++)
{ for(j=1;j<=i;j++)
printf(“%4d”,i);
for(j=i+1;j<=5;j++)
printf(“%4d”,j);
printf(“\n”);
}
}
| |
20. 输入10个整数,由小到大排序并输出。 |
参考答案:
#include “stdio.h”
#define N 10
void SelSort(int a[N]) /*选择排序函数*/
{ int i,j,minj,t;
for(i=0;i<><>
{minj=i;
for(j=i+1;jif(a[j]
if(minj!=i) {t=a[i];a[i]=a[minj];a[minj]=t; }
}
}
void main()
{ int a[N],i;
for(i=0;i
SelSort(a);
for(i=0;i
}
| |
21. C语言规定,标识符必须以 (1) 或 (2) 开头。 |
参考答案:(1) 字母 (2) 下划线 (1)(2)答案次序可交换 | |
22. C语言的变量有4种存贮类型,即extern、static、register和 (3) 。 |
参考答案:(3) auto | |
23. 当C语言的算术表达式中出现了char型变量时,系统自动将该型变量值转换为 (4) 数据类型以后才参与运算。 |
参考答案:(4) int | |
24. 已知int a = 1, b = 2, c = 3, d = 4; 独立执行下列两条语句后,写出指定变量的值。
1)c=a++ -b++; 变量 a= (12) , b= (13)
2)a*= - -d+1 ; 变量 a= (14) ,d= (15)
|
参考答案:
(12) 2 (13) 3 (14) 4 (15) 3
| |
25. C语言没有专门的逻辑变量,在进行逻辑判断时,用数值 表示逻辑假。 |
参考答案:0 | |
26. |
参考答案:5*log10(1+P/N) | |
|