二级C语言真题2007年4月答案.doc
《二级C语言真题2007年4月答案.doc》由会员分享,可在线阅读,更多相关《二级C语言真题2007年4月答案.doc(14页珍藏版)》请在麦多课文档分享上搜索。
1、二级C语言真题2007年4月答案真题 120一、选择题 下列各题A、B、C、D 四个选项中,只有一个选项是正确的。第1题:参考答案:B答案解析:根据时间复杂度和空间复杂度的定义可知,算法的时间复杂度与空间复杂度并不相关。数据的逻辑结构就是数据元素之间的逻辑关系,它是从逻辑上描述数据元素之间关系的,是独立于计算机中的,数据的存储结构是研究数据元素和数据元素之间的关系如何在计算机中表示,它们并非一一对应。算法的执行效率不仅与问题的规模有关,还与数据的存储结构有关。第2题:参考答案:D答案解析:在结构化程序设计中,一般较优秀的软件设计尽量做到高内聚、低耦合,这样有利于提高软件模块的独立性,这也是模块
2、划分的原则。第3题:参考答案:A答案解析:软件测试是为了发现错误而执行程序的过程,且为了达到好的测试效果,应该由独立的第三方来构造测试,程序员应尽量避免检查自己的程序。第4题:参考答案:C答案解析:面向对象程序设计的3个主要特征是:封装性、继承性和多态性。第5题:参考答案:D答案解析:队列是一种操作受限的线性表。它只允许在线性表的一端进行插入操作,另一端进行删除操作。其中,允许插入的一端称为队尾(rear),允许删除的一端称为队首(front)。队列具有先进先出的特点,它是按“先进先出”的原则组织数据的,故本题答案为D.。第6题:参考答案:C答案解析:二叉树前序遍历的含义是:首先访问根结点,然
3、后按前序遍历根结点的左子树,最后按前序遍历根结点的右子树,前序遍历二叉树的过程是一个递归的过程。根据题目中给出的二叉树的结构可知前序遍历的结果是:ABDYECFXZ。第7题:参考答案:A答案解析:对于任何一棵二叉树T,如果其终端结点(叶子)数为n1,度为2的结点数为n2,则n1= n2+1。所以该二叉树的叶子结点数等于n+1。第8题:参考答案:B答案解析:在关系运算中,“交”的定义如下:设 R1和R2为参加运用算的两个关系,它们具有相同的度n,且相对应的属性值取自同个域,则R1R2为交运算,结果仍为度等于n的关系,其中的元组既属于R1又属于R2。 根据定义可知,不改变关系表的属性个数但能减少元
4、组个数的是交运算,故本题答案为B.。第9题:参考答案:C答案解析:E-R模型可用E-R图来表示,它具有3个要素:实体(型)用矩形框表示,框内为实体名称。属性用椭圆型来表示,并用线与实体连接。属性较多时也可以将实体及其属性单独列表。实体间的联系用菱形框表示。用线将菱形框与实体相连,并在线上标注联系的类型。第10题:参考答案:A答案解析:数据库设计(Database Design)是指根据用户的需求,在某一具体的数据库管理系统上设计数据库的结构并建立数据库的过程;数据库技术的根本目标是要解决数据共享的问题;数据库需要操作系统的支持;数据的物理结构又称数据的存储结构,就是数据元素在计算机存储器中的表
5、示及其配置。数据的逻辑结构是指数据元素之间的逻辑关系,它是数据在用户或程序员面前表现的方式,在数据库系统中,数据的物理结构不一定与逻辑结构一致。第11题:参考答案:C答案解析:一个算法应当具有5个特性,即有穷性、确定性、可行性、有零个或多个输入以及有一个或多个输出。算法的确定性是指:算法中每一条指令必须有确切的含义,读者理解时不会产生二义性。并且在任何条件下,算法只有唯一的一条执行路径,即对于相同的输入只能得出相同的执行结果。第12题:参考答案:D答案解析:一个C语言的源程序(后缀名为. C在经过编译器编译后,先生成一个汇编语言程序,然后由编译程序再将汇编语言程序翻译成机器指令程序,即目标程序
6、(后缀名为.obj),目标程序不可以直接运行,它要和库函数或其它目标程序连接成可执行文件(后缀名为.exe)后方可运行。故本题答案为D。第13题:参考答案:B答案解析:在C语言中,用户标识符命令规则规定:变量名只能由字母、数字或下划线3种字符组成,且第一个字符必须为字母或下划线。在C语言中,大写字母和小写字母被认为是两个不同的字符。据此规定A、D、C三个选项是正确的,而B选项是连字符,不在C语言规定的命名变量标识符的范围内。第14题:参考答案:C答案解析:结构化程序设计是指在程序的构成上只使用顺序、选择(即分支)和循环3种结构组成的编程方式。它强调程序设计风格和程序结构的规范化,提倡清晰的结构
7、。结构化程序设计方法的基本思路,是把一个复杂问题的求解过程分阶段进行,每个阶段处理的问题都控制在人们容易理解和处理的范围内。结构化程序设计提倡模块化的设计方法。第15题:参考答案:A答案解析:一个C程序总是从main函数开始执行,而不论其在程序中的位置。在main函数中可以调用程序中的其他函数,而其他函数却不可以调用 main函数。程序最后再从main函数中结束。第16题:参考答案:D答案解析:本题中,scanf函数的格式控制没有空格,所以,对于选项A、B、C,输入的第一个空格会作为字符赋值给变量c1,而不会被解释成分隔符。第17题:参考答案:C答案解析:本题主要考查C语言的库函数。 abs求
8、整数的绝对值,fabs求双字节型的绝对值,pow函数的原形是double pow(double X,double Y),计算x的y次方;exp函数的原形是double exp(double X),求10的 X次方;sqrt函数的原形是double sqrt(double x),为x的平方根。故本题答案为C。第18题:参考答案:A答案解析:因为“int k=0;”,所以B、C、D.三个选项的表达式的值都等于1,而A选项的表达式的值等于0。这是因为“k+”这个表达式先进行取k值的运算,然后是k值自加1。故本题答案为A。第19题:参考答案:B答案解析:“%u”格式符用来以+进制形式输出无符号整型变量
9、,其取值范围是065535。本题中无符号整型变量x=0xFFFF(+六进制)表示的是无符号整型变量的最大值65535。第20题:参考答案:C答案解析:C语言规定,在“if(表达式)语句 1;else语句2;”这种形式的if语句中,在每一个else前面有一个分号,整个语句结束处有一分号。在本题的 C选项中,else前面少了一个分号,这样程序在编译时,会出现语法错误。第21题:参考答案:D答案解析:因为x的值为大于1的奇数,所以 x除以2的余数等于1,因此,选项A、C中表达式的结果为真,不为0;对于选项B来说,x除以2的商不会等于0;选项D中表达式的结果为假,即等于0。第22题:参考答案:C答案解
10、析:break语句的功能是跳出正在执行的条件语句或循环语句。它可以出现在switch语句中,也可以出现在循环语句中。continue语句只是结束本次循环,即跳过本次循环体中余下尚未执行的语句,接着再一次进行循环的条件判断。第23题:参考答案:A答案解析:因为变量的初始值分别为“k=5,n =0”,所以程序第一次进入循环时,执行default语句,这时k=4,执行case 4:”这个分支,结果是“n=2,k= 3”,打印出2;程序然后进行第二次循环,这时“n=2,k =3”,执行case 3:”这个分支,结果是“n=3,k=2”,打印出3;程序进行第三次循环,这时“n=3,k=2”,执行“cas
11、e 2:case 4:”这两个分支,结果是“n=5,k=1”,打印出5,这时因为n=5不满足n5的循环条件,因此退出循环,程序运行结束。因此输出结果是235。第24题:参考答案:B答案解析:本题主要考查了for循环的嵌套。外层for循环的自变量i从1开始,每次循环后增l,至到i等于3结束。内层循环的自变量j每次从i开始,每次循环后增1,至到j等于3结束。在每次外循环开始后,内层循环在一行上先打印“i*j=两个乘数的积”,然后换行,下次循环从下一行开始打印。第25题:参考答案:A答案解析:C语言的字符常量是用单引号(即撇号)括起来的一个字符。除此之外,在C语言中还允许用以一个“”开头的字符序列来
12、表示字符常量。其中,形式“ddd”表示1到3位8进制数所代表的字符;形式“xhh”表示1到2位16进制数所代表的字符。在本题中x13表示回车符,是一个字符常量;081用 8进制数所代表的字符,但形式不正确,因为8进制数所表示的字符中不会出现数字“8”;65不是一个字符,而是一个+进制数字;“n”是用双引号括起来的一个字符,表示一个字符串,而不是字符常量。第26题:参考答案:A答案解析:在C语言中,应当在定义函数时指定函数值的类型,凡不加类型说明的函数,一律自动按整型处理。在定义函数时对函数值说明的类型一般应该和return语句中的表达式类型一致。如果函数值的类型和return语句中的表达式类型
13、不一致,则以函数类型为主。即函数类型决定返回值的类型。第27题:参考答案:D答案解析:C语言中,字符数据参加运算时,实际上是其ASCII码参与计算。大写字母的ASCII码比其对应的小写字母的ASCII码小31。因此要将大写字母转化为小写字母只需将其加上32即可。所以选项 B、C都符合条件,因为变量C中存储的是大写字母,所以“c-A”的值一定小于26,故选项A与选项C的含义相同。故本题答案为D。第28题:参考答案:B答案解析:循环语句while(*t+);执行完时,指针变量t就指向了字符中结束符o之后的位置,所以语句return(t-s);返回的就是字符串s所用内存的字节个数。第29题:参考答案
14、:D答案解析:指针变量只能存储地址,选项A错误。只有浮点型指针才能指向浮点型数据,选项B.错误。在定义指针变量时必须加上星号“*”,选项C错误。故本题答案为D。第30题:参考答案:A答案解析:指针变量在定义时需要加星号,而在赋值时则不用,故选项B错误。本题中,scanf()函数和printf()函数都是要对指针变量p指向的地址处的数据进行访问,不是变量本身。选项C中多了取地址运算符,选项D中少了指针运算符。第31题:参考答案:B答案解析:在main()中,“f(&a2,5,0);”语句的功能是对数组a10中从a2到a6的数宇(即3,2,1, 6,7)进行从大到小排序,这时数组a10中的数字序列
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二级 语言 2007 答案
