二级C语言真题2006年9月答案.doc
《二级C语言真题2006年9月答案.doc》由会员分享,可在线阅读,更多相关《二级C语言真题2006年9月答案.doc(15页珍藏版)》请在麦多课文档分享上搜索。
1、二级C语言真题2006年9月答案真题 120一、选择题 下列各题A、B、C、D 四个选项中,只有一个选项是正确的。第1题:参考答案:D答案解析:良好的程序设计风格可以使程序结构清晰合理,使程序代码便于维护,因此,程序设计风格对保证程序的质量很重要。主要应注意和考虑下述些因素:1、源程序要文挡化;2、数据说明的次序要规范化;3、语句的结构应该简单直接,不应该为提高效率而把语句复杂化,避免滥用goto语句。模块设计要保证低耦合、高内聚。第2题:参考答案:A答案解析:从工程管理角度看,软件设计分为两步完成:概要设计与详细设计。概要设计(义称结构设计)将软件需求转化为软件体系结构、确定系统级接口、全局
2、数据结构或数据库模式;详细设计确立每个模块的实现算法和局部数据结构,用适当方法表示算法和数据结构的细节。第3题:参考答案:C答案解析:软件生命周期分为软件定义、软件开发及软件维护。其中软件开发阶段的任务中软件设计阶段可分解成概要设计阶段和详细设计骱段;软件维护不属于软件开发阶段。第4题:参考答案:B答案解析:数据库管理系统的三级模式结构由外模式、模式和内模式组成。夕模式,或子模式,或用户模式,是指数据库用户所看到的数据结构,是用户看到的数据视图。模式,或逻辑模式,是数据库中对全体数据的逻辑结构和特性的描述,是所有用户所见到的数据视图的总和。外模式是模式的部分。内模式,或存储模式,或物理模式,是
3、指数据在数据库系统内的存储介质上的表示,即对数据的物理结构和存取力式的描述。第5题:参考答案:D答案解析:数据库设计方法和步骤:需求分析、概念设计、逻辑设计和物理设计的相关策略 评析:数据库设计以下6个设计阶段:需求分析阶段、概念设计阶段、逻辑设计阶段、物理设计阶段、实施阶段及数据库运行和维护阶段。第6题:参考答案:C答案解析:从图中可以看出,关系T是关系R和关系S的简单扩充,而扩充的符号为,所以答案为T=RS。第7题:参考答案:D答案解析:算法的复杂度主要包括时间复杂度和空间复杂度:算法在运行过程中需辅助存储空间的大小称为算法的空间复杂度;算法的时间复杂度是指执行算法所需要的计算工作量,即算
4、法执行过程中所需要的基本运算次数,为了能够比较客观地反映出个算法的效率,在度量个算法的工作量时,不仅应该与所使用的计算机、程序设计语言以及程序编制者无关,而且还应该与算法实现过程中的许多细节无关。为此,可以用算法在执行过程中所需基本运算的执行次数来度量算法的工作量。第8题:参考答案:B答案解析:在进行顺序查找过程中,如果线性表中的第1个元素就是被查找元素,则只需做次比较就查找成功,查找效率最高;但如果被查找的元素是线性表中的最后个元素,或者被查找的元素根本就不在线性表中,则为了查找这个元素需要与线性表中所有的元素进行比较,这是顺序查找的最坏情况。所以对长度为n的线性表进行顺序查找,在最坏情况下
5、需要比较n次。第9题:参考答案:B答案解析:由于数据的集成性使得数据可为多个应用所共享,特SU是在网络发达的今天,数据库与网络的结合扩大了数据关系的应用范围。数据的共享本身又可极大地减少数据冗余性,不仅减少了不必要的存储空间,更为重要的是可以避免数据的不致性。因此,数据库设计的根本目标是要解决数据共享问题。第10题:参考答案:A答案解析:二叉树的中序遍历指在访问根结点、遍历左子树与遍历右子树这三者中,首先遍历左子树,然后访问根结点,最后遍历右子树;并且遍历左、右子树时,仍然先遍历左子树,然后访问根结点,最后遍历右子树。第11题:参考答案:A答案解析:一个C语言程序可以实现多种算法。个C程序可以
6、由个或多个源程序文件组成,个源程序文件由个或多个函数组成,构成C语言程序的基本单位是函数,函数也是C程序中模块化程序设计的基础,C函数可分为标准库函数和用户定义函数两类。第12题:参考答案:D答案解析:每个C程序由多个C程序文件组成,而每个C程序都必须有一个main()函数,故每个C程序文件中都必须有个main()函数的说法是错误的。在C程序中所有函数都是平行的,即在定义函数时是相互独立的,个函数并不能从属于另个函数,即函数不能嵌套定义,函数间可以相互调用,但不能调用main()函数,main()函数的位置也不是固定的。第13题:参考答案:D答案解析:C语言中用来标识变量名、符号常量名、函数名
7、、数组名、类型名、文件名的有效字符序列称为标识符,C语言规定标识符能由字母、数字和下划线三种字符组成,且第个字符必须为字母或下划线。选项D中含有“$”,故不符合标识符的定义。第14题:参考答案:A答案解析:赋值表达式的左边不能为算式,故选项B、c错误;选项D为强制类型的转换,其书写形式为:(类型名)(表达式),即正确书写应为:(double)x/10或(double)(x/10);选项A为逗号表达式符合C语言语法。第15题:参考答案:D答案解析:逻辑运算符两侧的运算对象不但可以是0和1,也可以是任意基本类型或指针类型的数据,还可以是任意合法表达式。第16题:参考答案:C答案解析:“(x-y)?
8、(x):(y)”的求解顺序是:先判断x-y的值,如果为非0(真),则执行X,从而表达式返回X的值;如果0(假),则执行y,从而表达式返回y的值。相当于“或”的关系,所以选项C正确。第17题:参考答案:C答案解析:x:表示在使用x之后,使x的值加1;y:表示在使用y之后,使y的值加1;y:表示在使用y之前,使 y的值加1。此题中执行z=x,是将x的值先赋给z,所以z=1,接下来x自行加1,其结果为2:执行y后,y=2,执行后,y=3;故答案选C。第18题:参考答案:B答案解析:对于unsigned型数据可以指定数据的输入域宽w,系统秒将自动按w值截取所需长度的数据,此题中指定输入域宽为2,所以把
9、前两个数送给a,即a=87后面的数值应送给变量b,由于6后面是空格分隔符,所以系统认为该数据到此结束,即将6赋给了b,所以答案选B。第19题:参考答案:B答案解析:在C语言中,注释是用于协助读者更好地理解程序,它不会被系统编译执行,此题中第处的注释内容包括:“/*给a赋值 b=20; 给b赋值 */”,故本题中“b=20;”在程序中不起作用,所以输出语句执行的ab的值为100的值,即输出为“ab=10”。第20题:参考答案:C答案解析:在嵌套使用if语句时,C语言规定else总是和之前与其最近的且不带else的if配对。第21题:参考答案:D答案解析:在switch语句中,break语句主要起
10、到在执行一个case分支后,使流程跳出switch结构,即终止switch语句的执行,但最后个分支(default)可以不加break语句。第22题:参考答案:A答案解析:此题中首先给k赋初值5,执行while语句:中的表达式“-k”,k先自行减1结果为4,满足while执行条件输出:k=k-3=4-3=1;此时输出结果为1。返回执行while语句,重复上面的操作,while后的表达式为0,退出循环,所以最后的输出结果为1。第23题:参考答案:C答案解析:评析:在满足for语句条件下,第个if语句的条件是指i先对5取余后,再自行加1;第二个if语句的条件是指:i=i1后,再对8取余。设可以满足
11、第个if语句的值为:x,那么可以满足第二个if语句的值为:x2,转换为方程组: 第24题:参考答案:B答案解析:0代表ASC码为48的字符,0代表ASC码为0的字符,1代表ASC码为49的字符,所以只有选项B的表达式的值为1。第25题:参考答案:C答案解析:在fun(a,b,ab),c)中,先算括号内的(a,b,ab)逗号运算,即先算出a的值,a=2;再算出b的值,b=3;最后算出ab的值,ab=23=5,整个逗号表达式的值为最后ab的值即为5;接下来调用fun函数,此时原语句变为:smn=fun(5,C);进行运算,c表示在使用c以后再将c的值加1,所以结果为:53=8。第26题:参考答案:
12、D答案解析:此题中s是个字符数组,而字符数纽是在编绎时为它分配内存单元的,即此字符数组的地址在编译时是确定的,所以对此地址变量并不能赋值,故语句“s=2;”错误,故程序出错。第27题:参考答案:B答案解析:将j和m的值带入函数fun中,第次调用完fun()后,m和i的值分别为5和3且要保留,并在第二次调用时使用,这是因为两者都是局部静态变量。所以最后的结果是5和11。第28题:参考答案:C答案解析:函数fun是个递归调用函数,首先主函数将实参7传递给函数fun中的形参x,由于70,71,不满足if条件,所以执行下面的p=x-fun(x-2);语句,此语句继续调用它本身,直到当x=1时,返回函数
13、值3代入到调用它的表达式中,依此类推,最终p的值为2。第29题:参考答案:A答案解析:题目中p=&a表示指针p指向第个元素a0,执行p是指使p指向下个数据对象的地址,也就是向高地址移了个存储单元;因为int数据占两个字节,所以p相当于向高地址移了两个字节,所以选项A错误。第30题:参考答案:C答案解析:p1=&a表示指针变量p1指向元素1的地址;p2=&b表示指针变量p2指向元素3的地址;p=&c表示指针变量p指向元素5的地址;执行*p=*p1*(*p2)=1*3=3,所以最后的结果为:3。第31题:参考答案:B答案解析:选项A:*(*w3)=*(*(w0)3)=*(w03)=w03,符合数组
14、定义的范围可以正确表示数据元素。 选项B:*(w1)4=*(*(w+1)4=*w5=w50,超出了数据定义的范围。 选项C:*(*(w1)=*w1=w10,符合数组定义的范围可以正确表示数据元素。 选项D:*(&w001);=*(w01)w01,符合数组定义的范围可以正确表示数据元素。第32题:参考答案:D答案解析:函数声明可以照写已定义的函数的首部,再加一个号就成为了对函数的声明,在函数声明中也可以不写形参名,而只写形参的类型,但要保证与函数首部写法上的致,即函数类型、函数名、参数个数、参数类型和参数顺序相同。字符数组可用指针来表示,所以选顶D正确。第33题:参考答案:B答案解析:*pk3:
15、由于比 * 优先级高,因此p先与3结合,形成p3数组,有3个元素。然后再与p前面的“*”结合,“*”表示此数组是指针类型的,每个数组元素(相当于个指针变量)都可以指向个整型变量。第34题:参考答案:A答案解析:本题考点为数组名作函数参数,当n=O时,把x0的地址传绐被调函数change,即将形参k与实参x指向同一个存储单元x0,执行被调函数后,k0=6,即x0=6:当n=1时,形参k指向x数组的第1个数组元素所在单元,即 k0与x1共用同一存储单元,执行被调函数后,k0=7,即x1=7,依次类推得出x0到x4的值分别为6、7、8、 9、10。第35题:参考答案:D答案解析:维数组的定义方式为:
16、类型说明符 数组名常量表达式;常量表达式表示元素的个数,即数组的长度。常量表达式可以包括常量和符号常量,但不能包含变量。所以选项D错误。第36题:参考答案:B答案解析:此题中“scanf(%d,xi);”相当于“scarf(%d,xi0);”。输入246,执行for语句也就是x00=2, x10=4,x20=6,其余的数组元素为0:所以x00=2,x01=0,x10=4。第37题:参考答案:B答案解析:此题中先定义一个指针变量ps,并将s的首地址赋给此指针变量,*ps4相当于先从指针变量ps指向的地址中取出相应数据“a”后,对此数据加4,a的ASC码为32,324=36,对应于字符e,所以答案
17、选B。第38题:参考答案:A答案解析:此题需要了解字符数组和字符指针变量的区别,字符数组由若干个元素组成,每个元素中放一下字符,而字符指针变量中放的是地址(字符串的首地址),决不是将字符串放到指针变量中,选项D是指在定义字符指针变量时让字符指针指向字符串“right?”的首地址;选项C是先定义字符指针数组,再让指针数纽指向字符串right?的首地址;选项B是在定义数组时将字符赋给数组,而选项A的这种先定义,再用赋值语句赋值的形式是错误的,因为数组可以在变量定义时整体赋初值,而不能在赋值语句中整体赋值。第39题:参考答案:D答案解析:选项A中x4是取字符e,也就是将字符复制到y中,strcpy实
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二级 语言 2006 答案
