《二级c语言历年试题及答案.pdf》由会员分享,可在线阅读,更多相关《二级c语言历年试题及答案.pdf(210页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、目录历年公共基础试题及答案.2全国计算机等级考试C语言模拟题一.10全国计算机等级考试C语言模拟题 二.15全国计算机等级考试C语言模拟题 三.212007年9月二级C语言笔试试题.282008年4月二C语言级笔试试题.352008年9月二级C语言笔试试题.412009年3月二级C语言笔试试题.462009年9月二级C语言笔试试题.52笔试题答案.59机 试 题.61历年公共基础试题及答案-、选择题(1)(3 5)每小题2 分,共 7 0 分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题k 相应位置上,答在试卷上不得分。(1)数据的存储结构是指A)存储
2、在外存中的数据 B)数据所占的存储空间量0 数据在计算机中的顺序存储方式D)数据的逻辑结构在计算机中的表示(2)下列关于栈的描述中错误的是A)栈是先进后出的线性表 B)栈只能顺序存储0 栈具有记忆作用D)对栈的插入与删除操作中,不需要改变栈底指针(3)对于长度为n 的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是A)冒泡排序为n/2 B)冒泡排序为n0 快速排序为n D)快速排序为n(n-l)/2(4)对于长度为n 的线性表进行顺序查找,在最坏情况下所需要的比较次数为A)l o g 2 n B)n/2 C)n D)n+1(5)下列对于线性链表的描述中正确的是A)存储空间不定是连续
3、,且各元素的存储顺序是任意的B)存储空间不一定是连续,且前件元素一定存储在后件元索的前面0存储空间必须连续,且前件元索一定存储在后件元素的前面D)存储空间必须连续,且各元素的存储顺序是任意的(6)下列对于软件测试的描述中正确的是A)软件测试的目的是证明程序是否正确B)软件测试的目的是使程序运行结果正确0软件测试的目的是尽可能多地发现程序中的错误D)软件测试的目的是使程序符合结构化原则(7)为了使模块尽可能独立,要求A)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强B)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱0模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱D)模块的内聚程
4、度要尽量低,且各模块间的耦合程度要尽量强(8)下列描述中正确的是A)程序就是软件B)软件开发不受计算机系统的限制0 软件既是逻辑实体,乂是物理实体D)软件是程序、数据与相关文档的集合(9)数据独立性是数据库技术的重要特点之一。所谓数据独立性是指A)数据与程序独立存放B)不同的数据被存放在不同的文件中0 不同的数据只能被对应的应用程序所使用D)以上二种说法都不对(10)用树形结构表示实体之间联系的模型是A)关系模型B)网状模型C)层次模型D)以上三个都是(11)下列叙述中正确的是A)程序设计就是编制程序B)程序的测试必须由程序员自己去完成0程序经调试改错后还应进行再测试D)程序经调试改错后不必进
5、行再测试(12)下列数据结构中,能用二分法进行查找的是A)顺序存储的有序线性表 B)线性链表C)二叉链表 D)有序线性链表(13)下列关于栈的描述正确的是A)在栈中只能插入元素而不能删除元素B)在栈中只能删除元素而不能插入元素C)栈是特殊的线性表,只能在端插入或删除元素D)栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素(14)下列叙述中正确的是A)一个逻辑数据结构只能有一种存储结构B)数据的逻辑结构属于线性结构,存储结构属于非线性结构0一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率D)一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率(1 5
6、)下列描述中正确的是A)软件工程只是解决软件项目的管理问题B)软件工程主要解决软件产品的生产率问题C)软件工程的主要思想是强调在软件开发过程中需要应用工程化原则D)软件工程只是解决软件开发中的技术问题(1 6)在软件设计中,不属于过程设计工具的是A)P D L (过程设计语言)B)P A D 图C)N-S 图(17)下列叙述中正确的是D)D FD 图A)软件交付使用后还需要进行维护B)软件一旦交付使用就不需要再进行维护0软件交付使用后其生命周期就结束D)软件维护是指修复程序中被破坏的指令(18)数据库设计的根木R标是要解决A)数据共享问题 B)数据安全问题C)大量数据存储问题 D)简化数据维护
7、(19)设有如卜关系表:R S TABC1 1 22 2 3ABC ABC3 1 3 1 1 22 2 33 1 3则下列操作中正确的是A)T=RnS B)T=RUS C)T=RXSD)T=R/S(20)数据库系统的核心是A)数据模型 B)数据库管理系统C)数据库 D)数据库管理员(21)下列选项中不属于结构化程序设计方法的是A)自 顶 向 下 B)逐步求精 c)模 块 化 D)可复用(22)两个或两个以上模块之间关联的紧密程度称为A)耦 合 度 B)内聚度 c)复 杂 度 D)数据传输特性(23)下列叙述中正确的是A)软件测试应该由程序开发者来完成B)程序经调试后一般不需要再测试C)软件维护
8、只包括对程序代码的维护D)以上三种说法都不对(24)按照“后进先出”原则组织数据的数据结构是A)队 列 B)栈 C)双 向 链 表 D)二叉树(25)卜.列叙述中正确的是A)线性链表是线性表的链式存储结构B)栈与队列是非线性结构B)双向链表是非线性结构D)只有根结点的二叉树是线性结构(26)对如下二叉树进行后序遍历的结果为A)ABCDEF B)DBEAFC C)ABDECF D)DEBFCA(27)在深度为7的 满:叉树中,叶子结点的个数为A)32 B)31 C)64 D)63(28)“商品“与“顾客 两个实体集之间的联系一般是A)一 对 一 B)一对多 c)多对一 D)多对多(29)在 E-
9、R图中,用来表示实体的图形是A)矩 形 B)椭 圆 形 C)菱 形 D)三角形(30)数据库DB、数据库系统DBS、数据库管理系统DBMS之间的关系是A)DB 包含 DBS 和 DBMS B)DBMS 包含 DB 和 DBSC)DBS包含DB和 DBMS D)没有任何关系(31)下 列 选 项 不 符 合 良 好 程 序 设 计 风 格 的 是。A.源程序要文档化 B.数据说明的次序要规范化C.避免滥用got。语句 D.模块设计要保证高耦合,高内聚(32)从工程管理角度,软件设计一般分为两步完成,它们是.A.概要设计与详细设计 B.数据设计与接口设计C.软件结构设计与数据设计 D.过程设计与数
10、据设计(33)下列选项不属了软件生命周期开发阶段任务的是。A.软 件 测 试 B.概 要 设 计 C.软件维护 D.详细设计(34)在数据库系统中,用 户 所 见 的 数 据 模 式 为,A.概 念 模 式 B.外模式 C.内模式 D.物理模式(35)数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和.A.编 码 设 计 B.测 试 阶 段 C.运行阶段 D.物理设计(36)设有如下三个关系表R S _ TABCm13n13BC13下 列 操 作 中 正 确 的 是.A.T=RAS B.T=RUS C.T=RxS B.T=R/S(37)下列叙述中正确的是 oA.一个算法的空间复杂度大,则其
11、时间复杂度也必定大B.个算法的空间复杂度大,则其时间复杂度必定小C.个算法的时间复杂度大,则其空间复杂度也必定小D.上述三种说法都不对(38)在长度为64的有序线性表中进行顺序查找,最坏情况下需要比较的次数为A.63 B.64 C.6 D.7(39)数 据 库 技 术 的 根 本 目 标 是 要 解 决 数 据 的。A.存储问题 B.共享问题 C.安 全 问 题 D.保护问题(40)对下列二叉树进行中序 遍 历 的 结 果 是。A.ACBDFEG B.ACBDFGE C.ABDCGEF D.FCADBEG(41)下列叙述中正确的是A)算法的效率只与问题的规模有关,而与数据的存储结构无关B)算法
12、的时间复杂度是指执行算法所需要的计算工作量C)数据的逻辑结构与存储结构是一一对应的D)算法的时间复杂度与空间复杂度一定相关(42)在结构化程序设计中,模块划分的原则是A)各模块应包括尽量多的功能B)各模块的规模应尽量大C)各模块之间的联系应尽量紧密D)模块内具有高内聚度、模块间具有低耦合度(43)卜.列叙述中正确的是A)软件测试的主要目的是发现程序中的错误B)软件测试的主要目的是确定程序中错误的位置C)为了提高软件测试的效率,最好由程序编制者自己来完成软件测试的工作D)软件测试是证明软件没有错误(44)卜.面选项中不属于面向对象程序设计特征的是A)继承性B)多态性C)类比性D)封闭性(45)下
13、列对列的叙述正确的是A)队列属于非线性表B)队列按“先进后出”原则组织数据C)队列在队尾删除数据D)队列按“先进先出”原则组织数据进行前序遍历的结果为A)DYBEAFCZX B)YDEBFZXCAC)ABDYECFXZ D)ABCDEFXYZ(47)某二叉树中有n 个度为2 的结点,则该二.又树中的叶子结点为A)n+1 B)n-1 C)2n D)n/2(48)在下列关系运算中,不改变关系表中的属性个数但能减少元组个数的是A)并 B)交 C)投 影 D)笛卡儿乘积(49)在 E-R图中,用来表示实体之间联系的图形是A)矩 形 B)椭圆形C)菱 形 D)平行四边形(50)下列叙述中错误的是A)在数
14、据库系统中,数据的物理结构必须与逻辑结构一致B)数据库技术的根本目标是耍解决数据的共享问题C)数据库设计是指在已有数据库管理系统的基础上建立数据库D)数据库系统需要操作系统的支持(51)软件是指A)程序C)算法加数据结构(52)软件调试的目的是A)发现错误C)改善软件的性能(53)在面向对象方法中,B)程序和文档D)程序、数据与相关文档的完整集合B)改正错误D)验证软件的正确性实现信息隐蔽是依靠A)对象的继承 B)对象的多态C)对 象 的封装D)对象的分类(54)下列叙述中,不符合良好程序设计风格要求的是A)程序的效率第一,清晰第二 B)程序的可读性好C)程序中要有必要的注释 D)输入数据前要
15、有提示信息(55)下列叙述中正确的是A)程序执行的效率与数据的存储结构密切相关B)程序执行的效率只取决于程序的控制结构C)程序执行的效率只取决于所处理的数据量D)以上三种说法都不对(56)下列叙述中正确的是A)数据的逻辑结构与存储结构必定是对应的B)由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构C)程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线性结构D)以上三种说法都不对(57)冒泡排序在最坏情况下的比较次数是A)n(n+1)/2 B)nlog2 n C)n(n-1)/2 D)n/2(58)棵二又树中共有70个叶子结点与80个度为1 的结点,则该二叉
16、树中的总结点数为A)219 B)221 C)229 D)231(59)卜.列叙述中正确的是A)数据库系统是一个独立的系统,不需要操作系统的支持B)数据库技术的根本目标是要解决数据的共享问题C)数据库管理系统就是数据库系统D)以上三种说法都不对(60)卜.列叙述中正确的是A)为了建立个关系,首先要构造数据的逻辑关系B)表示关系的二维表中各元组的每一个分量还可以分成若干数据项C)一个关系的属性名表称为关系模式D)一个关系可以包括多个二维表(61)程序流程图中带有箭头的线段表示的是A)图元关系 B)数据流 C)控制流 D)调用关系(62)结构化程序设计的基本原则不包括A)多 态 性 B)fl顶向下
17、C)模 块 化 D)逐步求精(63)软件设计中的模块划分应遵循的准则是A)低耦合低内聚B)高内聚低耦合C)低内聚高耦合D)高内聚高耦合(64)在软件开发中,需求分析阶段产生的主要文档是A)可行性分析报告 B)软件需求规格说明书C)概要设计说明书 D)集成测试计划(65)算法的有穷性是指a)算法程序的运行时间是有限的b)算法程序所处理的数据量是有限的c)算法程序的长度是有限的d)算法只能被有限的用户使用(66)对长度为n 的线性表排序,在最坏的情况下,比较次数不是n(n-1)/2的排序方法是A)快速排序法 B)冒泡排序 C)直接插入排序D)堆排序(67)下列关于栈的叙述正确的是A)栈按“先进先出
18、”组织数据 B)栈按“先进后出”组织数据C)只能在栈底插入数据 D)不能删除数据(68)在数据库设计中,将 E-R图转换成关系数据模型的过程属于A)需求分析阶段 B)概念设计阶段C)逻辑设计阶段 D)物理设计阶段(69)有三个关系R、S、T如下BCDa0klb1nlBCDf3h2a0kln2xlBCDa0klT由关系R和S通过运算得到关系T,则所使用的运算为A)并 B)自然连接 C)迪卡尔积 D)交(70)设有表示学生选课的二张表,学 生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为A)课号,成绩 B)学号,成绩C)学号
19、,课号 D)学号,姓名,成绩(71)个栈的初始状态为空,现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是A)12345ABCDE B)EDCBA54321C)ABCDE12345 D)54321EDCBA(72)下列叙述中正确的是A)循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B)在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C)在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D)循环队列中元素的个数是由队头指针和队尾指针共同决定(73)在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是A)O(n)B
20、)O(n2)C)O(log2n)D)O(nlog2n)(74)下列叙述中正确的是A)顺序存储结构的存储一定是连续的,链式存储结构的存储空间不定连续的B)顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C)顺序存储结构能存储有序表,链工存储结构不能存储有序表D)链式存储结构比顺序存储结构节省存储空间(75)数据流图中带有箭头的线段表示的是A)控制流 B)事件驱动 C)模块调用 D)数据流(76)在软件中开发中,需求分析阶段可以使用的工具是A)N-S图 B)DFD图 C)PAD图 D)程序流程图(77)在面向对象方法中,不属于“对象”基本特点的是A)-致性 B)分类性C)多态性D)标识唯一
21、性(78)一间宿舍可住多个学生,则实体宿舍和学生之间的联系是A)一对-B)一对多 C)多对一 D)多对多(79)在数据管理技术发展的三个阶段中,数据共享最好的是A)人工管理阶段B)文件系统阶段C)数据库系统阶段D)二个阶段相同(80)有三个关系R、S和T如下:过运算得到关系T,则所使用的运算为A)笛卡尔积B)交C)并D自然连接81、下列数据结构中,属于非线性结构的是A)循环队列 B)带 链 队 列。二 叉 树D)带链栈82、卜.列数据结构中,能够按照“先进后出”原则存取数据的是A)循环队列 B)栈 C)队列 D)二叉树83、对于循环队列,下列叙述正确的是A)对头指针是固定不变的B)对头指针定大
22、于队尾指针C)对头指针一定小于队尾指针D)对头指针既可大于队尾指针,也可小于队尾指针84、算法的空间复杂度是指A)算法在执行过程中所需要的计算机存储空间B)算法所处理的数据量C)算法程序中的语句或指令条数D)算法在执行过程中所需要的临时工作单元数85、软件设计中划分模块的个 准则是A)低内聚低耦合 B)高内聚低耦合C)低内聚高耦合 D)高内聚高耦合86、下列选项中不属于结构化程序设计原则的是A)可封装 B)自顶向下 C)模块化 D)逐步求精A)N-S图B)PAD图C)程序流程图D)E-R图88、数据库管理系统是A)操作系统的部分 B)在操作系统支持下的系统软件C)一种编译系统 D)种操作系统8
23、9、在E-R图中,用来表示实体联系的图形是A)椭圆形 B)矩形 C)菱形 D)三角形90、有三个关系R、S和T如下R SABCa12b21c31d32ABCa12b21c31ABCd32其中关系T由关系R和S通过某种操作得到,该操作是A)选择 B)投影 C)交 D)并二、填空题(1)某二义树中度为2的结点有18个,则该二叉树中有【1】个叶子结点。(2)在面向对象方法中,类的实例称为 2。(3)诊断和改正程序中错误的工作通常称为【3】。(4)在关系数据库中,把数据表示成二维表,每一个二维表称为 4。(5)问题处理方案的正确而完整的描述称为【5】(6)数据管理技术发展过程经过人工管理、文件系统和数
24、据库系统三个阶段,其中数据独立.性最高的阶段 是【6】.(7)算法复杂度主要包括时间复杂度和【7】复杂度。(8)在进行模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接模块(桩模块)。其中【8】的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。(9)棵二义树第六层(根结点为第层)的结点数最多为【9】个。(10)数据结构分为逻辑结构和存储结构,循环队列属于 10结构。(11)对长度为10的线性表进行冒泡排序,最坏情况卜需要比较的次数为【11】.(12)在面向对象方法中,【12】描述的是具有相似属性与操作的一组对象。(13)在关系模型中,把数据看成是二维表,每一个.
25、维表称为个【13】。(14)程序测试分为静态分析和动态测试。其中【14】是指不执行程序,而只是对程序文本进行检查,通过阅读和讨论,分析和发现程序中的错误。(15)数据独立性分为逻辑独立性与物理独立.性。当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,称 为【15.(17)17的任务是诊断和改正程序中的错误。(18)一个关系表的行称为【18】.(19)按“先进后出”原则组织数据的数据结构是【19】o(20)数据结构分为线性结构和非线性结构,带链的队列属于 20。(21)在深度为7的满二义树中,度为2的结点个数为【21】。(22)软件测试分为白箱(盒)测试和黑箱(
26、盒)测试,等价类划分法属于【22】测试。(23)在数据库系统中,实现各种数据管理功能的核心软件称为数据库管理系统【23】.(24)软件生命周期可分为多个阶段,一般分为定义阶段、开发阶段和维护阶段。编码和测试属于 24阶段。(25)在结构化分析使用的数据流图(D F D)中,利 用 25对其中的图形元素进行确切解释。(26)软件需求规格说明书应具有完整性,无岐义性、正确性、可验证性、可修改性等特征,其中最重要的是【26】。(27)在两种基本测试方法中,27测试的原则之一是保证所测模块中每一个独立路径至少执行一次。(28)线性表的存储结构主要分为顺序存储结构和链式存储结构。队列是一种特殊的线性表,
27、循环队列是队列的【28】存储结构。(29)对下列二义树进行中序遍历的结果为 29。(30)在E-R图中,矩形表示 30(31)测试用例包括输入值集和【31】值集。(32)深度为5的满二叉树有 32个叶子结点。(33)设某循环队列的容量为5 0,头指针front=5(指向对头元素的前一位置),尾指针rear=29(指向队尾元素),则该循环队列中共有133】个元素。(34)在关系数据库中,用来表示实体之间联系的是【34】。(35)在数据库管理系统中提供的数据定义语言、数据操纵语言,和数据控制语言中,【35】(36)对下列二叉树进行中序遍历的结果【36】(38)软件工程三要索包括方法、工具和过程,其
28、中,【38】支持软件开发的各个环节的控制和管理。(39)数据库设计包括概念设计、【39】和物理设计。(40)在二维表中,元组的【40】不能再分成更小的数据项。(41)某二又树木有5个度为2的结点以及3个度为1的结点,则该二义树中共有 41个结点。(42)程序流程图中的菱形框表示的是 42(43)软件开发过程主要分为需求分析、设计、编码与测试四个阶段,其中 43 _ 产生软件需求规格说明书。(d)在数据库技术中,实体集之间的联系可以是一对一或一对多或多对多的,那么“学生”和“可选课程”的联系为一【44】。(45)人员套/信息屐包括:身份证号,姓名,性别,年龄等,其中中可以作为主关键字的是 45一
29、、选择题:历年公共基础答案:12345678910DBDCACBDDC11121314151617181920CACDCDAABB21222324252627282930DADBADCDAC31323334353637383940DACBDCDBBA41424344454647484950BDACDCABA51525354555657585960DBCAADCABC61626364656667686970CABBADBCDC71727374757677787980BDCADBABCD81828384858687888990CBDABACBCD二、填空题:1 19 2.对象 3.程序调试 4关系
30、 5算法 6数据库系统 7空间 8驱动模块 9 32 1 0存储结构或物理结构 11 45 1 2类 1 3关系 1 4静态分析1 5物理独立性 16 3 1 7程序调试 1 8元组 1 9栈 2 0线性结构 21 632 2黑盒 2 3数据库管理系统2 4开发 2 5数 据 字 典2 6无岐义性 2 7逻辑覆盖 2 8顺序29 ACBDFEHGP 3 0实 体 集3 1输出 32、16 33、24 34、关系 35、数据定义语言36、DBXEAYFZC 37、单 元38、过 程39、逻辑设计40、分量 41、14 42.逻辑判断43.需求分析44.多对多45.身份证号全国计算机等级考试C语
31、言 模 拟 题(科 实)一一、选择题(1 1)、有以下程序:m a i n()i n t a;c h a r c=1 0;f l o a t f=1 0 0.0;d o ub l e x;a=f /=c*=(x=6.5);p r i n t f(M%d%d%3.l f%3.l f n ,a,c,f,x);程序运行后的输出结果是 oA)1 65 1 6.5 B)1 65 1.5 6.5 C)1 65 1.0 6.5 D)2 65 1.5 6.5(1 2)、以下变量x、y、z均为d o ub l e类型且已正确赋值,不能正确表示数学式子x/(y*z)的C语言表达式是 oA)x /y*z B)x*(
32、l /(y*z)C)x /y*l /z D)x /y /z(1 3)、若a为im类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是。A)-3 B)9 C)-1 2 D)6(1 4)、以下程序段中与语句k=a b?(b c?l :0):0;功 能 等 价 的 是。A)i f(a b)&(b c)k=l ;e l s e k=0;B)i f(a b)II(b c)k=l;e l s e k=0;C)i f(a =b)k=O;e ls e i f(b b)k=l,e ls e i f(b c)k=l;e ls e k=0;(1 5)、设x、y、t均为i nt型变量,则执行语句:x=y=3
33、;t=+x II+y;后,y的值为。A)不定值 B)4 C)3 D)1(1 6)、假设a和b为i nt型变量,则执行以下语句后,b的值为。a=l;b=1 0;d o b-=a;a+;wh i le(b 0);A)9 B)-2 C)-l D)8(1 7)、若执行以下程序时从键盘上输入9,则输出结果是 oma i n()i nt n:s c a nf(d”,&n);i f(n+0;i)s u m(&a a i);pr i ntf(M%d nn,a a lO);程序运行后的输出结果是 oA)4 B)3 C)2 D)1(20)、以下程序执行后sum的值是 oma i n()i nt i,s u m;f
34、 or(i=1 ;i 6;i+)s u m+=i ;pr i ntf(%d n,s u m);)A)1 5 B)1 4 C)不确定 D)0(21)、有以下程序:ma i n()i nt x 8=8,7,6,5,0,0 *s;s=x+3:pr i ntf(n%d n ,s 2);)程序运行后的输出结果是 oA)随机值 B)0 C)5 D)6(22)、有以下程序段i nt x=3:d o pr i ntf(%d%x-=2);wh i le(!(-x);其 输 出 结 果 是。A)1 B)3 0 C)1 -2 D)死循环(23)、若变量c为c h a r类型,能正确判断出c为小 写 字 母 的 表
35、达 式 是。A)a =c=,a,)II(c=,z)C)(,a,=c)D)(c=a,)&(c =,z)(24)、下列合法的m a i n函 数 命 令 行 参 数 的 表 示 形 式 是。A)ma i n(i nt a,c h a r*c);B)ma i n(a c,a v)i nt a r c;c h a r*a v:C)ma i n(C,V)i nt c,c h a r*v J;D)ma i n(a r g c,a r g v)i nt a r g c;c h a r a r g v;(25)、以下所列的各函数首部中,正确的是 oA)v oi d pla y(v a r a:I nte g
36、e r,v a r b:I nte g e r)B)v oi d pla y(i nt a,b)C)v oi d pla y(i nt a,i nt b)D)S u b pla y(a a s i nte g e r,b a s i nte g e r)(26)、在c语言中,引用数组元素时,其 数 组 下 标 的 数 据 类 型 允 许 是。A)整型常量 B)整型表达式C)整型常量或整型表达式 D)任何类型的表达式(27)、下列程序执行后的输出结果是A.6 B.7 C.8 D.9v oi d f u nc(i nt*a,i nt b)b 0=*a+6;ma i n()i nt a,b 5;a=
37、0;b 0=3;f u nc(&a,b);pr i ntf(H%d n,b 0);(28)、下列程序的运行结果是A.a=%2,b=%5 B.a=2,b=5 C.a=d,b=d D.a=%d,b=%d#includemain()int a=2,c=5;printf(a=%d,b=%dnH,a,c);(29)、下列程序执行后的输出结果是A.3 B.6 C.9 D.随机数main()int a33,*p,i;p=&aOO;for(i=0;i20)break;while(a=14);A.a=12 y=12a=14 y=16C.a=12y=12a=14 y=44B.a=12y=12a=16 y=28D.
38、a=12y=12a=14 y=26(38)、若有以下调用语句,则不正确的fun函数的首部是A.void fun(int m,int x)B.void fun(int s,int h41)C.void fun(int p,int*s)D.void fun(int n,int a)main()int a50,n;fun(n,&a9);(39)、已知指针p 的指向如下图所示的a,则 执 行 语 句 p;B*p的值是A.30B.20 a0ala a3a4r 19 _ _ _ _D:29 I。|2。|3 0|4 0 网(40)、有以下程序#include main()FILE*fp;int i,a6=1
39、2,3,4,5,6;fp=fopen(d3.dat,wb);fwrite(a,sizeof(int),6,fp);fseek(fp,sizeof(int)*3,SEEK_SET);/*该语句使读文件的位置指针从文件头向后移动3 个int型数据*/fread(a,sizeof(int),3,fp);fclose(f p);for(i=0;i6;i+)printf(%d,ai);)程序运行后的输出结果是()A)4,5,6,4,5,6,B)1,2,3,4,5,6,C)4,5,6,1,2,3,D)6,54,3,2,1,二、填空题(6)以下程序运行时,若从键盘输入:10 20 30 回车,输 出 的 结
40、 果 是 6】。#include u stdio.h main()int i=O,j=O,k=O;scanf(d%*d%d”,&i,&j,&k);printf(,%d%d%dn,i,j,k);)(7)以下程序运行后的输出结果是7】。#define S(x)4*x*x+lmain()int i=6,j=8;printf(u%dnu,S(i+j);(8)以下程序运行后的输出结果是8】omain()int a,b,c;a=10;b=20;c=(a%bl);printf(%d%d%dnu,a,b,c);(9)以下程序运行后的输出结果是9】。main()char cl,c2;for(c 1=0,c2=9
41、;c Ic2;c 1 +,c2-)printf(a%c%cw,cl,c2);printf(nn);)(1 0)已知字符A 的 ASCII代码值为6 5,以下程序运行时若从键盘输入:B3女回车,则输 出 结 果 是【1 0 1 O#includemain()char a,b;a=getchar();scanf(%d,&b);a=a-,A+,0;b=b*2;printf(%c%cnn,a,b);)(1 1)以下程序中,fun函数的功能是求3 行 4 列二维数组每行元素中的最小三值。请填空。void fun(int,int,int(*)4,int*);main()int a34=12,41,36,2
42、8),19,33,15,27,3,27,19,1,b3,i;fun(3,4,a,b);for(i=0;i3;i+)printf(%dn,bi);printf(HnM);)void fun(int m,int n,int ar41,int*br)int i,j,x;for(i=0;im;i+)x=ari0;for(j=0;jx)11 =x;(12)以下程序运行后的输出结果是【1 2】。v oi d s wa p(i nt x,i nt y)i nt t;t=x;x=y;y=t;pr i ntf(n%d%d n,x,y);)ma i n()i nt a=3,b=4;s w叩(a,b);pr i n
43、lf(%d%du,a,b);(1 3)以下程序运行后的输出结果是 13。#i nc lu d e “s tr i ng.h”#i nc lu d e s td i o.h v oi d f u n(c h a r *s,i nt p,i nt k)i nti;f or(i=p;i b)k=a/b;else k=b/a;printf(n%d nn,k);)A)5 B)3 C)2 D)0(21)C语 言 中w hile和do-while循环的主要区别是A)dowhile的循环体至少无条件执行一次B)while的循环控制条件比do-while的循环控制条件更严格C)do-while允许从外部转到循环
44、体内D)do-while的循环体不能是复合语句(2 2)以下程序的输出结果是main()int x=l,y=3;printf(d j,x+);int x=0;x+=y*2;printf(d,%d,”,x,y);)printf(,%d,%dn,x,y);)A)1,6,3,1,3 B)1,636,3 C)1,6,3,2,3 D)1,7,3,2,3(2 3)下面程序输出的结果是main()int i;int a 3 3=1,2,3,4,567,8,9;for(i=0;i3;i+)printf(%d,a 2-i i );)A)159 B)75 3 C)357 D)591(2 4)请阅读以下程序:mai
45、n()int a=5,b=0,c=0;if(a=b+c)printf(*n );else printf($n );以上程序A)有语法错不能通过编译 B)可以通过编译但不能通过连接C)输出*D)输出$(2 5)以下程序的输出结果是main()charc=z ;printf(%c,c-25);)A)a B)Z C)z-25 D)y(2 6)下面函数的功能是char*fun(char*strl,char*str2)while(*str 1)&(*str2+=*strl+);relum str2;)A)求字符串的长度 B)比较两个字符串的大小C)将字符串strl复制到字符串str2中 D)将字符串st
46、rl接续到字符串str2中(2 7)下面函数调用语句含有实参的个数为func(expl,exp2),(exp3,exp4,exp5);A)1 B)2 C)4 D)5(2 8)下面程序段的运行结果是char*s=abcde;s+=2;printf(%d,s);A)cde B)字 符 c C)字 符 c 的地址 D)无确定的输出结果(2 9)已有变量定义和函数调用语句:inta=25;print_value(&a);下面函数的正确输出结果是void print_value(int*x)printf(%dn,+*x);A)23 B)24 C)25 D)26(3 0)当顺利执行了文件关闭操作时,fcl
47、ose函数的返回值是A)-1 B)TRUE C)0 D)1(3 1)设有如下定义char*s 2=abcd,ABCD;则下列说法错误的是A)s 数组元素的值分别是abed”和“ABCD”两个字符串的首地址B)s 是指针数组名,它含有两个元素分别指向字符型一维数组C)s 数组的两个元素分别存放的是含有4 个字符的一维字符数组中的元素D)s 数组的两个元素中分别存放了字符 a 和 A 的地址(3 2)以下不能对二维数组a 进行正确初始化的语句是A)int a 2 3=0;B)inta 3=1,2,0);C)inta 2 3=1,2,3,4,5,6;D)int a 3=1,2,3,4,5,6;(3
48、3)有以下程序struct STU char num 10;float score 3;main()s truct STU s 3=20021,90,95,85,20022,95,80,75,n20023,100,95,90,*p=s;int i;float sum=0;for(i=0;iscore i ;printf(%6.2f n,su m);)程序运行后的输出结果是A)260.00 B)270.00 C)280.00 D)285.00(3 4)若有说明:inta 10;则对a 数组元素的正确引用是A)a 10 B)a 3,5 C)a(5)D)a 10-101(3 5)下面程序段中,输出*
49、的个数是char*s=ta 018bc;for(;*s!=0;s+)printf(*);A)9 B)5 C)6 D)7(3 6)设有如下函数fun(float x)printf(n%d,x*x);则函数的类型是A)与参数x 的类型相同 B)是 vo记 C)是 int型 D)无法确定(3 7)有如下定义#define D 2int x=5;float y=3.83;charc=D ;则下面选项中错误的是A)x+;B)y+;C)C+;D)D+;(3 8)以下程序段的执行结果为#define PLUS(X,Y)X+Ymain()int x=l,y=2,z=3,sum;sum=PLUS(x+y,z)*
50、PLUS(y,z);printf(SUM=%d,sum);A)SUM=9 B)SUM=12 C)SUM=18 D)SUM=28(39)C 语言规定,函数返回值的类型是由A)return语句中的表达式类型所决定B)调用该函数时的主调函数类型所决定C)调用该函数时系统临时决定D)在定义该函数时所指定的函数类型所决定(4 0)下列程序的运行结果是void fun(int*a,int*b)int*k;k=a;a=b;b=k;)main()int a=2004,b=9,*x=&a,*y=&b;fun(x,y);printf(%d%d,a,b);)A)2004 9 B)9 2004 C)00 D)编译时出