二级C语言-公共基础知识、C语言概述_第1页
二级C语言-公共基础知识、C语言概述_第2页
二级C语言-公共基础知识、C语言概述_第3页
二级C语言-公共基础知识、C语言概述_第4页
二级C语言-公共基础知识、C语言概述_第5页
免费预览已结束,剩余23页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

二级C语言-公共基础知识、C语言概述(总分:100.00,做题时间:90分钟)一、{{B}}选择题{{/B}}(总题数:67,分数:67.00).下列叙述中正确的是。A.程序执行的效率与数据的存储结构密切相关B.程序执行的效率只取决于程序的控制结构C.程序执行的效率只取决于所处理的数据量D.以上3种说法都不对(分数:1.00)V解析:[解析]在计算机中,数据的存储结构对数据的执行效率有较大影响,如在有序存储的表中查找某个数值比在无序存储的表中查找的效率高很多。2.下列有关顺序存储结构的叙述,不正确的是oA.存储密度大B.逻辑上相邻的结点物理上不必邻接C.可以通过计算机直接确定第i个结点的存储地址D.插入、删除操作不方便(分数:1.00)V解析:[解析]顺序存储结构要求逻辑上相邻的元素物理上也相邻,所以只有选项B叙述错误。3.在一个长度为n的顺序表中,向第i个元素(1&i&n+1)位置插入一个新元素时,需要从后向前依次移动个元素。A.n-iB.iC.n-i-1D.n-i+1(分数:1.00)V解析:[解析]根据顺序表的插入运算的定义知道,在第i个位置上插入x,从a到a都要向后移动一个位置,共需要移动n-i+1个元素。4.下列对队列的叙述,正确的是。A.队列属于非线性表B.队列按“先进后出”原则组织数据C.队列在队尾删除数据D.队列按“先进先出”原则组织数据(分数:1.00)V解析:[解析]队列是一种特殊的线性表,它只能在一端进行插入,在另一端进行删除。允许插入的一端称为队尾,允许删除的一端称为队头。队列又称为“先进先出”或“后进后出”的线性表,体现了“先到先服务”的原则。5.下列关于栈的描述,正确的是oA.在栈中只能插入元素而不能删除元素B.在栈中只能删除元素而不能插入元素C.栈是特殊的线性表,只能在一端插入或删除元素D.栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素(分数:1.00)V解析:[解析]栈是一种特殊的线性表。在这种特殊的线性表中,其插入和删除操作只在线性表的一端进行。6.下列叙述中,正确的是。aA.线性链表是线性表的链式存储结构B.栈与队列是非线性结构C.双向链表是非线性结构D.只有根结点的二叉树是线性结构(分数:1.00)V解析:[解析]根据数据结构中各数据元素之间前后关系的复杂程度,可将数据结构分为两大类型:线性结构与非线性结构。如果一个非空的数据结构满足下列两个条件:①有且只有一个根结点;②每个结点最多有一个前驱,也最多有一个后继。则称该数据结构为线性结构,也叫做线性表。若不满足上述条件,则称之为非线性结构。线性表、栈、队列和线性链表都是线性结构,而二叉树是非线性结构。7,对如下图所示二叉树进行后序遍历的结果为A.ABCDEFB.DBEAFCC.ABDECFD.DEBFCA(分数:1.00)V解析:[解析]执行后序遍历,依次执行以下操作:①首先按照后序遍历的顺序遍历根结点的左子树;②然后按照后序遍历的顺序遍历根结点的右子树;③最后访问根结点。8,下列数据结构中,能用二分法进行查找的是。A,顺序存储的有序线性表B.线性链表C.二叉链表D,有序线性链表(分数:1.00)V解析:[解析]二分查找只适用于顺序存储的有序表。所谓有序表是指线性表中的元素按值非递减排列(即从小到大,但允许相邻元素值相等)。9.对于长度为n的线性表,在最坏的情况下,下列各排序法所对应的比较次数中正确的是。A,冒泡排序为n/2B,冒泡排序为nC,快速排序为nD,快速排序为n(n-1)/2(分数:1.00)V解析:[解析]假设线性表的长度为n,则在最坏的情况下,冒泡排序需要经过n/2遍的从前往后扫描和n/2遍的从后往前扫描,需要比较次数为n(n-1)/2。快速排序法在最坏的情况下,比较次数也是n(n-1)/2。10.下列叙述中,不属于良好程序设计风格要求的是。A.程序的效率第一,清晰第二B.程序的可读性好C.程序中要有必要的注释D.输入数据前要有提示信息(分数:1.00)V解析:[解析]著名的“清晰第一,效率第二”的论点已经成为主导的程序设计风格,所以选项A是错误的,其余选项都是良好程序设计风格的要求。11.下列选项中不符合良好程序设计风格的是。A.源程序要文档化B.数据说明的次序要规范化C.避免滥用goto语句D.模块设计要保证高耦合、高内聚(分数:1.00)V解析:[解析]良好的程序设计风格使程序结构清晰合理,使程序代码便于维护。主要应注意和考虑的因素有:①源程序要文档化;②数据说明的次序要规范化;③语句的结构应简单直接,不应该为提高效率而把语句复杂化,避免滥用goto语句;④模块设计要保证低耦合、高内聚。12.下列选项中不属于结构化程序设计方法的是。A.自顶向下B.逐步求精C.模块化D.可复用(分数:1.00)V解析:[解析]20世纪70年代以来,提出了许多软件设计方法,主要包括:①逐步求精,对复杂的问题,应设计一些子目标作过渡,逐步细化。②自顶向下,程序设计时,应先考虑总体,后考虑细节;先考虑全局目标,后考虑局部目标。一开始不要过多追求细节,先从最上层总目标开始设计,逐步使问题具体化。③模块化,一个复杂问题,肯定是由若干相对简单的问题构成。模块化是把程序要解决的总目标分解为分目标,再进一步分解为具体的小目标,把每个小目标称为一个模块。而可复用是面向对象程序设计的一个优点,不是结构化程序设计方法。13.在面向对象方法中,实现信息隐蔽是依靠oA.对象的继承B.对象的多态C.对象的封装D.对象的分类(分数:1.00)V解析:[解析]对象是由数据和操作组成的封装体,与客观实体有直接的对应关系。对象之间通过传递消息互相联系,以模拟现实世界中不同事物彼此之间的关系。面向对象方法的3个重要特性为:封装性、继承性和多态性。14.下列描述中,正确的是oA.程序就是软件B.软件开发不受计算机系统的限制C.软件既要是逻辑实体,又是物理实体D.软件是程序、数据与相关文档的集合(分数:1.00)V解析:[解析]计算机软件是计算机系统中与硬件相互依存的另一部分,包括程序、数据及相关文档的完整集合。软件具有以下特点:①软件是一种逻辑实体,而不是物理实体,具有抽象性;②软件的生产过程与硬件不同,没有明显的制作过程:③软件在运行、使用期间,不存在磨损、老化问题;④软件的开发、运行对计算机系统具有不同程度的依赖性,这导致软件移植的问题;⑤软件复杂性高,成本昂贵;⑥软件开发涉及诸多的社会因素。15.从工程管理角度,软件设计一般分为两步完成,它们是。A.概要设计与详细设计B.数据设计与接口设计C.软件结构设计与数据设计D.过程设计与数据设计(分数:1.00)V解析:[解析]从工程管理角度看,软件设计分两步完成:概要设计与详细设计。概要设计将软件需求转化为软件体系结构、确定系统级接口、全局数据结构或数据库模式;详细设计确立每个模块的实现算法和局部数据结构,用适当方法表示算法和数据结构的细节。16.下列叙述中,正确的是。A.软件测试应该由程序开发者来完成B.程序经调试后一般不需要再测试C.软件维护只包括对程序代码的维护D.以上3种说法都不对(分数:1.00)V解析:[解析]程序调试的任务是诊断和改正程序中的错误。它与软件测试不同,软件测试是尽可能多地发现软件中的错误。先要发现软件的错误。然后借助于一定的调试工具去找出软件错误的具体位置。软件测试贯穿整个软件生命周期,调试主要在开发阶段。为了实现更好的测试效果,应该由独立的第三方来构造测试。软件的运行和维护是指将已交付的软件投入运行,并在运行使用中不断地维护,根据新提出的需求进行必要而且可能地扩充和删改。17.软件调试的目的是oA.发现错误B.更正错误C.改善软件性能D.验证软件的正确性(分数:1.00)V解析:[解析]软件调试的目的是诊断和改正程序中的错误,改正以后还需要进行测试。18.下列叙述中,正确的是。A.数据库系统是一个独立的系统,不需要操作系统的支持B.数据库技术的根本目标是要解决数据的共享问题C.数据库管理系统就是数据库系统D.以上3种说法都不对(分数:1.00)V解析:[解析]数据库系统是由数据库(数据)、数据库管理系统(软件)、计算机硬件、操作系统及数据库管理员组成。作为处理数据的系统,数据库技术的主要目的就是解决数据的共享问题。19.在数据库系统中,用户所见的数据模式为。A.概念模式B.外模式C.内模式D.物理模式(分数:1.00)A.V解析:[解析]概念模式是数据库系统中对全局数据逻辑结构的描述,是全体用户(应用)公共数据视图,它主要描述数据的记录类型及数据间关系,还包括数据间的语义关系等。数据库管理系统的3级模式结构由外模式、模式、内模式组成。数据库的外模式也叫做用户级数据库,是用户所看到和理解的数据库,是从概念模式导出的子模式,用户可以通过子模式描述语言来描述用户级数据库的记录,还可以利用数据语言对这些记录进行操作。内模式(或存储模式、物理模式)是指数据在数据库系统内的存储介质上的表示,是对数据的物理结构和存取方式的描述。20.下列说法中,正确的是。aA.为了建立一个关系,首先要构造数据的逻辑关系B.表示关系的二维表中各元组的每个分量还可以分成若干个数据项C.一个关系的属性名称为关系模式D.一个关系可以包含多个二维表(分数:1.00)V解析:[解析]元组已经是数据的最小单位,不可再分;关系的框架称为关系模式;关系框架与关系元组一起构成了关系,即一个关系对应一张二维表。选项A中,在建立关系前,需要先构造数据的逻辑关系是正确的。21.用树形结构表示实体之间联系的模型是。A.关系模型B.网状模型C.层次模型D.以上3个都是(分数:1.00)V解析:[解析]数据模型是指反映实体及其实体间联系的数据组织的结构和形式,有关系模型、网状模型和层次模型等。其中层次模型实际上是以记录型为结点构成的树,它把客观问题抽象为一个严格的、自上而下的层次关系,所以,它的基本结构是树形结构。22.设有以下3个关系表,如表1~表3所不。

下列操作中正确的是下列操作中正确的是A.T=RnSB.T=RUSC.T=RXSD.T=R/S(分数:1.00)V解析:[解析]集合的并、交、差、广义笛卡儿积:设有两个关系为R和S,它们具有相同的结构,R和S的并是由属于R和S,或者同时属于R和S的所有元组组成,记作RUS;R和S的交是由既属于R又属于S的所有元组组成,记作RAS;R和S的差是由属于R但不属于S的所有元组组成,记作R-S;元组的前n个分量是R的一个元组,后m个分量是S的一个元组,若R有Ki个元组,S有(个元组,则RXS有K1XK2个元组,记为RX&从表3中可见,关系T是关系R和关系S的简单扩充,而扩充的符号为“X",故答案为T=RXSo23.在下列关系运算中,不改变关系表中的属性个数但能减少元组个数的是。A.并B.交C.投影D.笛卡尔乘积(分数:1.00)A.V解析:[解析]关系的基本运算有两类:传统的集合运算(并、交、差)和专门的关系运算(选择、投影、连接)。集合的并、交、差:设有两个关系为R和S,它们具有相同的结构,R和S的并是由属于R和S,或同时属于R和S的所有元组组成,记作RUS;R和S的交是由既属于R又属于S的所有元组组成,记作RAS;R和S的差是由属于R但不属于S的所有元组组成,记作R-So因此,在关系运算中,不改变关系表中的属性个数但能减少元组(关系)个数的只能是集合的交。24.在E-R图中,用来表示实体之间联系的图形是。A.矩形B.椭圆形C.菱形D.平行四边形(分数:1.00)V解析:[解析]E-R图中规定:用矩形表示实体,椭圆形表示实体属性,菱形表示实体关系。25.对下列二叉树进行中序遍历的结果是。A.ACBDFEGB.ACBDFGEC.ABDCGEFD.FCADBEG(分数:1.00)V解析:.按照“后进先出”原则组织数据的数据结构是A.队列B.栈C.双向链表D.二叉树(分数:1.00)A.B.C.D.解析:.下列叙述中,正确的是。A.一个逻辑数据结构只能有一种存储结构B.数据的逻辑结构属于线性结构,存储结构属于非线性结构C.一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率D.一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率(分数:1.00)V解析:28.下面选项中,不属于面向对象程序设计特征的是。A.继承性B.多态性C.类比性D.封装性(分数:1.00)V解析:29.下列叙述中,正确的是。aA.软件交付使用后还需要进行维护B.软件一旦交付使用就不需要再进行维护C.软件交付使用后其生命周期就结束D.软件维护是指修复程序中被破坏的指令(分数:1.00)V解析:30.下列描述中,正确的是o•A.软件工程只是解决软件项目的管理问题♦B.软件工程主要解决软件产品的生产率问题C.软件工程的主要思想是强调在软件开发过程中需要应用工程化原则D.软件工程只是解决软件开发中的技术问题(分数:1.00)V解析:31.在软件设计中,不属于过程设计工具的是。aA.PDL(过程设计语言)B.PAD图C.N-S图D.DFD图(分数:1.00)V解析:32.数据库设计的4个阶段是需求分析、概念设计、逻辑设计和。A.编码设计B.测试阶段C.运行阶段D.物理设计(分数:1.00)V解析:.数据库技术的根本目标是要解决数据的A.存储问题B.共享问题C.安全问题D.保护问题(分数:1.00)A.B.C.D.解析:.数据库独立性是数据库技术的重要特点之一。所谓数据独立性是指A.数据与程序独立存放B.不同的数据被存放在不同的文件中C.不同的数据只能被对应的应用程序所使用D.以上3种说法都不对(分数:1.00)V解析:35.下列关于栈的叙述,正确的是oA.栈是非线性结构B.栈是一种树状结构C.栈具有“先进先出”的特征D.栈具有“后进先出”的特征(分数:1.00)V解析:36.结构化程序设计所规定的3种基本控制结构是oA.输入、处理、输出B.树型、网型、环型C.顺序、选择、循环D.主程序、子程序、函数(分数:1.00)V解析:37.下列叙述,正确的是。A.算法的效率只与问题的规模有关,而与数据的存储结构无关B.算法的时间复杂度是指执行算法所需要的计算工作量C.数据的逻辑结构与存储结构是一一对应的D.算法的时间复杂度与空间复杂度一定相关(分数:1.00)V解析:38.在结构化程序设计中,模块划分的原则是。aA.各模块应包括尽量多的功能B.各模块的规模尽量大C.各模块之间的联系应尽量紧密D.模块内具有高内聚度、模块间具有低耦合度(分数:1.00)V解析:39.某二叉树中有n个度为2的结点,则该二叉树中的叶子结点数为A.n+1B.n-1C.2nD.n/2(分数:1.00)V解析:40.下列叙述中,正确的是。A.C程序中的注释只能出现在程序的开始位置和语句的后面B.C程序书写格式严谨,要求一行内只能写一个语句C.C程序的书写格式自由,一个语句可以写在多行上D.用C语言编写的程序只能放在一个程序文件中(分数:1.00)A.B.V解析:[解析]C程序中注释可以放在任意位置;C语言的语法限制不严格,所以可以将多条语句放在同一行上;C程序可以放在多个程序文件中,并使用include语句进行文件包含。故本题答案为C41.下列选项中,由C语言提供的合法关键字的是。A.swicthB.cherC.defaultD.Case(分数:1.00)V解析:[解析]选项A和选项B为拼写错误,选项D中出现了大写字母。42.下列叙述中,正确的是。A.C程序的基本组成是语句B.C程序中的每一行只能写一条语句C.简单C语句必须以分号结束D.C语句必须在一行内写完(分数:1.00)V解析:[解析]函数是C程序的基本组成单位;C语言规定一条语句可以写在多行;C语言允许多条语句写在同一行。故本题答案为Co43.C语言规定,在一个源程序中,main()函数的位置。A.必须在最开始B.必须在系统调用的库函数的后面C.可以任意D.必须在最后(分数:1.00)V解析:[解析]程序中可以把main()函数放在任何位置,但程序是从main()函数开始执行的。44.以下说法正确的是。A.C程序是从第一个定义的函数开始执行的B.在C程序中,要调用的函数必须在main()函数中定义C.C程序是从main()函数开始执行D.C程序中的main()函数必须放在程序的开始部分(分数:1.00)V解析:[解析]C语言程序总是从程序的main()函数开始执行。main()函数可以放在C程序的任何位置,包括最前面和最后面。C程序中的函数可以任意地相互调用,它们之间的关系是平等的。45.下面4个选项中,均是不合法的用户标识符的选项是。A.AP_0doB.floatla0_AC.b-agotointD._123tempint(分数:1.00)V解析:[解析]合法的标识符只能由字母、数字或下划线组成。C选项中b-a出现非法字符“-";goto和int均为关键字。故本题答案为Co46.以下选项中不合法的标识符是。A.printB.FORC.&a♦D._00(分数:1.00)V解析:[解析]合法的标识符只能由字母、数字或下划线组成。C选项中&a出现非法字符“&"。故本题答案为C47.下列选项中,可作为合法标识符的是。A.1mB.DataD.i-1(分数:1.00)V解析:[解析]在编写程序时,标识符的作用是为函数、变量等命名。标识符的命名规则如下:(1)合法的标识符只能由字母、数字或下划线组成。(2)标识符的第一个字符必须是字母或下划线,不能是数字。(3)要区分字母的大小写,如q和Q是两个不同的变量。48.在C中,可以作为用户标识符的是。•A.voiddefineWORDB.as_b3_224ElseC.Switch-wercaseD.4bDOSIG(分数:1.00)V解析:[解析]选项A中的void是C语言的关键字。选项C中的-wer前边有一个字符是减号,而case是关键字。选项D中的4b是以数字开头。49.以下选项中不属于字符常量的是。A.'C'B."C"C.'/xCC'D.'/072'(分数:1.00)V解析:[解析]在C语言程序中,用单引号把一个字符或反斜杠后跟一个特定的字符括起来表示一个字符常量。选项A、OD为正确的字符常量。而选项B是用双引号括起来的字符,表示一个字符串常量。所以正确答案为Bo50.以下选项中不能作为C语言合法常量的是oA.'cd'B.0.1e+6C."/a"D.'/011'(分数:1.00)V解析:[解析]在C语言程序中,用单引号把一个字符或斜杠后跟一个特定的字符括起来表示一个字符常量。A选项中单引号里面有2个字符,所以A选项错误。51.下列选项中,正确的整型常量是。A.34.1B.-80C.2,000D.123(分数:1.00)V解析:[解析]本题是考查C语言的十进制整型常量。选项A后边有小数点,所以不对。选项C和选项D在数字间有逗号和空格,也显然不对。52.若函数中有定义语句:intk;则。A.系统将自动给k赋初值0B.这时k中的值无意义C.系统将自动给k赋值-1D.这时k中无任何值(分数:1.00)V解析:[解析]用int方法定义变量时,编译器仅为变量开辟存储单元,并没有在存储单元中存放任何值,此时变量中的值是不确定的,称变量值“无意义”。因此,本题正确答案为r53.下列选项中,正确的定义语句是。A.doublea;b;B.doublea=b=7;C.doublea=7,b=7;D.double,a,b;(分数:1.00)A.B.V解析:[解析]定义变量a和变量b为double类型,并对其赋初值。变量之间应该以“,”分隔,定义关键字与变量名之间应以空格分隔,语句应以“;”结尾。54.C语言中,int类型变量所占字节数是。TOC\o"1-5"\h\zA.1B.2C.3D.4(分数:1.00)V解析:[解析]C语言中int类型变量占两个字节,数值范围是-32768〜+32767。55.在C语言中定义了一个变量,该变量代表内存中的一个。aA.区域B.单元C.地址D.容量(分数:1.00)V解析:[解析]C语言中定义的一个变量代表内存中的一个地址,也就是在内存中分配给这个变量一个单元,用来存放变量的值,这个内存单元的大小根据变量的类型不同而不同。56.构成C语言程序的基本单位是。A.函数B.变量C.子程序D.语句(分数:1.00)V解析:57.以下是不正确的转义字符。A.'//'B.'"C.'020'D.'/0'(分数:1.00)V解析:58.C语言规定:在一个源程序中,main()函数的位置。A.必须在最开始B.必须在系统调用的库函数后面C.可以任意D.必须在最后(分数:1.00)V解析:59.为求出return语句返回计算100!的结果,此函数的类型说明应为。,A.intB.longC.unsignedlong♦D.选项A、B、C都不对(分数:1.00)V解析:60.C语言中的标识符只能由字母、数字和下划线3种字符组成,且第一个字符A.必须为字母B.必须为下划线C.必须为字母或下划线D.可以是字母、数字和下划线中的任意一种(分数:1.00)V解析:61.以下选项中合法的用户标识符是。A.intB.a#C.5mem♦D._243(分数:1.00)V解析:62.C语言中的简单数据类型有。A.整型、实型、逻辑型B.整型、字符型、逻辑型C.整型、实型、字符型D.整型、实型、字符型、逻辑型(分数:1.00)V解析:63.以下选项中,不正确的整型常量是TOC\o"1-5"\h\zA.-37B.32,758C.326D.6(分数:1.00)V解析:64.以下选项中,合法的C语言字符常量是A.'/t'B."A"C.67D.A(分数:1.00)V解析:65.以下选项中,不正确的实型常量是。A.123B.1e4C.3.640E-1D.0.35(分数:1.00)V解析:66.以下选项中,合法的C语言赋值语句是o,A.a=b=34B.a=34,b=34C.--i;D.m=(int)(x+y);(分数:1.00)V解析:类型数据的取值范围是67.设int类型的数据长度为两个字节,则unsignedint类型数据的取值范围是A.0〜255B.0〜65535C.-32768〜32767D.-256〜255

(分数:1.00)A.V解析:二、{{B}}操作题{{/B}}(总题数:4,分数:33.00)68.下列给定程序中函数fun()的功能是:求出以下数列的前n项之和,和值通过函数值返回123,4,5,6...例如,若n=5,则应输出15。请改正程序中的错误,使其得出正确的结果。不得增行或删行,也不得更改程序的结构!试题程序#includevstdlib.h>#includevstdio.h>/****found****/****found****/intfun(intn);{/****found****/intisum=0;/****found****//****found****/for(i=1;i<=n;i++){/****found****/sum=sum+i;}returnsum;}(分数:11.00)正确答案:(错误1:函数头之后不能加分号;错误2:语句末尾没加“;”号;错误3:变量sum未定义。)解析:[解析]本题考查C语言的构成,注意程序中的语法错误。69.下列给定程序中函数fun()的功能是:输入一圆,其直径为n,求出周长。请改正程序中的错误,使其得出正确的结果。不得增行或删行,也不得更改程序的结构。试题程序:#include<stdio.h>/***

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论