【精品考试资料】计算机二级考试C语言历真题及答案 .doc

上传人:小小飞 文档编号:5092971 上传时间:2020-02-01 格式:DOC 页数:85 大小:323KB
返回 下载 相关 举报
【精品考试资料】计算机二级考试C语言历真题及答案 .doc_第1页
第1页 / 共85页
【精品考试资料】计算机二级考试C语言历真题及答案 .doc_第2页
第2页 / 共85页
【精品考试资料】计算机二级考试C语言历真题及答案 .doc_第3页
第3页 / 共85页
【精品考试资料】计算机二级考试C语言历真题及答案 .doc_第4页
第4页 / 共85页
【精品考试资料】计算机二级考试C语言历真题及答案 .doc_第5页
第5页 / 共85页
点击查看更多>>
资源描述

《【精品考试资料】计算机二级考试C语言历真题及答案 .doc》由会员分享,可在线阅读,更多相关《【精品考试资料】计算机二级考试C语言历真题及答案 .doc(85页珍藏版)》请在三一文库上搜索。

1、机密启用前2005 年4 月全国计算机等级考试二级笔试试卷C 语言程序设计24注意事项一、考生应严格遵守考场规则,得到监考人员指令后方可作答。二、考生拿到试卷后应首先将自己的姓名、准考证号等内容涂写在答题卡的相应位置上。三、选择题答案必须用铅笔填涂在答题卡的相应位置上,填空题的答案必须用蓝、黑色钢笔或圆珠笔写在答题卡的相应位置上,答案写在试卷上无效。四、注意字迹清楚,保持卷面整洁。五、考试结束将试卷和答题卡放在桌上,不得带走。待监考人员收毕清点后,方可离场。* * * 版权所有,任何单位或个人不得保留、复制和出版,违者必究 * * *教育部考试中心二00 五年二月制二级C 语言程序设计试卷第

2、1 页(共13 页)2005 年4 月全国计算机等级考试笔试试卷二级公共基础知识和 C 语言程序设计(考试时间 120 分钟,满分100 分)一、选择题(1)-(10)每小题2 分,(11)-(50)每小题1 分,共60 分)(1)数据的存储结构是指( )。A)存储在外存中的数据B)数据所占的存储空间量C)数据在计算机中的顺序存储方式D)数据的逻辑结构在计算机中的表示(2)下列关于栈的描述中错误的是( )。A)栈是先进后出的线性表B)栈只能顺序存储C)栈具有记忆作用D)对栈的插入与删除操作中,不需要改变栈底指针(3)对于长度为n 的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是(

3、 )。A)冒泡排序n/2 B)冒泡排序为nC)快速排序为n D)快速排序为n(n-1)/2(4)对于长度为n 的线性表进行顺序查找,在最坏情况下所需要的比较次数为( )。A)log2n B)n/2C)n D)n+1(5)下列对于线性链表的描述中正确的是( )。A)存储空间不一定是连续,且各元素的存储顺序是任意的B)存储空间不一定是连续,且前件元素一定存储在后件元素的前面C)存储空间必须连续,且前件元素一定存储在后件元素的前面D)存储空间必须连续,且各元素的存储顺序是任意的(6)下列对于软件测试的描述中正确的是( )。A)软件测试的目的是证明程序是否正确B)软件测试的目的是使程序运行结果正确C)

4、软件测试的目的是尽可能多地发现程序中的错误D)软件测试的目的是使程序符合结构化原则(7)为了使模块尽可能独立,要求( )。A)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强B)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱C)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱二级C 语言程序设计试卷第 2 页(共13 页)D)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强(8)下列描述中正确的是( )。A)程序就是软件B)软件开发不受计算机系统的限制C)软件既是逻辑实体,又是物理实体D)软件是程序、数据与相关文档的集合(9)数据独立性是数据库技术的重要特点之一。所谓数据独立

5、性是指( )。A)数据与程序独立存放B)不同的数据被存放在不同的文件中C)不同的数据只能被对应的应用程序所使用D)以上三种说法都不对(10)用树形结构表示实体之间联系的模型是( )。A)关系模型 B)网状模型C)层次模型 D)以上三个都是(11)算法具有5 个特性,下列选项中不属于算法特性的是( )。A)有穷性 B)简洁性C)可行性 D)确定性(12)下列选项中可作为C 语言合法常量的是( )。A)-80 B)-080C)-8e1.0 D)-80.0e(13)下列叙述中正确的是( )。A)用C 程序实现的算法必须要有输入和输出操作B)用C 程序实现的算法可以没有输出但必须要有输入C)用C 程序

6、实现的算法可以没有输入但必须要有输出D)用C 程序实现的算法可以既没有输入也没有输出(14)下列不能定义的用户标识符是( )。A)Main B)_0C)_int D)sizeof(15)下列选项中,不能作为合法常量的是( )。A)1.234e04 B)1.234e0.4C)1.234e+4 D)1.234e0(16)数字字符0 的ASCII 值为48,运行下列程序的输出结果是( )。main( ) char a=1,b=2;printf(%c, b+ +);二级C 语言程序设计试卷第 3 页(共13 页)printf(%dn, b-a)A)3,2 B)50,2C)2,2 D)2,50(17)下

7、列程序的输出结果是( )。main( ) int m=12, n=34;printf(%d%d, m+ +,+ +n);printf(%d%dn,n+ +,+ +m);A)12353514 B)12353513C)12343514 D)12343513(18)有定义语句:int b; char c10;,则正确的输入语句是( )。A)scanf(%d%s,&b,&c); B)scanf(%d%s,&b,c);C)scanf(%d%s,b,c); D)scanf(%d%s,b,&c);(19)有下列程序:main( ) int m,n,p;scanf(m=%dn=%dp=%d,&m,&n,&p)

8、;printf(%d%d%dn,m,n,p);若想从键盘上输入数据,使变量m 中的值为123,n 中的值为456,p 中的值为789,则正确的输入是( )。A)m=123 n=456 p=789 B)m=123 n=456 p=789C)m=123,n=456,p=789 D)123 456 789(20)下列程序的输出结果是( )。main( ) int a,b,d=25;a= d/10%9;b=a&(-1);printf(%d,%dn,a,b); A)6,1 B)2,1C)6,0 D)2,0(21)下列程序的输出结果是( )。main( ) int i=1,j=2,k=3;if(i+ +

9、= =1&(+ +j= =3k+ + = =3) printf(%d %d %dn,i,j,k);A)1 2 3 B)2 3 4二级C 语言程序设计试卷第 4 页(共13 页)C)2 2 3 D)2 3 3(22)若整型变量a、b、c、d 中的值依次为:1、4、3、2。则条件表达式ab? acd? cd 的值是( )。A)1 B)2C)3 D)4(23)下列程序的输出结果是( )。main( ) int p8=11,12,13,14,15,16,17,18,i=0,j=0;while(i+ +y?xy;int f2(int x,int y)return xy?yx;main( ) int a=

10、4,b=3,c=5,d=2,e,f,g;e=f2(f1(a,b),f1(c,d);f=f1(f2(a,b),f2(c,d);g=a+b+c+d-e-f;printf(%d,%d,%dn,e,f,g);A)4,3,7 B)3,4,7C)5,2,7 D)2,5,7(27)已有定义:char a =xyz,b =x, y, z;,下列叙述中正确的是( )。二级C 语言程序设计试卷第 5 页(共13 页)A)数组a 和b 的长度相同 B)a 数组长度小于b 数组长度C)a 数组长度大于b 数组长度 D)上述说法都不对(28)下列程序的输出结果是( )。void f(int *x, int *y) in

11、t t;t=*x,*x=*y;*y=t;main( ) int a8=1,2,3,4,5,6,7,8,i,*p,*q;p=a;q=&a7;while(pq) f(p,q); p+ +; q-;for (i=0;i8;i+) printf(%d,ai);A)8,2,3,4,5,6,7,1 B)5,6,7,8,1,2,3,4C)1,2,3,4,5,6,7,8 D)8,7,6,5,4,3,2,1(29)下列程序的输出结果是( )。main( ) int a33,*p,i; p=&a00;for(i=0;i9;i+ +) pi=i;for(i=0;in;i-)ai+1=aimain( ) int i,

12、aN=1,2,3,4,5,6,7,8,9,10;fun(a,2,9);for(i=0;i5;i+ +) printf(%d,ai);二级C 语言程序设计试卷第 6 页(共13 页)A)10234 B)12344C)12334 D)12234(32)运行下列程序时,输入1 2 3的输出结果为( )。main( ) int a32=0,(*ptr)2,i,j;for(i=0;i2;i+ +) ptr=a+i; scanf(%d,ptr); ptr+ +;for(i=0;i3;i+ +) for(j=0;j2;j+ +)printf(%2d,aij);printf(n);A)产生错误信息 B)1 0

13、2 00 0C)1 2 D)1 03 0 2 00 0 3 0(33)下列程序的输出结果是( )。prt(int *m,int n) int i;for(i=0;in;i+ +)mi+ +; main( ) int a =1,2,3,4,5,i;prt(a,5)for(i=0;i5;i+ +) printf(%d,ai);A)1,2,3,4,5 B)2,3,4,5,6C)3,4,5,6,7 D)2,3,4,5,1(34)下列程序的输出结果是( )。main( ) int a =1,2,3,4,5,6,7,8,9,0,*p;for(p=a;pa+10;p+ +)printf(%d,*p);A)1

14、,2,3,4,5,6,7,8,9,0, B)2,3,4,5,6,7,8,9,10,1,C)0,1,2,3,4,5,6,7,8,9, D)1,1,1,1,1,1,1,1,1,1,(35)下列程序的输出结果是( )。二级C 语言程序设计试卷第 7 页(共13 页)#define P 3void F(int x) return(P*x*x); main( ) printf(%dn,F(3+5); A)192 B)29C)25 D)编译出错(36)下列程序的输出结果是( )。main( ) int c=35; printf(%dn,c&c);A)0 B)70C)35 D)1(37)下列叙述中正确的是(

15、 )。A)预处理命令行必须位于源文件的开头B)在源文件的一行上可以有多条预处理命令C)宏名必须用大写字母表示D)宏替换不占用程序的运行时间(38)若有下列说明和定义。union dt int a; char b; double c;data;下列叙述中错误的是( )。A)data 的每个成员起始地址都相同B)变量data 所占内存字节数与成员c 所占字节数相等C)程序段:data.a=5;printf(%fn,data.c);输出结果为5.000000D)data 可以作为函数的实参(39)下列语句或语句组中,能正确进行字符串赋值的是( )。A)char *sp; *sp=right!; B)

16、char s10; s=right!;C)char s10; *s=right; D)char *sp=right!;(40)设有如下说明:typedef struct ST long a; int b; char c2; NEW;则下列叙述中正确的是( )。A)以上的说明形式非法 B)ST 是一个结构体类型C)NEW 是一个结构体类型名 D)NEW 是一个结构体变量(41)下列程序的输出结果是( )。main( ) int a=1,b;for(b=1;b=8) break;二级C 语言程序设计试卷第 8 页(共13 页)if(a%2= =1)a+ =5; continue;a=3;print

17、f(%dn,b);A)3 B)4C)5 D)6(42)下列程序的输出结果是( )。main( ) char s =159,*p;p=s;printf(%c,*p+ +);printf(%c,*p+ +);A)15 B)16C)12 D)59(43)有下列函数:fun(char *a,char *b) while(*a! =0)&(*b! = 0)&(*a= =*b) a+ +; b+ +;return(*a-*b);该函数的功能是( )。A)计算a 和b 所指字符串的长度之差B)将b 所指字符串复制到a 所指字符串中C)将b 所指字符串连接到a 所指字符串后面D)比较a 和b 所指字符串的大小

18、(44)有下列程序:main( ) int num44=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,i,j;for(i=0;i4;i+ +) for(j=0;ji;j+ +)printf(%4c, );for(j=_;jnext=q-next; B)p-next=p-next-next;C)p-next=r; D)p=q-enxt;(48)下列对结构体类型变量td 的定义中,错误的是( )。A)typedef struct aa B)struct aa int n; int n;二级C 语言程序设计试卷第 10 页(共13 页)float m; float m

19、;AA; td;AA td; struct aa td;C)struct D)struct int n; int n;float m; float m;aa; td;struct aa td;(49)下列与函数fseek(fp,0L,SEEK_SET)有相同作用的是( )。A)feof(fp) B)ftell(fp)C)fgetc(fp) D)rewind(fp)(50)有下列程序:#include void WriteStr(char *fn,char *str) FILE *fp;fp=fopen(fn,w); fputs(str,fp); fclose(fp);main( ) Write

20、Str(t1.dat,start);WriteStr(t1.dat,end);程序运行后,文件t1.dat 中的内容是( )。A)start B)endC)startend D)endrt二、填空题(每空2 分,共40 分)(1)某二叉树中度为2 的结点有18 个,则该二叉树中有【1】个叶子结点。(2)在面向对象方法中,类的实例称为【2】。(3)诊断和改正程序中错误的工作通常称为【3】。(4)在关系数据库中,把数据表示成二维表,每一个二维表称为【4】。(5)问题处理方案正确而完整的描述称为【5】。(6)下列程序运行时若从键盘输入:10 20 30。输出结果是【6】。#include main(

21、 ) int i=0, j=0, k=0;scanf(%d%*d%d,&i,&j,&k); printf(%d%d%dn,i,j,k);二级C 语言程序设计试卷第 11 页(共13 页)(7)下列程序运行后的输出结果是【7】。#define S(x) 4*x*x+1main( ) int i=6, j=8;printf(%dn,S(i+j); (8)下列程序运行后的输出结果是【8】。main( ) int a=3,b=4,c=5,t=99;if(ba&ac)t=a;a=c;c=t;if(ac&bc)t=b,b=a,a=t;printf(%d%d%dn,a,b,c); (9)下列程序运行后的输出

22、结果是【9】。main( ) int a, b,c;a=10; b=20; c=(a%b1);printf(%d %d %dn,a,b,c);(10)下列程序运行后的输出结果是【10】。main( ) char c1,c2;for(c1=0,c2=9;c1c2;c1+ +,c2-) printf(%c%c,c1,c2);printf(n);(11)已知字符A 的ASCII 代码值为65,下列程序运行时若从键盘输入:B33。则输出结果是 【11】。#include main( ) char a,b;a=getchar( );scanf(%d, &b);a=a-A+0; b=b*2;printf(

23、%c %cn,a,b);(12)下列程序中,fun()函数的功能是求3 行4 列二维数组每行元素中的最大值。请填空。void fun(int, int, int(*)4,int*);main( ) int a34=12,41,36,28,19,33,15,27,3,27,19,1,b3,i;fun(3,4,a,b);for(i=0;i3;i+)printf(%4d,bi);二级C 语言程序设计试卷第 12 页(共13 页)printf(n); void fun(int m, int n, int ar 4, int *br) int i, j, x;for(i=0;im;i+ +) x=ari

24、0;for(j=0;jn;j+ +)if(xarij) x=arij;【12】=x;(13)下列程序运行后的输出结果是【13】。void swap(int x,int y) int t;t=x;x=y;y=t;printf(%d %d ,x,y); main( ) int a=3,b=4;swap(a,b); printf(%d %dn,a,b);(14)下列程序运行后的结果是【14】。#include void fun(char *s, int p, int k) int i;for(i=p;ik-1;i+ +) si=si+2; main( ) char s =abcdefg;fun(s,

25、3,strlen(s); puts(s);(15)下列程序运行后的输出结果是【15】。#include main( ) char ch =abc,x34; int i;for(i=0;i3;i+ +) strcpy(xi,ch);for(i=0;i3;i+ +) printf(%s,&xii);printf(n);(16)下列程序运行后的输出结果是【16】。fun(int a) int b=0; static int c=3;b+ +; c+ +;return(a+b+c);二级C 语言程序设计试卷第 13 页(共13 页)main( ) int i, a=5;for(i=0;ik=+ +i;

26、 p+ +;q-k=i+ +; q-;q-k=i;for(i=0;i5;i+ +) printf(%d,mi.k);printf(n);(18)下列程序中huiwen()函数的功能是检查一个字符串是否是回文,当字符串是回文时,函数返回字符串:yes!,否则函数返回字符串:no!,并在主函数中输出。所谓回文即正向与反向的拼写都一样,例如:adgda。请填空。#include char*huiwen(char *str) char *p1,*p2; int i,t=0;p1=str; p2= 【18】;for(i=0);istrlen(str)/2【20】huiwen(str)机密启用前2006

27、年4 月全国计算机等级考试二级笔试试卷C 语言程序设计24注意事项一、考生应严格遵守考场规则,得到监考人员指令后方可作答。二、考生拿到试卷后应首先将自己的姓名、准考证号等内容涂写在答题卡的相应位置上。三、选择题答案必须用铅笔填涂在答题卡的相应位置上,填空题的答案必须用蓝、黑色钢笔或圆珠笔写在答题卡的相应位置上,答案写在试卷上无效。四、注意字迹清楚,保持卷面整洁。五、考试结束将试卷和答题卡放在桌上,不得带走。待监考人员收毕清点后,方可离场。* * * 版权所有,任何单位或个人不得保留、复制和出版,违者必究 * * *教育部考试中心二00 六年二月制二级C 语言程序设计试卷 第 1 页(共12 页

28、)2006 年4 月全国计算机等级考试笔试试卷二级公共基础知识和C 语言程序设计(考试时间120 分钟,满分100 分)一、选择题(1)-(10)每小题2 分,(11)-(50)每小题1 分,共60 分)(1)下列选项中不属于结构化程序设计方法的是( )。A)自顶向下 B)逐步求精C)模块化 D)可复用(2)两个或两个以上模块之间关联的紧密程度称为( )。A)耦合度 B)内聚度C)复杂度 D)数据传输特性(3)下列叙述中正确的是( )。A)软件测试应该由程序开发者来完成 B)程序经调试后一般不需要再测试C)软件维护只包括对程序代码的维护 D)以上三种说法都不对(4)按照“后进先出”原则组织数据

29、的数据结构是( )。A)队列 B)栈C)双向链表 D)二叉树(5)下列叙述中正确的是( )。A)线性链表是线性表的链式存储结构 B)栈与队列是非线性结构C)双向链表是非线性结构 D)只有根结点的二叉树是线性结构(6)对如下二叉树进行后序遍历的结果为( )。A)ABCDEF B)DBEAFCC)ABDECF D)DEBFCA(7)在深度为7 的满二叉树中,叶子结点的个数为( )。A)32 B)31C)64 D)63(8)“商品”与“顾客”两个实体集之间的联系一般是( )。A)一对一 B)一对多C)多对一 D)多对多(9)在E-R 图中,用来表示实体的图形是( )。A)矩形 B)椭圆形C)菱形 D

30、)三角形(10)数据库DB、数据库系统DBS、数据库管理系统DBMS 之间的关系是( )。A)DB 包含DBS 和DBMS B)DBMS 包含DB 和DBSC)DBS 包含DB 和DBMS D)没有任何关系二级C 语言程序设计试卷 第 2 页(共12 页)(11)下列不合法的用户标识符是( )。A)j2_KEY B)DoubleC)4d D)_8_(12)下列不合法的数值常量是( )。A)011 B)1e1C)8.0E0.5 D)0xabcd(13)下列不合法的字符常量是( )。A)018 B) C) D)xcc(14)表达式3.6-52+1.2+5%2 的值是( )。A)4.3 B)4.8C

31、)3.3 D)3.8(15)下列能正确定义字符串的语句是( )。A)char str =064; B)char str=kx43;C)char str=; D)char str =0;(16)下列数组定义中错误的是( )。A)int x 3=0;B)int x23=l,2,3,4,5,6;C)int x 3=l,2,3,4,5,6;D)int x23=l,2,3,4,5,6;(17)若要求从键盘读入含有空格字符的字符串,应使用函数( )。A)getc( ) B)gets( )C)getchar( ) D)scanf( )(18)下列4 个程序中,完全正确的是( )。A)#include B)#

32、include main( ); main( )/*programming*/ /* / programming / */printf(programming! n); printf(programming!n);C)#include D)include main( ) main( )/* / programming*/ */ /*programming */printf(programming! n); printf(programming! n);(19)若有定义:float x=1.5;int a=1,b=3,c=2;则正确的switch 语句是( )。A)switch(x) B)swi

33、tch(int)x); case 1.0:printf(* n); case 1:printf(*n);case 2.0:printf(* n); case 2:printf(*n);C)switch(a+b) D)switch(a+b) case 1:printf(*n); case 1:printf(* n);case 2+1:printf(* n); case c:printf(* n);(20)若各选项中所用变量已正确定义,fun()函数中通过return 语句返回一个函数值,下列选项中错误的程序是( )。A)main( ) B)float fun(int a,int b)x =fun

34、(2,10); main( )float fun(int a,int b) x =fun(i,j);二级C 语言程序设计试卷 第 3 页(共12 页)C)float fun(int,int); D)main( )main( ) float fun(int I,int j);x =fun(2,10); x =fun(i,j); float fun(int a,int b) float fun(int a,int b)(21)在下列给出的表达式中,与while(E)中的(E)不等价的表达式是( )。A)(!E= =0) B)(E0E0)C)(E= =0) D)(E! =0)(22)要求通过whil

35、e 循环不断读入字符,当读入字母N 时结束循环。若变量已正确定义,下列正确的程序段是( )。A)while( (ch=getchar( )! =N) printf(%c,ch);B)while(ch=getchar( )! =N) printf(%c,ch);C)while(ch=getchar( )= =N) printf(%c,ch);D)while(ch=getchar( )= =N) printf(%c,ch);(23)已定义下列函数:int fun(int *p) return *p;)fun 函数返回值是( )。A)不确定的值 B)一个整数C)形参p 中存放的值 D)形参p 的地址值(24)若有说明语句:double *p,a;则能通过scanf 语句正确给输入项读入数据的程序段是( )。A)*p =&a; scanf(%1f,p); B)*p =&a; scanf(%f,p);C)p =&a; scanf(%1f,*p); D)p =&a; scanf(%1f,p);(25)现有以下结构体说明和变量定义,如图所示,指针p、q、r 分别指向一个链表中连续的3 个结点。struct node

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 绩效管理


经营许可证编号:宁ICP备18001539号-1