《二级C习题.pdf》由会员分享,可在线阅读,更多相关《二级C习题.pdf(70页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、全国计算机等级考试Quanguo Jisuanji Dengji Kaoshi育却人岑二级辅导习题基础知识和C+语言程序设计第一部分公共基础知识第 1章基本数据结构与算法一、选择题1.在数据结构中,从逻辑上可以把数据结构分成线性结构和。A)动态结构 B)静态结构 C)非线性结构 D)链式结构2.线性结构的顺序存储结构是一种的存储结构。A)随机存储 B)顺序存储 C)索引存储 D)散列存储3.计算机算法指的是,它必须具备输入、输出、可行性、确定性、有穷性等5 个方面。A)计算方法B)排序方法C)解决问题的有限运算序列D)调度方法4.在以下的叙述中,正确的是。A)线性表的存储结构优丁链表存储结构B
2、)线性表的逻辑顺序与存储顺序不总是一致的C)栈的操作方式是先进先出D)队列的操作方式是先进后出5.线性表若采用链式存储结构时,要求内存中可用存储单元的地址。A)必须是连续的 B)部分地址必须是连续的C)一定是不连续的 D)连续不连续都可以6.设深度为h 的二叉树上只有度为0 和度为2 的结点,则此类二叉树中所包含的结点至少为。A)2h B)2h-l C)2h+l D)h+17.已知某二叉树的后序遍历序列是dab ec,中序遍历序列是debac,它的先序遍历序列是。A)acbed B)decba8.按照二义树的定义,具有3 个结点的二A)3 B)49.在一棵分空二叉树的中序遍历序列中,A)只有右
3、子树上的所有结点C)只有右子树上的部分结点10.树最适合用来表示。A)有序数据元素C)元素之间具有分支层次关系的数据11.任何一棵二叉树的叶子结点在先序、中序、A)不发生改变 B)发生改变C)deabc D)cedba种。C)5 D)6的右边。B)只有左子树上的部分结点D)只有左子树上的所有结点B)无序数据元素D)元素之间无联系的数据后序遍历序列中的相对次序。C)不能确定 D)以上都不对12.对一个满二叉树,m 个树叶,n 个结点,深度为h,则。A)n=h+m B)h+m=2n C)m=h-lD)n=2h-l13.设 n 和 m 为 棵二叉树上的两个结点,在中序遍历时,n 在 m 前的条件是。
4、A)n 在 m 右方 B)n 是 m 的祖先C)n 在 m 左方 D)n 是 m 的子孙14.顺序查找法适合于存储结构为的线性表。A)散列存储 B)顺序存储或链式存储C)压缩存储 D)索引存储15.对线性表进行二分查找时,要求线性表必须。A)以顺序方式存储B)以链式方式存储C)以顺序方式存储,且结点按关键字有序排序D)以链式方式存储,且结点按关键字有序排序16.在所有排序方法中,关键字比较的次数q 记录的初始排列次序无关的是。A)希尔排序B)冒泡排序C)插入排序D)选择排序17.排序方法中,从未排序序列中依次取出元素与己排序序列(初始时为空)中的元素进行比较,将其放入已排序序列的正确位置的方法
5、称为。A)希尔排序C)插入排序18.下述排序方法中,要求内存量最大的是。A)插入排序 B)选择排序B)冒泡排序D)选择排序C)快速排序 D)归并排序19.用某种排序方法对线性表(25,84,21,47,15,27,68,35,20)进行排序时,元素序列的变化情况如下:1)25,84,21,47,15,27,68,35,202)20,15,21,25,47,27,68,35,843)15,20,21,25,35,27,47,68,844)15,20,21,25,27,35,47,68,84则所采用的排序方法是。A)选择排序 B)希尔排序C)归并排序D)快速排序20.快速排序方法在情况下最不利于发
6、挥其长处。A)要排序的数据量太大 B)C)要排序的数据已基本有序 D)要排序的数据中含有多个相同值要排序的数据个数为奇数二、填空题1.在线性结构中,第一个结点前驱结点,其余每个结点有且只有个前驱结点;最后一个结点后续结点,其余每个结点有且只有个后续结点。2.在树形结构中,数根结点没有结点,其中每个结点有且只有个前驱结点;叶子结点没有结点,其余每个结点的后续结点可以。3.下面程序段的时间复杂度是。i=s=O;while(sn)i+;/*i=i+l*/s+=i;/*s=s+i*/4.在 个 长 度 为 n 的向量中的第i 个 元 素(IWiWn)之前插入一个元素时,需向前移动个元素。5.在 个长度
7、为n 的向量中删除第i 个 元 素(iWiWn)时,需向前移动个元素。6.假设一棵二叉树的后序遍历序列为DGJHEBIFCA,中序遍历序列为DBGEHJAC1F,则其前序遍历序列为。7.二分查找的存储结构仅限于,然后再查找相应的。8.在对一组记录(54,38,96,23,15,72,60,45,83)进行直接排序时,当把第7 个记录 60插到有序表时,为寻找插入位置需比较次。9.在插入排序、希尔排序、选择排序、快速排序、堆排序、归并排序和基数排序中,排序是稳定的有、。10.对 n 个元素的序列进行冒泡排序时,最少的比较次数是。第 2 章程序设计基础一、选择题1.结构化程序设计所规定的三种基本控
8、制结构是顺序、循环和。A)输入 B)输出 C)函数 D)选择2.结构化程序设计的一种基本方法是。A)筛选法 B)递归法 C)归纳法 D)逐步求精法3.自顶向下分析方法从文法的开始符号出发,判断其能否出输入符号串。A)归纳 B)归约 C)推理 D)推导4.下列关于程序编制的叙述中不正确的叙述是。A)在编制程序之前,首先必须仔细阅读给定的程序说明书,然后,必须如实地依照说明书编写程序。说明书中常会有含糊不清或难以理解的地方。程序员在作业时应该对这些地方做出适当的解释B)在着手编制程序时,重要的是采用既能使程序正确地按设计说明书进行处理,又不易于出错的编写方法C)在编制程序时,首先应该对程序的结构充
9、分考虑,不要急于开始编码,而要像写软件文档那样,很好地琢磨程序具有什么样的功能,这些功能如何安排,等等D)考虑到以后的程序变更,为程序编写完整的说明书是一项很重要的工作。只要有了完整的程序说明书,即使程序的编写形式难以让他人看懂也没有什么关系5.下列叙述中不符合程序设计风格指导原则的叙述是。A)嵌套的重数应加以限制 B)不滥用语言特色C)使用有意义的变量名 D)应尽可能把程序编得短些6.以下叙述中不正确的是。A)在一个函数中,可以有多条return语句B)函数的定义不能嵌套,但函数的调用可以嵌套C)函数必须有返回值D)不同的函数中可以使用相同名字的变量7.函数重载是指。A)两个或两个以上的函数
10、取相同的函数名,但形参的个数或类型不同B)两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同C)两个以上的函数名字不同,但形参的个数或类型相同D)两个以上的函数取相同的函数名,并且函数的返回类型相同8.以下关于函数模板的叙述正确的是。A)函数的模板也是一个具体的函数B)函数模板的类型参数与函数的参数是同一个概念C)通过使用不同的类型参数,函数模板可以生成不同类型的函数D)用函数模板定义的函数没有类型9.下列的调用方式是引用调用。A)形参和实参都是变量 B)形参是指针,实参是地址值C)形参是引用,实参是变量 D)形参是变量,实参是地址值10.采用面向对象技术开发的应用系统的特点
11、是。A)重用性更强 B)运行速度更快 C)占用存储量小 D)维护更复杂II.是面向对象程序设计语言不同于其它语言的主要特点。A)继承性 B)消息传递 C)多态性 D)静态联编12.是否建立了丰富的是衡量一个面向对象程序设计语言成熟与否的一个重要标志。A)函数库 B)类库 C)类型库 D)方法库13.在面向对象程序设计语言中,是在类及子类之间自动地共享数据和方法的一种机制。A)调用 B)引用 C)消息传递 D)继承14.在面向对象方法中,对象可看成是属性(数据)以及这些属性上的专用操作的封装体,封装的目的是使对象的分离。A)定义和实现 B)设计和测试 C)设计和实现 D)分析和定义15.类是一组
12、具有相同属性和相同操作的对象的集合,类之间共享属性和操作的机制称为。A)多态性 B)动态绑定 C)静态绑定 D)继承二、填空题1.在面向对象程序设计语言中,是在类及子类之间自动地共享数据和方法的一种机制。2.是面向对象程序设计语言不同于其它语言的主要特点。3.结构化程序设计中所规定的三种基本控制结构有顺序结构、循环结构和。4.程序设计的基本方法通常采取自顶向下的方法。三、程序设计I.编写一个程序,从键盘输入梯形的上底、下底和高的值(浮点数),计算并输出其面积。2.编写一个程序,将用户输入的数字(06)转换成相应的星期值输出。如用户输入3,则程序输出Wednesday,用户输入0,贝 输 出 S
13、unday。如果用户输入不合法,则输出I dont knowwhat you mean!”。3.闰年是指年份能被4 整除的那些年,但不包括年份能被100整除而不能被400整除的年。编写一个程序,判断某一年是否为闰年。4.循环累加用户从键盘输入的数,直到用户输入数0 为止,输出累加结果和这些数的平均值。5.编程序,求 1!+2!+3!+4!+50!。第3章 软件工程基础一、选择题1.在快速原型模型的开发过程中,仅作为需求说明的补充形式的原型是。A)探索型模型C)实验型模型2.用黑盒技术设计测试用例的方法之一为。A)因果图C)循环覆盖3.软件测试方法中的属于静态测试方法。A)黑盒法 B)路径覆盖4
14、.程序设计语言的工程特性之为。A)软件的可重用性C)软件类型的描述性5.软件详细设计的主要任务是确定每个模块的。B)演化型模型D)提交型模型B)逻辑覆盖D)基本路径测试C)错误推测 D)人工检测B)数据结构的描述性D)数据库的易操作性A)算法和使用的数据结构C)功能6.需求分析最终结果是产生。A)项目开发计划C)设计说明书7.可行性研究要进行一次需求分析。B)D)B)D)外部接口编程需求规格说明书可行性分析报告A)深入的8.软件是一种。A)程序9.软件测试的目的是。B)详尽的B)数据C)C)彻底的逻辑产品D)简化的、压缩了的D)物理产品A)B)C)D)证明软件系统中存在错误找出软件系统中存在的
15、错误尽可能多地发现软件系统中的错误和缺陷证明软件的正确性10.在进行单元测试时,常用的方法是。A)采用白盒测试,辅之以黑盒测试C)只使用白盒测试B)D)采用黑盒测试,只使用黑盒测试辅之以白盒测试11.软件是一种易复制的产品。为了软件产业的健康发展,应对软件产品在上进行保护。A)技术 B)版权C)开发D)使用说明12.白盒测试方法一般适合用于测试。A)单元 B)系统C)集成D)确认13.结构化分析方法的一个重要指导思想是。A)自顶向下,逐步抽象B)自 底 向 匕逐步抽象C)自顶向下,逐步分解D)自底向上,逐步分解二、填空题I2345功能模型描述子系统的所有计算,它由组成。按数据流的类型,结构化设
16、计方法有两种设计策略,它们是变换分析设计和。数据流图仅反映系统必须完成的逻辑功能,所以它是一种模型。软件开发方法是使用早已定义好的技术集及来组织软件生产的过程。软件测试的常用方法通常可分为和。前者是根据来设计测试用例,后者是根据来设计测试用 例。6.软件测试的目的是尽可能发现软件中错误,通常测试是在代码编写阶段可进行的测试,它是整个测试工作的基础。第 4 章 数据库设计基础一、选择题1.关系数据库是的集合。A)命令 B)程序 C)表 D)文件2.支持数据库各种操作的软件系统叫做。A)数 据 库 管 理 系 统B)文件系统 C)数据库系统 D)操作系统3.E-R模型可以转换成关系模型。当两个实体
17、间联系是M:N联系时,它通常可转换成个关系模式。A)2 B)3 C)M+N D)M*N4.数据库管理系统是位于之间的一层数据管理软件。A)0 A 软件与用户 B)O S与 DB C)硬件与软件 D)OS与硬件5.关系数据库的概念模型是的集合。A)关系模型 B)关系模式 C)关系子模式 D)存储模式6.关系数据库的数据及更新操作必须遵循等完整性规则。A)实体完整性和参照完整性 B)参照完整性和用户定义的完整性C)实体完整性和用户定义的完整性D)实体完整性、参照完整性和用户定义的完整性7.在设计数据库前,常常先建立概念模型,用来表示实体模型及实体间的联系。A)数据流图 B)E-R图 C)模块图 D
18、)程序框图8.关系代数运算是以为基础的运算。A)关系运算 B)谓词演算 C)集合运算 D)代数运算9.规范化理论中分解主要是消除其中多余的数据相关性。A)关系运算 B)内模式 C)外模式 D)视图10.如果对一个关系实施了一种关系运算后得到了一个新的关系,而且新的关系中属性个数少于原来关系中属性个数,这说明所实施的运算关系是。A)选择 B)投影 C)连接 D)并11.概要设计是软件系统结构的总体设计,以下选项中不属于概要设计的是。A)把软件划分成模块 B)确定模块之间的调用关系C)确定各个模块的功能 D)设计每个模块的伪代码12.在软件开发过程中常用图作为描述工具。数据流图就是面向分析方法的描
19、述工具。A)数据结构 B)数据流 C)对象 D)构件13.最常用的一种基本数据模型是关系数据模型,它用统一的结构来表示实体及实体之间的关系。A)树B)网络C)图D)二维表14.关系数据库的数据操作语言主要包括两类操作。A)插入和删除B)检索和更新C)查询和编辑D)统计和修改15.实体联系模型中的联系可以同实体有关。A)0 个B)1个或多个C)1个D)多个16.实体联系模型中实体与实体之间的联系不可以是。A)一对一B)多对多C)一对多D)一对零17.利用E-R模型进行数据库的概念设计,可以分成三步:首先设计局部E-R模型,然后把各个局部E-R模型综合成一个全局的模型,最后对全局E-R模型进行,得
20、到最终的E-R模型。A)简化 B)结构化 C)最小化 D)优化18.在关系数据库模型中,通常把字段称为属性,其值称为属性值,而把称为关系模式。A)记录 B)记录类型 C)元组 D)元组集19.在关系代数中,对一个关系投影操作以后,新关系的元组个数原来关系的元素个数。A)小于 B)小于或等于 C)等于 D)大于20.在关系数据库模型中,用形式表示实体类型和实体间联系是关系模型的主要特征。A)指针 B)链表 C)关键字 D)表格二、填空题1.如果对一个关系实施了一种关系运算后得到了一个新的关系,而且新的关系中属性个数少于原来关系中属性个数,这说明所实施的运算关系是。2.通常把数据库和数据库管理系统
21、软件合称为。3.在设计数据库前常常先建立概念模型,用来表示实体类型及实体间的联系。4.关系代数运算是以为基础的运算,它的基本操作是、O5.在数据库逻辑结构的设计中,将 E-R 模型转换为关系模型应遵循相关原则。对于三个不同实体集和它们之间的多对多联系m:n:p,最少可转换为个关系模式。6.在 E-R图中通常用表示实体,用表示联系,用表示属性。7.数据库系统是由、和软件支持系统组成,其中是物质基础,软件支持系统中是不可缺少的,体现数据之间的联系。8.常见的数据模型有多种,目前使用较多的数据模型为模型。第 二 部 分 C+语言程序设计第 5 章C+语言概述-、选择题1.最初的计算机编程语言是。A)
22、机器语言 B)汇编语言 C)高级语言2.下列语言属于计算机低级语言的是。A)C 语言 B)Basic语言 C)汇编语言3.下列语言不属于高级语言的是。A)C 语言 B)汇编语言 C)FORTRAN语言4.UNIX操作系统是由语言开发的。A)C 语言 B)汇编语言 C)FORTRAN语言D)低级语言D)C+语言D)C+语言D)C+语言5.程序应该必须包含的部分是。A)头文件 B)注释 C)高级语言 D)数据结构和算法6.在程序正确的前提下,下列不属于程序设计首要目标的是。A)可读性 B)易维护7.结构化程序设计的主要特征是。A)封装和数据隐藏C)数据和处理数据的过程分离8.下列不是面向对象程序设
23、计的主要特征。A)结构 B)继承C)可移植 D)重用性B)继承和重用D)把数据和处理数据的过程看成一个整体C)多态 D)封装9.C+语言对C 语言做了很多改进,下列描述中,使 得 C 语言发生了质变,从面向过程变成了面向对象。A)增加了一些新的运算符 B)允许函数重载,并允许设置缺省参数C)规定函数说明必须用原型 D)引进了类和对象的概念10.对于C+的支持程序方式,下列说法正确的是。A)C+只支持结构化程序设计B)C+只支持面向对象程序设计C)C+既支持结构化程序设计又支持面向对象程序设计D)上述说法全不正确11.在 C+中,源文件变为可执行程序需要编译、连接。下面关于它们的陈述正确的是。A
24、)编译程序把高级语言程序翻译成目标语言程序B)编译程序把源语言程序翻译为可执行程序C)连接程序是把源语言连接起来成为可执行程序D)编译程序直接把源语言翻译成机器语言12.在 C+中,源文件变为可执行程序的正确顺序应该是。A)编辑、连接、编译、执行 B)编辑、编译、连接、执行C)编译、编辑、连接、执行 D)编译、连接、编辑、执行13.关于C+,下列说法正确的是。A)一个C+语言源程序只能由一个源文件组成B)每个源文件可由一个或多个函数组成C)每个源文件只能由一个主函数组成D)每个源文件可由一个主函数和最多3 个函数组成14.关于C+主函数特性,下列叙述正确的是。A)主函数在同一个C+文件中可以有
25、两个B)主函数类型必须是void类型C)主函数一定有返回值D)每个C+程序都必须有一个main()函数6下列程序中,注释有误的是。A)cout”请输入两个数值B)coutvv”请输入两个数值C)cout”请输入两个数值D)cout”请输入两个数值n;/提示输入数值n”;/*提示输入数值n”;/*提示输入数值*/n”;/*提示输入数值*/16.程序设计的目标在正确的前提下,其重要性排序次序为。A)可读、可维护、可移植、高效C)可读、可移植、可维护、高效17.下列说法正确的是。B)可维护、可读、可移植、高效D)可维护、可移植、可读、高效A)程序设计语言可分为低级语言和高级语言两类B)除了机器语言程
26、序外,用其它语言编写书写的程序都必须经过翻译才能被计算机所理解C)解释方式和编译方式是程序翻译的两种基本方式D)Basic语言和C+用的都是编译方式翻译成目标语言18.不属于C+语言对C 语言改进的是。A)不能与C 语言兼容,只支持面向对象的程序设计B)修补了 C 语言中的一些漏洞,提供更好的类型检查和编译时的分析。使得程序员在C+环境下继续写C 代码,也能得到直接的好处C)生成的目标程序质量高,程序执行效率高。般来说,用面向对象的C+编写的程序执行速度与c 语言程序不相上下D)提供了异常处理机制,简化了程序的出错处理,利 用 throw、try和 catch关键字,出错处理程序不必与正常的代
27、码紧密结合,提高了程序的可靠性和可读性19.下列函数声明错误的是。A)double max(double x,y)C)double max(x,y)20.下列关于Visual C+的说法中错误的是。A)Visual C+是 C+的一种编译器C)Visual C+是 C+的一种集成开发环境B)double max(double x,double y)D)max(double x,double y)B)Visual C+是一种语言D)Visual C+是微软公司的软件二、填空题1.C+的程序结构由注释、和程序主体三部分构成。2.汇编程序的功能是将汇编语言所编写的源程序翻译成由组成的目标程序。3.编
28、译过程一般分成5 个阶段:、语法分析、错误检查、代码优化和目标代码生成。4.目前,有两种重要的程序设计方法,分别是和。5.在 C+中,封装是通过来实现的。6.函数头定义由函数头和函数体构成,函数头又由返回类型、和构成。7.C+是通过译成目标语言的。8.每个以符号开头的行,为编译预处理行。9.OOP是的缩写。10.IDE是的缩写。三、程序设计题1.编写一个输出“我会C+编程了!”的程序。2.编写一个程序,输入两个双精度型实数,输出最大值。第6章C+词汇数据类型运算符表达式一、选择题1.以下标识符中合法的是。A)3abc B)_sumC)ab*cD)-sum2.下列不属于基本类型的是。A)整型 B
29、)浮点型C)逻辑型D)数组型3.下列属于合法八进制常数的是。A)0259 B)0A23C)0234D)-01244.下列整常数情误的是。A)0X15L B)074LC)158LD)01A35.下列整常数中不等于077L的是。A)063 B)0 x3E C)6.下列实数合法的是。A)345.B)4.-E2 C)7若变量a是int类型,并执行了语句:a=A+1.6;,A)a的值是字符C B)C)不允许字符型和浮点型相加 D)8.若有定义:inta=8,b=5,c;,执行语句c=a/b+0.4;后A)1.4 B)1 C)9.以下选项中不属于C+语言类型的是。A)signed short int B)
30、C)unsignedint D)10.以下程序的输出结果是。#include void main()077 D)632.7E D)-3.e4则正确的叙述是。a的值是浮点型a的值是字符A的ASCII码值加上1,c的值为。2.0 D)2unsigned long intlong shortint a=9,b=7,c=3,d;cout b?(ac?a:c):(b);fA)9 B)7 C)3 D)不确定11.以下选项中合法的字符常量是。A)B B)010 C)68 D)D12.以下程序的输出结果是。#include void main()(char c=z;coutc-25;A)97 B)Z C)z-
31、25 D)y13.对于枚举类型 enum changdu LENTH=100,WIDTH,HEIGHT=300中的 WIDTH 的值是。A)101 B)200 C)110 D)29914.下列程序的输出值为。#include void main()int a=4;float b=3.5;int c=3;double sum=(a+b)*c;coutsum;A)22.0 B)22.5C)20D)21.015.下列程序的输出值为。#include void main();int a=3,b=l,m=0,n=0,k;k=(n=b a)(m=ab);coutk;)A)3 B)1C)2D)016.请看如
32、下程序:void main()(int i=l,j=l,m,n;m=i+;n=+j;m,n的值应该是。A)1,1 B)2,2C)1,2D)2,117.下列程序的输出结果为。#include void main()int a=4,b=3,c=l,d;d=a&b&b c-!0;coutd;)A)0 B)3C)1D)418.下列语句中符合C+语言语法的赋值语句是。A)a=7+b+c=a+7;B)a=7+b+=a+7;C)a=7+b,bn F,a+7 D)a=7+b,c=a+7;19.在C+语言中,要求运算数必须是整型的运算符是。A)%B)/C)D)!20.下列程序中应该输出的y值是。#include
33、 void main()int i=l,b=2,y;y=(i+,b+,i+=b);couty;)A)2 B)3C)4D)5二、填空题1.在32位的计算机中,C+中的char型变量所占个字节,若用位表示占用位。2.十六进制常量和八进制常量前面应该分别加和。3.符号常量可以用宏定义define和来表示。4表达式“9%(5/2)”的值是。5.设有以下变量定义,并已赋确定的值,char w;int x;float y;double z;,则表达式“w*x+z-y”所求得的数据类型为。6.下面程序的输出结果为。#include void main()(co u twHellobn;)7.下面程序的输出结
34、果为。#include void main()(char ch 1;chl=,A,+,5,-,3);coutchl;)8.下面程序的输出结果为。#include void main()int i=0,j=2,m=3,n=4;i+;j-;m+=i;n+=m;coutn;9.下面程序的输出结果为。#include void main()(int x=l,y=2,z=3,a;a=z&(x0?l:x0?-1:0);couta;)10.下面程序的输出结果为。#include void main()float x=2.5,y=4.7;int a=7;cout(x+a%3*(int)(x+y)%2/4);)
35、三、程序设计题1.下面有一段程序是判断某一年(year)是否是闰年的,请完善此程序,在划线处填上“&”或“II”符号。#include void main()(int year=1732;if(year%4=0year%100!=0)year%400=0)coutwyearvv”是闰年!”;elsecoutvvyearvv”不是闰年!”;提 示:利 用 逻 辑 运 算 符。2,下面有段程序是判断两个值中的最大值,请完善此程序,在划线处填上一个表达式。#include void main()float a=3.7,b=4.2,max;max=;coutvv”最大值为:”;coutmax;|提 示
36、:用 条 件 运 算 符。3.下列程序的输出结果是16.00,请填空。#include void main()(int a=9,b=2;float x=,y=l.l,z;z=a/2+b*x/y+1/2;coutz;提 示:利 用 逆 序 来 推 导,注 意 数 据 类 型 的 转 换。第 7 章基本语句一、选择题1.实现输出为八进制的符号是。A)dec B)hex C)oct D)setw(8)2.“coutvvsetprecision(3)3.1415926endl;”语句的输出结果为。5.关于switch语句的说明错误的是。A)default语句是可缺省的B)在各个分支中的break语句起
37、着退出switch语句的作用C)switch语句结构不可以嵌套D)每个case语句中不必用 ,而整体的switch结构一定要写一对花括号 6,关于循环语句,下列说法错误的是。A)for语句的功能最强大,用for循环能实现所有的while循环B)while和for循环都是先判断表达式,后执行语句C)do-while循环是先执行语句,后判断表达式D)do-while结构中while后面 不需要7.以下程序中,while循环的循环次数是。#include A)3.14 B)3.1 C)3.142D)3.1413.“coutvvsetfill(e)vvsetwv你好vvendl;”语句的输出结果为。A
38、)你好 B)你好 C)你好D)你好4.流程控制语句的基本控制结构有三种,不属于这三种结构的是。A)顺序结构 B)选择结构 C)循环结构D)计算结构void main()int i=0;while(i10)(if(il)continue;if(i=5)break;i+;)A)1 B)108.以下程序的输出结果是。#include void main()int a=0,i;for(i=l;i5;i+)switch(i)case 0:;case 3:a+=2;case 1:;case 2:a+=3;default:a+=5;C)6D)死循环couta;A)3 1 B)1 39.cout,hello,
39、123endl;与上述语句不等价的是。A)c o u t v heH o B)cou t v hel l o”;1 2 3 1 2 3;endl;endl;1 0 .以下程序的输出结果是。#include void main()int i=0,a=0;while(i20)for(;)if(i%10)=0)break;else i;i+=U;couta;)A)2 1 B)3 21 1 .以下程序的输出结果是。#include void main()(int b33=0,l,2,0,l,2,0,l,2,i,j,tfor(i=0;i3;i+)for(j=i;j=i;j+)t=t+bibij;cout
40、t;)A)3 B)41 2 .以下程序的输出结果是。#include void main()C)1 0D)2 0C)cou t v v hel l o”;D)cou t hel l ocou t 1 2 3;1 2 3;cou t endl;cou t endl;C)3 3D)1 1C)1D)9int x=l,a=0,b=0;switch(x)case 0:b+;case 1:a+;case 2:a+;b+;cout,a=,a,b=,b;)A)a=2b=1 B)a=lb=l13.以下程序的输出结果是。#include void main()float x=2.0,y;if(x0.0)y=0.0
41、;else if(x10.0)y=1.0/x;else y=1.0;couty;)A)0.000000 B)0.25000014.以下程序的输出结果是。#include void main()(int a=2,b=-l,c=2;if(ab)if(b0)c=0;else C+;coutc;A)0 B)115.以下程序的输出结果是。#include void main()(int i,sum=0;for(i=l;i=3;sum+)sum+=i;i+;coutsum;)A)6 B)316.以下程序的输出结果是。C)a=lb=0D)a=2b=2C)0.500000D)1.000000C)2D)3C)死
42、循环D)9#include void main()int x=23;docoutx;while(!x);A)321 B)23C)不输出任何内容D)陷入死循环17.以下程序的输出结果是。#include void main()int n=9;while(n6)(n-;cout100)break;C)int k=100;D)int s=36;do+k;while(k=1000);while(s);-s;19.当执行以下程序段时,循环体将执行。void main()(int y=l;do y;while(-y);A)一次 B)两次C)无限次D)系统提示有错误20.以下程序的输出结果是。#includ
43、e void main()int m=5;if(m+5)coutm;else cou tm;)A)7 B)6 C)5二、填空题1.以下程序运行后的输出结果是。#include void main()int i,m=0,n=0,k=0;for(i=9;i=l 1;i+)switch(i/10)case 0:m+;n+;break;case 10:n+;break;default:k+;n+;icoutmnk;2,执行以下程序后,输 出 号 的 个 数 是。#include void main()(int i,j;for(i=l;i5;i+)for(j=2;j=i;j+)c o u tM#M;3.
44、以下程序运行后的输出结果是。#include void main()int i=10,j=0;doj=j+i;i-;while(i2);coutj;)4.以下程序运行后的输出结果是。#include void main()D)4char a=abcdabcabfacd”;int il=O,i2=0,i=0;while(ai)if(ai=,a,)il+;if(ai=b)i2+;i+;cout il v vv i2endl;)5.以下程序运行后的输出结果是。#include void main()int s=0;for(int i=l;i+)if(s50)break;if(i%2=0)s+=i;c
45、out,s=,sendl;)6 .本程序想实现x y z,输出x y z:if(xyz)coutx,y w,z e n d l;错误在于。7 .以下程序运行后的输出结果是。#include void main()(int a,b,c;int s,w,t=0;a=-l;b=3;c=3;if(c0)s=a+b;if(a0)w=a-b;else t=c;coutsw,w,tendl;)8.cont inu e语句和b r ea k 语句的区别是:只结束本次循环,而则是结束本次循环,不再进行判断。9.s w it ch后面括号中的表达式只能是整型、或枚举型表达式。10.*c o u t se tio
46、sfla g s(io s:sh o w p o s)l1 2 5 e n d l;n 输出结果为。三、程序设计题I.打印出所有的“水仙花数”。所 谓“水仙花数”是指一个三位数,其各位数字的立方和等于该数本身。例如,153是一个“水仙花数”,因 为 153=产+53+33。提 示:利 用for循 环 控 制100999各 数,每 个 数 分 解 出 个 位、十 位、百 位。2.将一个正整数分解质因数。例如,输入9 0,打印出90=2*3*3*5。提 示:对n进 行 分 解 质 因 数,应 先 找 到 一 个 最 小 的 质 数k,然 后 按 下 述 步 瞬 完 成:1)如 果 这 个 质 数
47、恰 等 于n,则 说 明 分 解 质 因 数 的 过 程 已 经 结 束,打 印 出 即 可。2)如 果n!=k,但n矩 被k整 除,则 应 打 印 出k的 值,弁 用n除 以k的 商,作 为新 的 正 整 数n,重 复 执 行 第 一 步。3)如 果n不 能 被k整 除,则 用k+1作 为k的 值,重 复 执 行 第 一 步。3.一球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下,求它在第10次落地时,共经过多少米?第 10次反弹多高?第8章数组和字符串一、选择题1.在 C+语言中引用数组元素时,其数组下标的数据类型允许是。A)整型常量C)整型常量或整型表达式2.以下能正确定义
48、一维数组的选项是。A)int num;C)int num0.100;3.以下不能正确定义二维数组的选项是。A)int a22=l,2);C)int a22=l,2,3);4.以下程序的输出结果是。#include B)整型表达式D)任何类型的表达式B)#define N 100int numN;D)int N=100;int numN;B)inta2=l,2,3,4);D)inta2=l,2,3,4;void main()(int b33=0,1,2,04,2,0,1,2),i,j,t=l;for(i=0;i3;i+)for(j=i;j=i;j+)t=t+bibji;coutt;A)3 B)4
49、 C)1 D)95.以下不能正确进行字符串赋初值的语句是。A)charstr5=good!”;B)charstr=,good!,C)char*stgoodr;D)char str5=6.以下程序的输出结果是。#include#include void main()char st20=hello0t”;coutstrlen(st)w v sizeof(st);)A)9 9 B)5 2 07.以下选项中,不能正确赋值的是。A)cha r s l 1 0;s l=,C t es f,;C)c h a r s 3 2 0 =,C te s f,;8 .以下程序的输出结果是。#include void
50、main()int i,k,a10,p3;k=5;for(i=0;i10;i+)ai=i;for(i=0;i3;i+)pi=ai*(i+l);for(i=0;i3;i+)k+=pi*2;coutk;)A)2 0 B)2 19 .以下程序的输出结果是。#include void main()int i,X33=1,2,3,4,5,6,7,8,9);for(i=0;i3;i+)coutxi2-i;iA)1 5 9 B)1 4 71 0.以下程序的输出结果是。#include void main()int a33=l,2,3,4,5,6,i,j,s=0;for(i=l;i3;i+)for(j=0;j