1、二级C真卷注意事项一、考生应严格遵守考场规则,得到监考人员指令后方可作答。二、考生拿到试卷后应首先将自己的姓名、准考证号等内容涂写在答题卡的相应位置上。三、选择题答案必须用铅笔填涂在答题卡的相应位置上,填空题的答案必须用蓝、黑色钢笔或圆珠笔写在答题卡的相应位置上,答案写在试卷上无效。四、注意字迹清楚,保持卷面整洁。五、考试结束将试卷和答题卡放在桌上,不得带走。待监考人员收毕清点后,方可离场。* * * 版权所有,任何单位或个人不得保留、复制和出版,违者必究 * * *教育部考试中心二00七年二月制2007 年 4 月全国计算机等级考试笔试试卷二级公共基础知识和 C 语言程序设计(考试时间 12
2、0 分钟,满分 100 分)一、选择题(1)-(10)每小题 2 分,(11)-(50)每小题 1 分,共 60 分)(1)下列叙述中正确的是()。A)算法的效率只与问题的规模有关,而与数据的存储结构无关B)算法的时间复杂度是指执行算法所需要的计算工作量C)数据的逻辑结构与存储结构是一一对应的D)算法的时间复杂度与空间复杂度一定相关(2)在结构化程序设计中,模块划分的原则是(A)各模块应包括尽量多的功能B)各模块的规模应尽量大C)各模块之间的联系应尽量紧密D)模块内具有高内聚度、模块间具有低耦合度)。(3)下列叙述中正确的是()。A)软件测试的主要目的是发现程序中的错误B)软件测试的主要目的是
3、确定程序中错误的位置C)为了提高软件测试的效率,最好由程序编制者自己来完成软件测试的工作D)软件测试是证明软件没有错误(4)下列选项中不属于面向对象程序设计特征的是()。A)继承性C)类比性(5)下列对队列的叙述正确的是(A)队列属于非线性表C)队列在队尾删除数据)。B)多态性D)封装性B)队列按“先进后出”原则组织数据D)队列按“先进先出”原则组织数据(6)下列二叉树进行前序遍历的结果为()。A)DYBEAFCZX B)YDEBFZXCAC)ABDYECFXZ D)ABCDEFXYZ(7)某二叉树中有 n 个度为 2 的结点,则该二叉树中的叶子结点数为(A)n+1 B)n-1C)2n D)n
4、/2)。(8)在下列关系运算中,不改变关系表中的属性个数但能减少元组个数的是()。A)并C)投影B)交D)笛卡儿乘积二级 C 语言程序设计试卷 第 1 页(共 12 页)(9)在 E-R 图中,用来表示实体之间联系的图形是()。A)矩形C)菱形(10)下列叙述中错误的是()。B)椭圆形D)平行四边形A)在数据库系统中,数据的物理结构必须与逻辑结构一致B)数据库技术的根本目标是要解决数据的共享问题C)数据库设计是指在已有数据库管理系统的基础上建立数据库D)数据库系统需要操作系统的支持(11)在算法中,对需要执行的每一步操作,必须给出清楚、严格的规定。这属于算法的()。A)正当性C)确定性(12)
5、下列叙述中错误的是()。B)可行性D)有穷性A)计算机不能直接执行用 C 语言编写的源程序B)C 程序经 C 编译程序编译后,生成后缀为.obj 的文件是一个二进制文件C)后缀为.obj 的文件,经连接程序生成后缀为.exe 的文件是一个二进制文件D)后缀为.obj 和.exe 的二进制文件都可以直接运行(13)按照 C 语言规定的用户标识符命名规则,不能出现在标识符中的是()。A)大写字母C)数字字符(14)下列叙述中错误的是()。B)连接符D)下划线A)C 语言是一种结构化程序设计语言B)结构化程序由顺序、分支、循环 3 种基本结构组成C)使用 3 种基本结构构成的程序只能解决简单问题D)
6、结构化程序设计提倡模块化的设计方法(15)对于一个正常运行的 C 程序,下列叙述中正确的是()。A)程序的执行总是从 main 函数开始,在 main 函数结束B)程序的执行总是从程序的第一个函数开始,在 main 函数结束C)程序的执行总是从 main 函数开始,在程序的最后一个函数中结束D)程序的执行总是从程序中的第一个函数开始,在程序的最后一个函数中结束(16)设变量均已正确定义,若要通过 scanf(%d%c%d%c,&a1,&c1,&a2,&c2);语句为变量a1 和 a2 赋数值 10 和 20,为变量 c1 和 c2 赋字符 X 和 Y。下列所示的输入形式中正确的是(注:口代表空
7、格字符)(A)10X 20 YB)10X20YC)10X20YD)10X20Y)。(17)若有代数式n x + e x ,(其中 e 仅代表自然对数的底数,不是变量),则下列能够正确表示该代数式的 C 语言表达式是(A)sqrt(abs(nx+ex)C)sqrt(fabs(pow(n,x)+exp(x))。B)sqrt(fabs(pow(n,x)+pow(x,e)D)sqrt(fabs(pow(x,n)+exp(x)二级 C 语言程序设计试卷 第 2 页(共 12 页)(18)设有定义:int k=0;,下列选项的 4 个表达式中与其他 3 个表达式的值不相同的是()。A)k+ + B)k+
8、=1C)+ +k D)k+1(19)有下列程序,其中%u 表示按无符号整数输出。main( ) unsigned int x=0xFFFF;/* x 的初值为十六进制数 */printf(%un,x);程序运行后的输出结果是()。A)-1 B)65535C)32767 D)0xFFFF(20)设变量 x 和 y 均已正确定义并赋值。下列 if 语句中,在编译时将产生错误信息的是()。A)if(x+ +); B)if(xy&y! =0);C)if(x0)x- D)if(y0 & n5);程序运行后的输出结果是()。A)235 B)0235C)02356 D)2356(24)有下列程序:main(
9、 ) int i,j;for(i=1;i4;i+ +)二级 C 语言程序设计试卷 第 3 页(共 12 页) for(j=i;j4;j+ +)printf(n);printf(%d*%d=%d ,i,j,i*j);程序运行后的输出结果是()。A)1*1=1 1*2=2 1*3=3 B)1*1=1 1*2=2 1*3=32*1=2 2*2=4 2*2=4 2*3=63*1=3 3*3=9C)1*1=1 D)1*1=11*2=2 2*2=4 2*1=2 2*2=41*3=3 2*3=6 3*3=9 3*1=3 3*2=6 3*3=9(25)下列合法的字符型常量是()。A)x13 B)081C)65
10、 D)n(26)在 C 语言中,函数返回值的类型最终取决于()。A)函数定义时在函数首部所说明的函数类型B)return 语句中表达式值的类型C)调用函数时主调函数所传递的实参类型D)函数定义时形参的类型(27)已知大写字母 A 的 ASCII 码是 65,小写字母 a 的 ASCII 码是 97。下列不能将变量 c中的大写字母转换为对应小写字母的语句是()。A)c=(c-A)%26+a B)c=c+32C)c=c-A+a D)c=(A+C)%26-a(28)有下列函数:int fun(char*s) char *t=s;while(*t+ +);return(t-s);该函数的功能是()。数
11、A)比较两个字符串的大小C)计算 s 所指字符串的长度B)计算 s 所指字符串占用内存字节的个D)将 s 所指字符串复制到字符串 t 中(29)设已有定义:float x;,则下列对指针变量 p 进行定义且赋初值的语句中正确的是()。A)float *p=1024; B)int *p=(float)x;C)float p=&x; D)float *p=&x;(30)有下列程序:#includemain( ) int n,*p=NULL;*p=&n;printf(Input n:); scanf(%d,&p); printf(output n:); printf(%dn,p);二级 C 语言程序
12、设计试卷 第 4 页(共 12 页)该程序试图通过指针 p 为变量 n 读入数据并输出,但程序有多处错误,下列语句正确的是()。A)int n,*p=NULL; B)*p=&n;C)scanf(%d,&p) D)printf(%dn,p);(31)下列程序中函数 f 的功能是:当 flag 为 1 时,进行由小到大排序;当 flag 为 0 时,进行由大到小排序。void f(int b ,int n,int flag) int i,j,t;for(i=0;in-1;i+ +)for(j=i+1;jbj:bibj)t=bi;bi=bj;bj=t;main( ) int a10=5,4,3,2,
13、1,6,7,8,9,10,i;f(&a2,5,0); f(a,5,1);for(i=0;i10;i+ +)printf(%d,ai);程序运行后的输出结果是()。A)1,2,3,4,5,6,7,8,9,10, B)3,4,5,6,7,2,1,8,9,10,C)5,4,3,2,1,6,7,8,9,10, D)10,9,8,7,6,5,4,3,2,1,(32)有下列程序:void f(int b ) int i;for(i=2;i6;i+ +) bi*=2;main( ) int a10=1,2,3,4,5,6,7,8,9,10,i;f(a);for(i=0;i10,i+ +)printf(%d,
14、ai);程序运行后的输出结果是(A)1,2,3,4,5,6,7,8,9,10,C)1,2,3,4,10,12,14,16,9,10,)。B)1,2,6,8,10,12,7,8,9,10,D)1,2,6,8,10,12,14,16,9,10,(33)有下列程序:typedef structintb,p;A;void f(A c) /* 注意:c 是结构变量名 */ int j;c.b+ =1.c.p+ =2.main( ) int i;A a=1,2;f(a);printf(%d,%dn,a.b,a.p);二级 C 语言程序设计试卷 第 5 页(共 12 页)程序运行后的输出结果是()。A)2,
15、3 B)2,4C)1,4 D)1,2(34)有下列程序:main( ) int a44=l,4,3,2,8,6,5,7,3,7,2,5,4,8,6,1,i,j,k,t;for(i=0;i4;i+ +)for(j=0;j3;j+ +)for(k=j+1;kaki)t=aji;aji=aki;aki=t; /*按列排序*/for(i=0;i4;i+ +)printf(%d,aii);程序运行后的输出结果是()。A)1,6,5,7, B)8,7,3,1,C)4,7,5,2, D)1,6,2,1,(35)有下列程序:main( ) int a44=1,4,3,2,8,6,5,7,3,7,2,5,4,8
16、,6,1,i,k,t;for(i=0;i3;i+ +)for(k=i+l;k4;k+ +)if(aiiakk)t=aii;aii=akk;akk=t;for(i=0;i4;i+ +)printf(%d,a0i);程序运行后的输出结果是()。A)6,2,1,1, B)6,4,3,2,C)1,1,2,6, D)2,3,4,6,(36)有下列程序:void f(int *q) int i=0;for(;i5; i+ +) (*q)+ +;main( ) int a5 =1,2,3,4,5, i;f(a);for(i=0;i5; i+ +) printf(%d, ai);程序运行后的输出结果是()。A
17、)2,2,3,4,5, B)6,2,3,4,5,C)1,2,3,4,5, D) 2,3,4,5,6,(37)有下列程序:#include main( ) char p20=a, b, c, d, q =abc, r =abcde;strcpy(p+strlen(q), r); strcat(p, q);二级 C 语言程序设计试卷 第 6 页(共 12 页)printf(%d %dn, sizeof(p), strlen(p);程序运行后的输出结果是()。A)20 9 B)9 9C)20 11 D)11 11(38)有下列程序:# include main( ) char p20=a,b,c,d
18、,q =abc, r =abcde;strcat(p, r); strcpy(p+strlen(q), q);printf(%dn, strlen(p);程序运行后的输出结果是()。A)9 B)6C)11 D)7(39)有下列程序:#include void f(char p 10,int n) /*字符串从小到大排序*/ char t10; int i,j;for (i=0;in-1; i+ +)for (j=i+l; j0) strcpy(t, pi); strcpy(pi, pj); strcpy(pj, t); main( ) char p510=abc, aabdfg, abbd,
19、dcdbe, cd;f(p, 5);printf(%dn, strlen(p0);程序运行后的输出结果是()。A)2 B)4 C)6 D)3(40)有下列程序:void f(int n, int *r) int rl=0;if (n%3= =0) r1=n/3;else if (n%5= =0) r1=n/5;else if(-n, &r1);*r = r1;main( ) int m=7, r;f(m, &r); printf(%d, r);程序运行后的输出结果是()。A)2 B)1 C)3 D)0二级 C 语言程序设计试卷 第 7 页(共 12 页)(41)有下列程序:main(int a
20、rgc, char *argv ) int n=0, i;for (i=l; iargc; i+ +) n=n*10+*argvi 0;printf(%dn, n);编译连接后生成可执行文件 tt.exe。若运行时输入以下命令行tt 12 345 678程序运行后的输出结果是()。A)12 B)12345 C)12345678(42)有下列程序:int a=4;int f(int n) int t=0; static int a=5;if(n%2) int a=6; t+ =a+ +; else int a=7; t+ =a+ +;return t+a+ +;main( ) int s=a,i
21、=0;for(;i2;i+ +)s+ =f(i);printf(%dn,s);D)136程序运行后的输出结果是()。A)24 B)28 C)32(43)有一个名为 init.txt 的文件,内容如下:#define HDY(A,B) A/B#define PRINT(Y) printf(y=%dn,Y)有下列程序:#include init.txtmain( ) int a=1,b=2,c=3,d=4,k;k=HDY(a+c,b+d);PRINT(k);D)36下列针对该程序的叙述正确的是(A)编译出错)。B)运行出错C)运行结果为 y=0 D)运行结果为 y=6(44)有下列程序:main(
22、 ) char ch =uvwxyz,*pc;pc=ch;printf(%cn,*(pc+5);程序运行后的输出结果是()。二级 C 语言程序设计试卷 第 8 页(共 12 页)A)z B)0C)元素 ch5的地址D)字符 y 的地址(45)有下列程序:struct Sint n;int a20;voidf (struct S *p)int i,j,t;for(i=0;in-1;i+ +)for(j=i+1;jn;j+ +)if(p-aip-aj)t=p-ai;p-ai=p-aj;p-aj=t;main( ) int i; struct S s=10,2,3,l,6,8,7,5,4,10,9;
23、f(&s);for(i=0;is.n;i+ +) printf(%d,s.ai);程序运行后的输出结果是(A)1,2,3,4,5,6,7,8,9,10,C)2,3,1,6,8,7,5,4,10,9,)。B)10,9,8,7,6,5,4,3,2,1,D)10,9,8,7,6,1,2,3,4,5,(46)有下列程序:struct Sint n;int a20;void f(int *a,int n) int i;for(i=0;in-1;i+ +) ai+ =i;main( ) int i; struct S s=10,2,3,1,6,8,7,5,4,10,9;f(s.a,s.n);for(i=0
24、;is.n;i+ +) printf(%d,s.ai);程序运行后的输出结果是()。A)2,4,3,9,12,12,11,11,18,9, B)3,4,2,7,9,8,6,5,11,10,C)2,3,1,6,8,7,5,4,10,9, D)1,2,3,6,8,7,5,4,10,9,(47)有下列程序段:typedef struct nodeint data; struct node *next;*NODE;NODE p;下列叙述中正确的是()。A)p 是指向 struct node 结构变量的指针的指针B)NODE p;语句出错C)p 是指向 struct node 结构变量的指针D)p 是
25、struct node 结构变量(48)有下列程序:main( ) unsigned char a=2,b=4,c=5,d;d=a|b; d&=c; printf(%dn,d);)二级 C 语言程序设计试卷 第 9 页(共 12 页)程序运行后的输出结果是()。A)3 B)4 C)5 D)6(49)有下列程序:#includemain( ) FILE *fp;int k,n,a6=1,2,3,4,5,6;fp=fopen(d2.dat,w);fprintf(fp,%d%d%dn,a0,a1,a2);fprintf(fp,%d%d%dn,a3,a4,a5);fclose(fp);fp=fopen(d2.dat,r);fscanf(fp,%d%d,&k,&n);printf(%d%dn,k,n);fclose(fp);程序运行后的输出结果是()。A)12 B)14 C)1234 D)123456(50)有下列程序:#includemain( ) FILE *fp;int i,a6=l,2,3,4,5,6;fp=fopen(d3.da
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1