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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

最新计算机二级c语言试题及详细解答答案.docx

1、最新计算机二级c语言试题及详细解答答案2009年9月计算机二级c语言试题及详细解答答案一、选择题在下列各题的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)下列选项中不属于结构化程序设计原则的是_。A)可封装 B)自顶向下 C)模块化 D)逐步求精(7)软件详细设计产生的图如下:该图是。A)N-S图 B)PAD图 C)程序流程图 D)ER图(8)数据库管理系统是_。A)操作系统的一部分 B)在操作系统支持下的系统软件C)一种编译系统 D)一种操作系统(9)在ER图中,用来表示实体联系

3、的图形是_。A)椭圆形 B)矩形C)菱形 D)三角形(10)有三个关系R,S和T如下:RABCa12b21c31SABCd32TABCa12b21c31d32其中关系T由关系R和S通过某种操作得到,该操作为_。A)选择 B)投影 C)交 D)并(11)以下叙述中正确的是_。A)程序设计的任务就是编写程序代码并上机调试B)程序设计的任务就是确定所用数据结构C)程序设计的任务就是确定所用算法 D)以上三种说法都不完整(12)以下选项中,能用作用户标识符的是_。A)void B) 8_8C)_0_ D)unsigned(13)阅读以下程序:#include main()int case;float

4、printF;printf(请输入2个数:);scanf(%d%f,&case,&printF);printf(% d%fn,case,printF);该程序在编译时产生错误,其出错原因是_。A)定义语句出错,case是关键字,不能用作用户自定义标识符B)定义语句出错,printF不能用作用户自定义标识符C)定义语句无错,scanf不能作为输入函数使用D)定义语句无错,printf不能输出case的值(14)表达式:(int)(double)9/2)(9)%2的值是_。A)0 B)3 C)4 D)5(15)若有定义语句:intx10;,则表达式xxx的值为_。A)20 B)10 C)0 D)1

5、0(16)有以下程序:#include main()inta1,b0;printf(%d,bab);printf(%dn,a2程序运行后的输出结果是_。A)0,0 B)1,0 C)3,2 D)1,2(17)设有定义:inta1,b2,c3;,以下语句中执行效果与其他三个不同的是_。A)if(ab)ca,ab,bc;B)if(ab)ca,ab,bc;C)if(ab)ca;ab;bc; D)if(ab)ca;ab;bc;(18)有以下程序:#includemain()intc0,k;for(k1;kb?(bc?1:0):0;功能相同的是_。A)if(ab)&(bc)k1;elsek0; B)if(

6、ab)(bc)k1;else k0;C)if(ab)k0;else if(bb)k1;elseif(bc)k1;elsek0;(20)有以下程序:#include main()char s012xy;int i,n0;for(i0;si!0;i) if (sia&siz)n;printf(%dn,n);程序运行后的输出结果是_。A)0 B)2 C)3 D)5(21)有以下程序:#include main()intn2,k0;while(k&n2);printf(%d%dn,k,n);程序运行后的输出结果是_。A)02 B)13 C)57 D)12(22)有以下定义语句,编译时会出现编译错误的是

7、_。A)charaa;B)charan;C)charaaa; D)charax2d;(23)有以下程序:#include main()char cl,c2;clA84;c2A85;printf(%c,%dn,cl,c2);已知字母A的ASCIl码为65,程序运行后的输出结果是_。A)E,68 B)D,69 C)E,D D)输出无定值(24)有以下程序:#include voidfun(int p)int d2;pd;printf(%d,p);main()inta1;fun(a);printf(%dn,a);程序运行后的输出结果是_。A)32 B)12C)21 D)22(25)以下函数findm

8、ax拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能。#define MIN 2147483647int findmax(intx,int n)inti,max;for(i0;in;i)maxMIN; if(maxxi) maxxi;returnmax;造成错误的原因是_。A)定义语句int i,max;中max未赋初值B)赋值语句maxMIN;中,不应给max赋MIN值C)语句if(maxxi)maxxi;中判断条件设置错误 D)赋值语句maxMIN;放错了位置(26)有以下程序:#include main()int m1,n2,*p&m,*q&n,*r;rp;pq

9、;qr;printf(%d,%d,%d,%dn,m,n,*p,*q);程序运行后的输出结果是_。A)1,2,1,2 B)1,2,2,1 C)2,1,2,1 D)2,1,1,2(27)若有定义语句:inta410,*p,*q4;且0i4,则错误的赋值是_。A)pa B)qiai C)pai D)p&a21(28)有以下程序:#include #include main()char str20Qne*World,one*Dream!,*pstr1;printf(%d,strlen(p);printf(%sn,p);程序运行后的输出结果是_。A)9,One*World B)9,One*Dream!

10、C)10,One*Dream! D)10,One*World(29)有以下程序:#include main()inta2,3,5,4,i;for(i0;i4;i)switch(i%2)case 0:switch(ai%2)case 0:ai;break; case 1:ai;break;case 1:ai0;for(i0;i4;i)printf(%d,ai);printf(n);程序运行后的输出结果是_。A)3 3 4 4 B)2 0 5 0 C)3 0 4 0 D)0 3 0 4(30)有以下程序:#include #include main()char a10abcd; printf(%d

11、,%dn,strlen(a),sizeof(a);程序运行后的输出结果是_。A)7,4 B)4,10 C)8,8 D)10,10(31)下面是有关C语言字符数组的描述,其中错误的是_。A)不可以用赋值语句给字符数组名赋字符串B)可以用输入语句把字符串整体输入给字符数组C)字符数组中的内容不一定是字符串 D)字符数组只能存放字符串(32)下列函数的功能是_。fun(char*a,char*b)while(*b*a)!0)a;b;A)将a所指字符串赋给b所指空间B)使指针b指向a所指字符串C)将a所指字符串和b所指字符串进行比较 D)检查a和b所指字符串中是否有0(33)设有以下函数:void f

12、un(int n,char*s) 则下面对函数指针的定义和赋值均正确的是_。A)void(*pf)();pffun;B)void*pf(); pffun;C)void*pf();*pffun;D)void(*pf)(int,char);pf&fun;(34)有以下程序:#include int f(int n);main()int a3,s;sf(a);ssf(a);printf(%dn,s);int f(int n)static int a1;na;return n;程序运行后的输出结果是_。A)7 B)8 C)9 D)10(35)有以下程序:#include #define f(x) x*

13、x*xmain()int a3,s,t;sf(a1);tf(a1);printf(%d,%dn,s,t);程序运行后的输出结果是_。A)10,64 B)10,10C)64,10 D)64,64(36)下面结构体的定义语句中,错误的是_。A)structordintx;inty;intz;structorda;B)structordintx;inty;intz;structorda;C)structordintx;inty;intz;a; D)structintx;inty;intz;)a;(37)设有定义:char*c;,以下选项中能够使字符型指针c正确指向一个字符串的是_。A)char st

14、rstring;cstr;B)scanf(%s,c);C)cgetchar(); D)*cstring;(38)有以下程序:#include#includestruct Aint a;char b10;double c;struct A f(struct A t);main()struct A a1001,ZhangDa,1098.0);af(a); printf(%d,%s,%6.1fn,a.a,a.b,a.c);struct A f(struct A t)ta1002;strcpy(t.b,changRong);t.c1202.0;return t;程序运行后的输出结果是_。A)1001,

15、ZhangDa,1098.0B)1002,ZhangDa,1202.0C)1001,ChangRong,1098.0 D)1002,ChangRong,1202.0(39)若有以下程序段:intr8;printf(%dn,r1);输出结果是_。A)16 B)8 C)4 D)2(40)下列关于C语言文件的叙述中正确的是_。A)文件由一系列数据依次排列组成,只能构成二进制文件B)文件由结构序列组成,可以构成二进制文件或文本文件C)文件由数据序列组成,可以构成二进制文件或文本文件 D)文件由字符序列组成,其类型只能是文本文件二、填空题请将每一个空的正确答案写在答题卡序号的横线上,答在试卷上不给分。(

16、1)某二叉树有5个度为2的结点以及3个度为1的结点,则该二叉树中共有_【1】_个结点。(2)程序流程图中的菱形框表示的是_【2】_。(3)软件开发过程主要分为需求分析、设计、编码与测试四个阶段,其中 _【3】_ 阶段产生软件需求规格说明书。(4)在数据库技术中,实体集之间的联系可以是一对一或一对多或多对多的,那么学生和可选课程的联系为_【4】_。(5)人员基本信息一般包括:身份证号,姓名,性别,年龄等。其中可以作为主关键字是_【5】_。(6)若有定义语句:int a5;,则表达式:a的值是_【6】_。(7)若有语句double x17;int y;,当执行y(int)(x/5)%2;之后y的值

17、为_【7】_。(8)以下程序运行后的输出结果是 _【8】_。#include main()intx20;printf(%d,0x20);printf(%dn,0x&x20);(9)以下程序运行后的输出结果是_【9】_。#include main()int a1,b7;dobb/2; ab; while(b1);printf(%dn,a);(10)有以下程序:#includemain()int f,fl,f2,i;f10;f21;printf(%d%d,f1,f2);for(i3;i5;i) ff1f2;printf(%d,f);f1f2;f2f;printf(n);程序运行后的输出结果是_【1

18、0】_。(11)有以下程序:#include int a5;void fun(int b)int a10;ab;printf(%d,a);main()int c20;fun(c);ac;printf(%dn,a);程序运行后的输出结果是_【11】_。(12)设有定义:struct personint ID;char name12;p;请将scanf(%d,_【12】_);语句补充完整,使其能够为结构体变量p的成员ID正确读入数据。(13)有以下程序:#include main()char a20How are you?,b20;scanf(%s,b);printf(%s %sn,a,b);程序

19、运行时从键盘输入:How are you?则输出结果为_【13】_。(14)有以下程序:#include typedef structint num;double s;REC;void funl(REC x)x.num23;x.s88.5;main()REC a16,90.0);fun1(a);printf(%dn,a.num);程序运行后的输出结果是_【14】_。(15)有以下程序:#include fun(int x)if(x/20) fun(x/2);printf(%d.,x);main() fun(6),printf(n);程序运行后的输出结果是_【15】_。一、选择题(1)C【解析】

20、 根据数据结构中各数据元素之间前后关系的复杂程度,一般将数据结构分为两大类型:线性结构与非线性结构。线性结构表示数据元素之间为一对一的关系,非线性结构表示数据元素之间为一对多或者多对一的关系。根据各种结构的定义知二叉树是一种非线性结构。(2)B【解析】 栈是限定只在一端进行插入与删除的线性表,通常称插入、删除的这一端为栈顶,另一端为栈底。栈顶元素总是后被插入的元素,也是最先被删除的元素;栈底元素总是最先被插入的元素,也是最后才能被删除的元素。栈是按照先进后出或后进先出的原则组织数据的。(3)D【解析】 循环队列是将顺序队列首尾相连形成的,随着插入元素或删除元素的进行,其队头指针及队尾指针是在不

21、断变化的,有时可能会出现队头指针大于队尾指针的情况,也可能是队尾指针大于队头指针,故答案为D)。(4)A【解析】 算法的空间复杂度是指:算法执行过程中所需的存储空间。一个算法所占用的存储空间包括算法程序所占的空间、输入的初始数据所占的存储空间以及算法执行过程中所需要的额外空间。(5)B【解析】 模块划分应考虑的因素包括模块之间的耦合和内聚。一般来说,要求模块之间的耦合尽可能地低,即模块尽可能独立,要求模块的内聚程度尽可能地高,即遵循高内聚、低耦合的原则。(6)A【解析】 模块化、自顶向下、逐步求精都是结构化程序设计的原则;可封装是面向对象程序设计原则。(7)C【解析】 NS图是由若干基本框图构

22、成的流程图,其特点是没有流程线;PAD图即问题分析图(Problem Analysis Diagram),它是一种由左往右展开的二维树形结构;程序流程图用于描述问题解决的过程和步骤,其中方框表示处理步骤,菱形框表示逻辑判断,箭头表示控制流向;ER图即实体联系图(Entity Relationship Diagram),用来描述现实世界的概念模型,构成元素有实体、属性和联系,分别用矩形、椭圆形和菱形表示。本题答案为C)。(8)B【解析】 数据库管理系统是指位于用户与操作系统之间的数据管理软件。数据库管理系统是为数据库建立、使用和维护而配置的软件。(9)C【解析】 ER图中用矩形表示实体(等同于表

23、),用椭圆形表示实体的属性(等同于表中字段),用菱形表示实体关系(等同于外键)。(10)D【解析】 两个相同结构关系的并是由属于这两个关系的元组组成的集合。(11)D【解析】 程序设计通常分为问题建模、算法设计、编写代码和编译调试四个阶段。所以选项A)、B)、C)说法都不完整。(12)C【解析】 C语言的标识符命名规则为:只能由字母、数值和下划线3种字符组成;第一个字符必须是字母或下划线;不能与C语言中的关键字或保留字相同。(13)A【解析】 标识符不能与C编译系统已经预定义的、具有特殊用途的保留标识符(即关键字)同名,否则程序在编译时会出现错误。题目源程序中使用了已经预定义的关键字case,

24、所以将出现错误。(14)B【解析】 (int)(double)9/2)的值为4,(9)%2的值为1,因此(int)(double)9/2)(9)%2的值为3。(15)B【解析】 xxx可化为:xx(xx),由于x初始值为10,所以计算后,x102010,因此选B)。(16)D【解析】 执行第一个printf语句时,bab1,所以输出1,执行第二个printf语句时,a2*b=2,所以输出结果为2。(17)C【解析】 逗号表达式的求解过程是:按表达式顺序从左往右依次求解。本题中由于判断条件ab的值为假,所以选项A)、B)、D)中if语句后面的语句均未被执行,而C)中的后两条语句ab和bc被执行,

25、因此选项C)的执行效果与其他三个不同。(18)A【解析】 第一次循环时,k1,在switch语句中,先执行default后面的语句,即cck1,因为没有break语句,所以不会跳出switch结构,会接着执行case2后面的语句,即cc12,然后跳出switch;第二次循环时,k2,直接执行case2后面的语句,即cc13,然后跳出switch语句,结束循环,执行输出语句。(19)A【解析】 表达式kab?(bc?10)0表示:如果(ab)条件为真,则k取值(bc?10),否则k取值0;当ab的情况下,如果bc,则k值为1,否则为0。所以该表达式与选项A)功能相同。(20)B【解析】 在字符串数组si中,只有当下标i3和i4时,才满足if条件,所以n的值从0增加两次,结果为2。(21)D【解析】 本题考

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

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