ImageVerifierCode 换一换
格式:DOCX , 页数:63 ,大小:324.85KB ,
资源ID:6600494      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6600494.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(全国计算机二级C历年真题.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

全国计算机二级C历年真题.docx

1、全国计算机二级C历年真题2006年4月全国计算机等级考试二级C语言笔试试题一、选择题(1)一(10)每题2分,(11)一(50)每题1分,共60分) 下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。(1)下列选项中不属于结构化程序设计方法的是A自顶向下 B逐步求精 C模块化 D可复用 (2)两个或两个以上模块之间关联的紧密程度称为A耦合度 B内聚度 C复杂度 D数据传输特性(3)下列叙述中正确的是A软件测试应该由程序开发者来完成 B程序经调试后一般不需要再测试C软件维护只包括对程序代码的维护 D以上三种说法都不对(4)按照“

2、后进先出”原则组织数据的数据结构是A队列 B栈 C双向链表 D二叉树(5)下列叙述中正确的是A线性链表是线性表的链式存储结构 B栈与队列是非线性结构C双向链表是非线性结构 D只有根结点的二叉树是线性结构(6)对如下二叉树ABDECF进行后序遍历的结果为AABCDEF BDBEAFC CABDECF DDEBFCA(7)在深度为7的满二叉树中,叶子结点的个数为A32 B31 C64 D63(8)“商品”与“顾客”两个实体集之间的联系一般是A一对一 B一对多 C多对一 D多对多(9)在E-R图中,用来表示实体的图形是A矩形 B椭圆形 C菱形 D三角形(10)数据库DB、数据库系统DBS、数据库管理

3、系统DBMS之间的关系是ADB包含DBS和DBMS BDBMS包含DB和DBS CDBS包含DB和DBMS D没有任何关系(11)以下不合法的用户标识符是Aj2_KEY BDouble C4d D_8_(12)以下不合法的数值常量是A011 B1e1 C8.0E0.5 D0xabcd(13)以下不合法的字符常量是A018 B C Dxcc(14)表达式3.6-52+1.2+52的值是A4.3 B4.8 C3.3 D3.8(15)以下能正确定义字符串的语句是Achar str=064; Bchar str=kx43;Cchar str=; Dchar str=0;(16)以下数组定义中错误的是A

4、int x3=0; Bint x23=l,2,3,4,5,6;Cint x3=l,2,3,4,5,6; Dint x23=l,2,3,4,5,6;(17)若要求从键盘读入含有空格字符的字符串,应使用函数Agetc() Bgets() Cgetchar() Dscanf()(18)以下四个程序中,完全正确的是A#include %26lt;stdio.h%26gt; B#include %26lt;stdio.h%26gt;main();main()/*programming*/*/ programming /*/printf(programming!n); printf(programming

5、!n);C#include %26lt;stdio.h%26gt; D include %26lt;stdio.h%26gt;main()main()/*/*programming*/*/*programming*/printf(programming!n); printf(programming!n);(19)若有定义:float x=1.5;int a=1,b=3,c=2;则正确的switch语句是Aswitch(x) Bswitch(int)x);case 1.0:printf(*n); case 1:printf(*n);case 2.0:printf(*n); case 2:prin

6、tf(*n);Cswitch(a+B Dswitch(a+Bcase 1:printf(*n);case 1:printf(*n);case 2+1:printf(*n);case c:printf(*n);(20)若各选项中所用变量已正确定义,函数fun中通过return语句返回一个函数值,以下选项中错误的程序是Amain() Bfloat fun(int a,int Bx=fun(2,10);main()float fun(int a,int B x=fun(i,j);Cfloat fun(int,int); Dmain()main() float fun(int i,int j);x=f

7、un(2,10); x=fun(i,j); float fun(int a,int Bfloat fun(int a,int B(21)在以下给出的表达式中,与while(E)中的(E)不等价的表达式是A(!E=0) B(E%26gt;0E%26lt;0) C(E=0) D(E!=0)(22)要求通过while循环不断读入字符,当读入字母N时结束循环。若变量已正确定义,以下正确的程序段是Awhile(ch=getchar()!=N)printf(c,ch); Bwhile(ch=getchar()!=N)printf(c,ch);Cwhile(ch=getchar()=N)printf(c,c

8、h); Dwhile(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=%26amp;a; scanf(1f,p); B*p=%26amp;a; scanf(f,p);Cp=%26amp;a; scanf(1f,*p); Dp=%26amp;a; scanf(1f,p);(25)现有以下结构体说明和变量定义,如图所示,指针p、q、r

9、分别指向一个链表中连续的三个结点。struct nodechar data;struct node *next; *p,*q,*r;现要将q和r所指结点交换前后位置,同时要保持链表的连续,以下不能完成此操作的语句是Aq-%26gt;next=r-%26gt;next;p-%26gt;next=r;r-%26gt;next=q; Bp-%26gt;next=r;q-%26gt;next=r-%26gt;next;r-%26gt;next=q;Cq-%26gt;next=r-%26gt;next;r-%26gt;next=q;p-%26gt;next=r; Dr-%26gt;next=q;p-%2

10、6gt;next=r;q-%26gt;next=r-%26gt;next;(26)有以下程序段struct stint x;int *y;*pt;int a=l,2,b=3,4;struct st c2=10,a,20,b;pt=c;以下选项中表达式的值为11的是A*pt-%26gt;y Bpt-%26gt;x C+pt-%26gt;x D(pt+)-%26gt;x(27)设fp为指向某二进制文件的指针,且已读到此文件末尾,则函数feof(fp)的返回值为AEOF B非0值 C0 DNULL(28)设有以下语句int a=1,b=2,c;c=a(b%26lt;%26lt;2);执行后,C的值为

11、A6 B7 C8 D9(29)有以下程序#include %26lt;stdio.h%26gt;main()char c1,c2,c3,c4,c5,c6;scanf(cccc,%26amp;c1,%26amp;c2,%26amp;c3,%26amp;c4);c5=getchar(); c6=getchar();putchar(c1);putchar(c2);printf(ccn,c5,c6);程序运行后,若从键盘输入(从第1列开始)123%26lt;回车%26gt;45678%26lt;回车%26gt;则输出结果是A1267 B1256 C1278 D1245(30)有以下程序main() i

12、nt y=10;while(y-);printf(y=dn,y);程序执行后的输出结果是Ay=0 By=-1 Cy=1 Dwhile构成无限循环(31)有以下程序main()int a=0,b=0,c=0,d=0;if(a=1) b=1;c=2;else d=3;printf(d,d,d,dn,a,b,c,D;程序输出A0,1,2,0 B0,0,0,3 C1,1,2,0 D编译有错(32)有以下程序main()int i,j,x=0;for(i=0;i%26lt;2;i+)x+;for(j=0;j%26lt;=3;j+)if(j2)continue;x+;x+;printf(x=dn,x);程

13、序执行后的输出结果是Ax=4 Bx=8 Cx=6 Dx=12(33)有以下程序int fun1(double a)return a*=a;int fun2(double x,double y)double a=0,b=0;a=fun1(x);b=fun1(y);return(int)(a+B;main()double w;w=fun2(1.1,2.0);程序执行后变量w中的值是A5.21 B5 C5.0 D0.0(34)有以下程序main()int i,t3=9,8,7,6,5,4,3,2,1;for(i=0;i%26lt;3;i+) printf(d,t2-ii);程序执行后的输出结果是A7

14、 5 3 B3 5 7 C3 6 9 D7 5 1(35)有以下程序fun(char p10)int n=0,i;for(i=0;i%26lt;7;i+)if(pi0=T)n+;return n;main()char str10=Mon,Tue,Wed,Thu,Fri,Sat,Sun;printf(dn,fun(str);程序执行后的输出结果是A1 B2 C3 D0(36)有以下程序main()int i,s=0,t=l,2,3,4,5,6,7,8,9;for(i=0;i%26lt;9;i+=2)s+=*(t+i);printf(dn,s);程序执行后的输出结果是A45 B20 C25 D36

15、(37)有以下程序void fun1(char *p)char *q;q=p;while(*q!=0) (*q)+; q+; )main()char a=Program), *p;p=%26amp;a3;fun1(p);printf(sn,a);程序执行后的输出结果是AProhsbn BPrphsbn CProgsbn DProgram(38)有以下程序void swap(char *x,char *y)char t;t=*x; *x=*y; *y=t;main()char *s1=abc,*s2=123;swap(s1,s2);printf(s,sn,s1,s2);程序执行后的输出结果是A1

16、23,abc Babc,123 C1bc,a23 D321,cba(39)有以下程序int fun(int n)if(n=1)return 1;elsereturn(n+fun(n-1);main()int x;scanf(d,%26amp;x); x=fun(x);printf(dn,x);执行程序时,给变量X输入10,程序的输出结果是A55 B54 C65 D45(40)有以下程序int fun(int x,int n)static int sum=0,i;for(i=0;i%26lt;n;i+) sum+=xi;return sum;main()int a=1,2,3,4,5,b=6,7

17、,8,9,s=0;s=fun(a,5)+fun(b,4);printf(dn,s);程序执行后的输出结果是A45 B50 C60 D55(41)有以下程序main()unionchar ch2;int d;s;s.d=0x4321;printf(x,xn,s.ch0,s.ch1); 在16位编译系统上,程序执行后的输出结果是A21,43 B43,21 C43,00 D21,00(42)有以下程序main()char *p=3697,2584;int i,j;long num=0;for(i=0;i%26lt;2;i+)j=0;while(pij!=0)if(pij-0)2)num=10*num

18、+pij-0;j+=2;printf(dn,num);程序执行后的输出结果是A35 B37 C39 D3975(43)执行以下程序后,test.txt文件的内容是(若文件能正常打开)#include %26lt;stdio.h%26gt;main()FILE *fp;char *s1=Fortran,*s2=Basic;if(fp=fopen(test.txt,wb”)=NULL)printf(Cant open test.txt filen);exit(1);fwrite(s1,7,1,fp); /*把从地址s1开始的7个字符写到fp所指文件中*fseek(fp,0L,SEEK_SET);

19、*文件位置指针移到文件开头*fwrite(s2,5,1,fp);fclose(fp);ABasican BBasicFortran CBasic DFortranBasic(44)以下叙述中错误的是AC语言源程序经编译后生成后缀为.obj的目标程序BC程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件C用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中DC语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令(45)以下叙述中错误的是A算法正确的程序最终一定会结束 B算法正确的程序可以有零个输出C算法正确的程序可以有零个输入 D算法正确的程序

20、对于相同的输入一定有相同的结果(46)以下叙述中错误的是AC程序必须由一个或一个以上的函数组成 B函数调用可以作为一个独立的语句存在C若函数有返回值,必须通过return语句返回 D函数形参的值也可以传回给对应的实参(47)设有以下定义和语句char str20=Program,*p;p=str;则以下叙述中正确的是A*p与str0的值相等 Bstr与p的类型完全相同Cstr数组长度和p所指向的字符串长度相等 D数组str中存放的内容和指针变量p中存放的内容相同(48)以下叙述中错误的是AC程序中的#include和#define行均不是C语句 B除逗号运算符外,赋值运算符的优先级最低CC程序

21、中,j+;是赋值语句 DC程序中,+、-、*、号是算术运算符,可用于整型和实型数的运算(49)以下叙述中正确的是A预处理命令行必须位于C源程序的起始位置 B在C语言中,预处理命令行都以#开头C每个C程序必须在开头包含预处理命令行:#include%26lt;stdio.h%26gt; DC语言的预处理不能实现宏定义和条件编译的功能(50)以下叙述中错误的是A可以通过typedef增加新的类型 B可以用typedef将已存在的类型用一个新的名字来代表C用typedef定义新的类型名后,原有类型名仍有效 D用typedef可以为各种类型起别名,但不能为变量起别名二、填空题(每空2分,共40分)请将

22、每一个空的正确答案写在答题卡【1】至【20】序号的横线上,答在试卷上不得分。(1)对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为【1】。(2)在面向对象方法中,【2】描述的是具有相似属性与操作的一组对象。(3)在关系模型中,把数据看成是二维表,每一个二维表称为一个【3】。(4)程序测试分为静态分析和动态测试。其中【4】是指不执行程序,而只是对程序文本进行检查,通过阅读和讨论,分析和发现程序中的错误。(5)数据独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,称为【5】。(6)若变量a,b已定义为int类型并赋值21

23、和55,要求用printf函数以a=21,b=55的形式输出,请写出完整的的输出语句【6】。(7)以下程序用于判断a、b、c能否构成三角形,若能,输出YES,否则输出NO。当给a、b、c输入三角形三条边长时,确定a、b、c能构成三角形的条件是需同时满足三个条件:a+b%26gt;c,a+c%26gt;b,b+c%26gt;a。请填空。main()float a,b,c;scanf(fff,%26amp;a,%26amp;b,%26amp;C;if(【7】)printf(YESn);*a、b、c能构成三角形*else printf(NOn);*a、b、c不能构成三角形* (8)以下程序的输出结果

24、是【8】 。main()int a33=1,2,9,3,4,8,5,6,7,i,s=0;for(i=0;i%26lt;3;i+) s+=aii+ai3-i-1;printf(dn,s);(9)当运行以下程序时,输入abcd,程序的输出结果是:【9】。insert(char str)int i;i=strlen(str);while(i%26gt;0)str2*i=stri;str2*i-1=*;i-;printf(sn,str);main()char str40;scanf(s,str);insert(str);(10)下面程序的运行结果是:【10】。fun(int t,int n)int i

25、,m;if(n=1)return t0;elseif(n%26gt;=2)m=fun(t,n-1); return m; main()int a=11,4,6,3,8,2,3,5,9,2;printf(dn,fun(a,10);(11)现有两个C程序文件T18.c和myfun.c同在TC系统目录(文件夹)下,其中T18.c文件如下:#include %26lt;stdio.h%26gt;#include myfun.cmain()fun();printf(n);myfun.c文件如下:void fun()char s80,c; int n=0;while(c=getchar()!=n) sn+

26、=c;n-;while(n%26gt;=0) printf(c,sn-);当编译连接通过后,运行程序T18时,输入Thank!则输出结果是:【11】。(12)以下函数fun的功能是返回str所指字符串中以形参c中字符开头的后续字符串的首地址,例如:str所指字符串为:Hello!,c中的字符为e,则函数返回字符串:ello!的首地址。若str所指字符串为空串或不包含c中的字符,则函数返回NULL。请填空。char *fun(char *str,char C int n=0; char *p=str;if(p!=NULL)while(pn!=c%26amp;%26amp;pn!=0)n+;if(pn=0) return NULL;return(【12】);(13)以下程序的功能是:输出100以内(不含100)能被3整除且个位数为6的所有整数,请填空。main()(int i,j;for(i=0;【13】;i+)j=i*10+6;if(【14】)continue;printf(d,j);(14)以下isprime函数的功能是判断形参a是否为素数,是素数,函数返回1,否则返回0。请填空int isprime(int a)int i;for(i=2;i%26lt;=a/2;i+)if(ai=0)【15】;【16】; (15)以下程序的功能是输入任意整数给n后,输出n行由大

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1