1、2008年9月全国计算机等级考试二级C笔试试卷一、 选择题1、 一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后在依次出栈,则元素出栈的顺序是A)12345ABCDE B)EDCBA54321C)ABCDE12345 D)54321EDCBA2、下列叙述正确的是A)循环队列有队头和队尾两个指针,因此,循环队列是非线形结构B)在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C)在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D)循环队列中元素的个数是由队头指针和队尾指针共同决定3、在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的
2、次数是A)O(n) B) O(n2) C)O(log2n) D)O(log2n)4、下列叙述中正确的是A)顺序结构存储的存储一定是连续的,链式存储结构的存储空间不一定是连续的B)顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C)顺序存储结构能存储有序表,链式存储结构不能存储有序表D)链式存储结构比顺序存储结构节省存储空间5、数据流图中带有箭头的线段表示的是A) 控制流 B)事件驱动 C)模块调用 D)数据流6、在软件开发中,需求分析阶段可以使用的工具是A)NS图 B)DFD图 C)PAD图 D)程序流程图7、在面向对象的方法中,不属于对象基本特点的是A) 一致性 B)分类性 C)多态
3、性 D)标识唯一性8、一间宿舍可住多个学生,则实体宿舍和学生之间的联系是A)一对一 B)一对多 C)多对一 D)多对多9、在数据管理技术发展的三个阶段中,数据共享最好的是A)人工管理阶段 B)文件系统阶段C)数据库系统阶段 D)三个阶段相同10、有三个关系R、S和T如下: R S TA Bm 1n 2B C1 33 5A B Cm 1 3 由关系R和S通过运算得到关系T,则所使用的运算为A)笛卡尔积 B)交 C)并 D)自然连接11、以下叙述中正确的是A)C程序的基本组成单位是语句 B)C程序中的每一行只能写一条语句C)简单C语句必须以分号结束 D)C语句必须在一行内写完12、计算机能直接执行
4、的程序是A)源程序 B)目标程序 C)汇编程序 D)可执行程序13、以下选项中不能作为C语言合法常量的是A)cd B) 0.1c+6 C)a D)01114、以下选项中正确的定义语句是A)double a;b; B) double a=b=7 C)double a=7,b=7; D)double,a,b;15、以下不能正确表示代数式2ab/cd 的C语言表达式是A)2*a*b/c/d B)a*b/c/d*2 C)a/c/d*b*2 D)2*a*b/c*d16、C源程序中不能表示的数制是A)二进制 B)八进制 C)十进制 D)十六进制17、若有表达式(w)?(-x):(+y),则其中与w等价的表
5、达式是A)w=1 B)w=0 C)w!=1 D)w!=018、执行以下程序段后,w的值为int w=A,x=14,y=15; W=(x|y)&(wa);A) -1 B) NULL C)1 D) 019、若变量已正确定义为int 型,要通过语句scanf(%d,%d,%d,&a,&b,&c);给a赋值1、给b赋值2、给c赋值3,以下输入形式中错误的是(u代表一个空格符)A)uuu1,2,3 B)1u2u3 C)1,uuu2,uuu3 D)1,2,320、有以下程序段int a,b,c;a=10;b=50;c=30;if(ab)a=b,b=c,c=a;printf(a=%d b=%d c=%dn,
6、a,b,c);程序的输出结果是A) a=10 b=50 c=10 B) a=10 b=50 c=30C)a=10 b=30 c=10 D)a=50 b=30 c=5021、若有以下定义语句:int m=5,4,3,2,1,i=4;,则下面对m数组元素的引用中错误的是A)m-i B)m2*2 C)mm0 D)mmi22、下面的函数调用语句中func函数的实参个数是func(f2(v1,v2),(v3,v4,v5),(v6,max(v7,v8);A) 3 B) 4 C)5 D) 823、若有定义语句:double x5=1.0,2.0,3.0,4.0,5.0,*p=x;则错误引用x数组元素的是A)
7、 *p B) x5 C)*(p+1) D) *x24、若有定义语句:char s10=123456700;,则strlen(s)的值是A) 7 B) 8 C) 9 D) 1025、以下叙述中错误的是A)用户自定义的函数中可以没有return语句B)用户自定义的函数中可以有多个return语句,以便可以调用一次返回多个函数值C)用户自定义的函数中若没有return语句,则应当定义函数为void类型D)函数的return语句中可以没有表达式26、以下关于宏的叙述中正确的是A)宏名必须用大写字母表示 B)宏定义必须位于源程序中所有语句之前C)宏替换没有数据类型限制 D)宏调用比函数调用耗费时间27、
8、有以下程序#include main() int i,j; for (i=3;i=1;i-) for(j=1;j=2;j+) printf(%d,i+j); pintf(n);程序运行的结果是A) 2 3 4 B) 4 3 2 C)2 3 D) 4 53 4 5 5 4 3 3 4 3 4 4 5 2 328、有以下程序#include main() int x=1,y=2,z=3;if(xy)if(yz) printf(%d,+z);else printf(%d,+y);printf(%dn,x+);程序运行的结果是A) 331 B)41 C)2 D)129、有以下程序#include ma
9、in() int i=5;do if(i%3=1)if(i%5=2) printf(%d,i); break;i+; while(i!=0);printf(n);程序运行的结果是 A) *7 B)*3*5 C)*5 D)*2*630、有以下程序#include int fun(int a,int b) if(b=0) return a;else return(fun(-a,-b); main()printf(%dn,fun(4,2);程序运行的结果是A) 1 B) 2 C) 3 D)431、有以下程序#include #include int *p;p=(int*)malloc(sizeof(
10、int);*p=n; return *p;main() int a;a=fun(10); printf(%dn,a+fun(10);程序运行的结果是A)0 B) 10 C)20 D)出错32、有以下程序#include (stdio.h)void fun(int a, int b) int t;t=a; a=b; b=t;main() int c10=1,2,3,4,5,6,7,8,9,0,i;for(i=0;i10;i+=2) fun(ci,ci+1);for (i=0;i10;i+) printf(%d,ci);printf(n);程序运行的结果是A)1,2,3,4,5,6,7,8,9,0
11、 B)2,1,4,3,6,5,8,7,0,9C)0,9,8,7,6,5,4,3,2,1 D)0,1,2,3,4,5,6,7,8,933、有以下程序#include struct stint x,y; data2=1,10,2,20;main()struct st *p=data;printf(%d,p-y); printf(%dn,(+p)-x);程序运行的结果是A) 10,1 B)20,1 C)10,2 D) 20,234、有以下程序#include void fun(int a,int n) int i,t;for(i=1;in/2;i+) t=ai;ai=an-1-i;an-1-i=t;
12、main() int k10=1,2,3,4,5,6,7,8,9,10,i;fun(k,5);for(i=2;i8;i+)printf(%d,ki);printf(n);程序运行的结果是A) 345678 B)876543 C)1098765 D)32167835、有以下程序#include #define N 4void fun(int aN,int b) int i;for(i=0;iN;i+) bi=aii;main()int xN=1,2,3,4,5,6,7,8,9,10,yN,i;fun(x,y);for(i=0;iN;i+) printf(%d,yi);printf(n);程序运行的结果是A)1,2,3,4, B)1,0,7,0, C)1,4,5,9, D)3,4,8,10,36、有以下程序#include int fun(int (*s
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1