2009年3月全国计算机等级考试二级C语言笔试试题
一、选择题(每题2分,共计70分) 1.下列叙述中正确的是
A)栈是先进先出的线性表B)队列是\先进后出\的线性表
C)循环队列是非线性结构D)有序线性表即可以采用顺序存储结构,也可以采用链式存储结构 2.支持子程序调用的数据结构是
A)栈 B)树 C)队列 D)二叉树
3.某二叉树有5个读为2的结点,则该二叉树中的叶子结点数是 A10 B8 C) 6 D)4
4.下列排序方法中,最坏情况下比较次数最少的是
A)冒泡排序B)简单选择排序C)直接插入排序D)堆排序
5软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下列属于应用软件的是
A)编译程序B)操作系统C)教务管理系统D)汇编程序 6.下面叙述中错误的是
A)软件测试的目的是发现错误并改正错误
B)对被调试程序进行\错误定位\是程序调试的必要步骤 C)程序调试也成为Debug
D)软件测试应严格执行测试计划,排除测试的随意性
7.耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是 A)提高耦合性降低内聚性有利于提高模块的独立性 B)降低耦合性提高内聚性有利于提高模块的独立性
C)耦合性是指一个模块内部各个元素间彼此结合紧密程度 D)内聚性是指模块间互相连接的紧密程度 8.数据库应用系统中的核心问题是 A)数据库设计B)数据库系统设 C)数据库维护D)数据库管理员培训 9有两个关系R,S如下:
由关系R通过运算得到关系S,则所使用的运算为 A)选择 B)投影 C)插入 D)连接
10将E-R图转换为关系模式时,实体和联系都可以表示为 A)属性 B)键 C)关系 D)域 11.一下选项中合法的标识符是
A)1_1 B)1-1 C)_11 D)1_ _ 12.若函数中有定义语句:int k;,则
A)系统将自动给k赋初值0 B)这是k中的值无定义
C)系统将自动给k赋初值-1 D)这时k中无任何值 13.一下选项中,能用作数据常量的是 A)o115 B)0118 C)1.5e1.5 D)115L
14.设有定义:int x=2;,一下表达式中,值不为6的是 A)x*=x+1 B)X++,2*x C)x*=(1+x) D)2*x,x+=2
15.程序段:int x=12; double y=3.141593;printf(\的输出结果是 A)123.141593 B)12 3.141593 C)12,3.141593 D)123.1415930
16.若有定义语句:double x,y,*px,*py;执行了px=&x;py=&y;之后,正确的输入语句是 A)scanf(\C)scanf(\17.一下是if语句的基本形式: if(表达式) 语句 其中\表达式\
A)必须是逻辑表达式B)必须是关系表达式 C)必须是逻辑表达式或关系表达式 D)可以是任意合法的表达式 18.有以下程序 #include
{ int x; scanf(\
if(x<=3) ; else if(x!=10) printf(\
程序运行时,输入的值在哪个范围才会有输出结果 A)不等于10的整数B)大于3且不等于10的整数 C)大于3或等于10的整数D)小于3的整数 19.有以下程序 #include
{ int a=1,b=2,c=3,d=0; if (a==1 && b++==2) if (b!=2||c--!=3)
printf(\ else printf(\ else printf(\程序运行后输出结果是
A)1,2,3 B)1,3,2 C)1,3,3 D)3,2,1 20.一下程序段中的变量已正确定义
for(i=0;i<4;i++,j++) for(k=1;k<3;k++); printf(\程序段的输出结果是
A)******** B)**** C)** D)* 21.有以下程序 #include
{ char *s={\
do{ printf(\ } while (*s); }
注意:字母A的ASCII码值为65。程序运行后的输出结果是
A)5670 B)656667 C)567 D)ABC
22.设变量已正确定义,以下不能统计出一行中输入字符个数(不包含回车符)的程序段是 A)n=0;while((ch=getchar())!=‘\\n’)n++; B)n=0;while(getchar()!=‘\\n’)n++; C)for(n=0;getchar()!=‘\\n’;n++);
D)n=0;for(ch=getchar();ch!=‘\\n’;n++); 23.有以下程序 #include
{ int a1,a2; char c1,c2;
scanf(\ printf(\
若通过键盘输入,使得a1的值为12,a2的值为34,c1的值为字符a,c2的值为字符b, 程序输出结果是:12,a,34,b 则正确的输入格式是(以下_代表空格,
int f(int x,int y) { return ((y-x)*x);} main()
{ int a=3,b=4,c=5,d; d=f(f(a,b),f(a,c)); printf(\程序运行后的输出结果是 A)10 B)9 C)8 D)7 25.有以下程序 #include
{ while(*s) { if (*s%2==0) printf(\ s++; }} main()
{ char a[]={\ fun(a); printf(\
注意:字母a的ASCII码值为97,程序运行后的输出结果是 A)d B)go C)god D)good 26.有以下程序 #include
{ int x=3,y=5,*p=&x,*q=&y;
fun(p,q); printf(\
fun(&x,&y);printf(\程序运行后输出的结果是
A)3,5,5,3 B)3,5,3,5 C)5,3,3,5 D)5,3,5,3 27.有以下程序 #include