二级C语言笔试-248
(总分100,考试时间90分钟)
一、选择题
下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。
1. 设有如下程序段:
int x=2002, y=2003;
printf(" % d\n", (x, y));
则以下叙述中正确的是______。
A. 输出语句中格式说明符的个数少于输出项的个数,不能正确输出 B. 运行时产生出错信息
C. 输出值为2002 D. 输出值为2003
2. 若已经定义的函数有返回值,则以下关于该函数调用的叙述中错误的是______。
A. 函数调用可以作为独立的语句存在 B. 函数调用可以作为一个函数的实参
C. 函数调用可以出现在表达式中 D. 函数调用可以作为一个函数的形参
3. 以下叙述正确的是______。
A. 构成C程序的基本单位是函数
B. 可以在函数中定义另一个函数
C. main()函数必须放在其他函数之前
D. 所有被调用的函数一定要在调用之前进行定义
4. 设有定义:
int a=2, b=3, c=4;
则以下选项中值为0的表达式是______。
A. (! a==1)&&(! b==0) B. (a>b)&&! c||1
C. a&&b D. a||(b+b)&&(c-
5. 以下叙述中正确的是______。
A. 调用printf函数时,必须要有输出项
B. 调用putchar函数时,必须在之前包含头文件stdio. h
C. 在C语言中,整数可以以十二进制、八进制或十六进制的形式输出
D. 调用getchar函数读人字符时,可以从键盘上输入字符所对应的ASCII码
6. 下列叙述中正确的是______。
A. 一个逻辑数据结构只能有一种存储结构
B. 数据的逻辑结构属于线性结构,存储结构属于非线性结构
C. 一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理效率
D. 一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理效率
7. 有以下程序:
main()
char a[7]="a0\0a0\0"; int i, j;
i=sizeof(
A. ; j=strlen(a);
&nb 8. 有以下程序:
int f(int n)
if(n==1)retuxn 1;
else return f(n-1)+1;
main()
int i, j=0;
for(i=1; i<3; i++)j+=f(i);
printf("% d\n", j);
程序运行后的输出结果是______。
A. 4 B. 3
C. 2 D. 1
程序中对fun函数有如下说明:
void * fun();
此说明的含义是______。
9. C语言中用于结构化程序设计的3种基本结构是______。
A. 顺序结构、选择结构、循环结构
B. if、switch、break
C. for、while、do-while
D. if、for、continue
10. 以下程序的输出结果是______。
printf函数输出整数时不能使用 int a, b;
void fun()
a=100;
b=200;
main()
int a=5, b=7;
fun();
printf("% d % d \n", a, b);
A. 100200 B. 57
C. 200100 D. 75
11. 以下能正确定义二维数组的是______。
A. int a[][3];
B. int a[][3]=2*3;
C. int a[][3]=;
D. int a[2][3]=1), 2, 3,4;
12. 以下程序的输出结果是______。
long fun(int n)
long s;
if(n==1 || n==2)s=2;
else s=n-fun(n-1);
return s;
main()
printf("% 1d\n", fun(3));
A. 1 B. 2
C. 3 D. 4
13. 若有以下程序段(n所赋值的是八进制数):
int m=32767, n=032767;
printf("% d, % o\n", m, n);
执行后输出结果是______。
A. 32767, 32767 B. 32767, 032767
C. 32767, 77777 D. 32767, 077777
14. 有以下程序:
main()
int m=3, n=4, x;
x=-m++;
x=x+8/++n;
printf("% d\n", x);
程序运行后的输出结果是______。
A. 3 B. 5
C. -1 D. -216
15. 以下定义语句中正确的是______。
A. char a='A' b='B';
B. float a=b=19.0;
C. int a=10, *b=&a;
D. float *a, b=&a;
16. 以下叙述中错误的是______。
A. 用户所定义的标识符允许使用关键字
B. 用户所定义的标识符应尽量做到“见名知意”
C. 用户所定义的标识符必须以字母或下划线开头
D. 用户所定义的标识符中,大、小写字母代表不同标识
17. 有以下程序:
main()
int a[3][3], *p, i;
p=&a[0][0];
for(i=0; i<9; 1++)p[i]=i;
for(i=0; i<3; i++)printf("% d", a[1][i]);
程序运行后的输出结果是______。
A. 0 1 2 B. 1 2 3
C. 2 3 4 D. 3 4 5
18. 以下叙述正确的是______。
A. 可以把define和if定义为用户标识符
B. 可以把define定义为用户标识符,但不能把if定义为用户标识符
C. 可以把if定义为用户标识符,但不能把define定义为用户标识符
D. define和if都不能定义为用户标识符
19. 数据库设计的根本目标是要解决______。
A. 数据共享问题 B. 数据安全问题
C. 大量数据存储问题 D. 简化数据维护
20. 以下程序的输出结果是______。
int f()
static int i=0;
int s=1;
s+=i; i++;
return s;
main()
int i, a=0;
for(i=0; i<5; i++)
a+=f();
printf("% d\n" ,
A. ;
21. s1和s2已正确定义并分别指向两个字符串。若要求:当s1所指串大于s2所指串时,执行语句S。则以下选项中正确的是______。
A. if(s1>s2)S;
B. if(strcmp(s1, s2))S;
C. if(strcmp(s2, s1)>0)S;
D. if(strcmp(s1, s2)>0)S;
22. 有以下程序:
# define P 3
yoid F(int x) return(p*x*x);
main()
printf("% d\n", F(3+5));
程序运行后的输出结果是______。
A. 192 B. 29
C. 25 D. 编译出错
23. 有以下程序:
int f(int b[][4])
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论