[计算机类试卷]国家二级(C语言)笔试模拟试卷163.doc

合集下载

计算机二级C语言考试模拟题包括答案.doc

计算机二级C语言考试模拟题包括答案.doc

2019 年 12 月计算机二级 C 语言考试模拟题及答案A.用户自己定义的函数只能调用库函数B. 实用的 C语言源程序总是由一个或多个函数组成C.不同函数的形式参数不能使用相同名称的标识符D.在 C语言的函数内部,能够定义局部嵌套函数参考答案: B参考解析: A 选项中,”用户自己定义的函数只能调用库函数”描述是不准确的,也能够调用自定义函数 ;C 选项中,对于不同函数的形式参数能够使用相同名称的标识符 ;D 选项中,关于函数的定义不能够嵌套,但函数的调用能够嵌套。

所以 B 选项准确。

2[ 单选题 ] 以下关于 C语言数据类型使用的叙述中错误的是( ) 。

A.若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型B.若要保存带有多位小数的数据,可使用双精度类型C.若只处理“真”和“假”两种逻辑值,应使用逻辑类型D.整数类型表示的自然数是准确无误差的参考答案: C参考解析: C语言中没有逻辑类型,所以 c 错误。

若要保存带有多位小数的数据,能够用单精度类型也能够用双精度类型。

处理包含不同类型的相关数据能够定义为结构体类型。

整数类型能够无误差的表示自然数。

3[ 单选题 ] 下面选项中关于编译预处理的叙述准确的是A.预处理命令行必须使用分号结尾B.凡是以 #号开头的行,都被称为编译预处理命令行C.预处理命令行不能出现在程序的最后一行D.预处理命令行的作用域是到最近的函数结束处参考答案: B参考解析:本题考查预编译的预编译处理命令行,预处理命令行不能以分号结尾,所以A 选项错误,预处理命令行能够出现在程序的最后一行,预处理命令行作用域是整个文件。

4[ 单选题 ] 设--X 树共有 150 个结点,其中度为 l 的结点有 l0 个,则该---X 树中的叶子结点数为 ( ) 。

A.71B.70C.69D. 不可能有这样的二叉树参考答案: D参考解析:在树结构中,一个结点所拥有的后件个数称为该结点的度,所有结点中的度称为树的度。

全国计算机等级考试二级C语言笔试题库

全国计算机等级考试二级C语言笔试题库

全国计算机等级考试二级C语言笔试题库第一套一、选择题在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。

(1)为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为A)PAD图B)N-S图C)结构图D)数据流图(2)结构化程序设计主要强调的是A)程序的规模B)程序的效率C)程序设计语言的先进性D)程序易读性(3)为了使模块尽可能独立,要求A)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强B)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱C)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱D)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强(4)需求分析阶段的任务是确定A)软件开发方法B)软件开发工具C)软件开发费用D)软件系统功能(5)算法的有穷性是指A)算法程序的运行时间是有限的B)算法程序所处理的数据量是有限的C)算法程序的长度是有限的D)算法只能被有限的用户使用(6)对长度为n的线性表排序,在最坏情况下,比较次数不是n(n—1)/2的排序方法是A)快速排序B)冒泡排序C)直接插入排序D)堆排序(7)如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是A)e3,e1,e4,e2 B)e2,e4,e3,e1 C)e3,e4,e1,e2 D) 任意顺序(8)将E-R图转换到关系模式时,实体与联系都可以表示成A)属性B)关系C)键D)域(9)有三个关系R、S和T如下:RB C Da 0 k1b 1 n1SB C Df 3 h2a 0 k1n 2 x1TB C Da 0 k1由关系R和S通过运算得到关系T,则所使用的运算为A)并B)自然连接C)笛卡尔积D)交(10)下列有关数据库的描述,正确的是A)数据处理是将信息转化为数据的过程B)数据的物理独立性是指当数据的逻辑结构改变时,数据的存储结构不变C)关系中的每一列称为元组,一个元组就是一个字段D)如果一个关系中的属性或属性组并非该关系的关键字,但它是另一个关系的关键字,则称其为本关系的外关键字(11)以下叙述中正确的是A)用C程序实现的算法必须要有输入和输出操作B)用C程序实现的算法可以没有输出但必须要有输入C)用C程序实现的算法可以没有输入但必须要有输出D)用C程序实现的算法可以既没有输入也没有输出(12)下列可用于C语言用户标识符的一组是A)void,define, WORD B)a3_3,_123,Car C)For,-abc, IF Case D)2a,DO, sizeof(13)以下选项中可作为C语言合法常量的是A)-80 B)—080 C)—8e1。

计算机二级《C语言》模拟试题及答案3篇

计算机二级《C语言》模拟试题及答案3篇

计算机二级《C语言》模拟试题及答案第一篇:C语言基础知识1. C语言的发明人是谁?简要介绍一下他的背景。

2. int型变量的取值范围是多少?unsigned int呢?3. 请问下面这段代码输出的结果是什么?char str1[] = "hello";char str2[] = "world";strcat(str1, str2);printf("%s", str1);4. 以下哪些数据类型可以用来存储浮点数?A. floatB. doubleC. long doubleD. char5. 下列代码的输出结果是什么?int a = 1;long b = 2;float c = 3.0;printf("%ld\n", a + b + c);答案:1. C语言的发明人是丹尼斯·里奇(Dennis Ritchie)。

他于1941年出生在美国,是贝尔实验室研究员和计算机科学家。

在20世纪70年代,他和肯·汤普逊(Ken Thompson)合作,发明了UNIX操作系统和C语言。

C语言是一种高级计算机程序语言,在操作系统、编译器、数据库、游戏等领域被广泛使用。

丹尼斯·里奇因发明了C语言,被誉为“计算机编程之父”。

2. int型变量的取值范围是-2147483648到2147483647,unsigned int的取值范围是0到4294967295。

3. 输出结果为“helloworld”。

strcat是C语言的字符串拼接函数,将两个字符串连接成一个字符串。

在拼接之前,需要保证第一个字符串的数组足够大,以容纳两个字符串的内容。

如果第一个字符串不够大,程序会出现内存溢出等问题。

4. A、B、C三个数据类型可以用来存储浮点数。

5. 输出结果为“6”。

在printf函数中,%ld表示输出长整型数据,而c是一个float型变量。

国家二级(C语言)笔试模拟试卷6(题后含答案及解析)

国家二级(C语言)笔试模拟试卷6(题后含答案及解析)

国家二级(C语言)笔试模拟试卷6(题后含答案及解析)题型有:1. 选择题 2. 填空题选择题(1-10、21-40每题2分,11-20每题1分,共70分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。

1.数据的存储结构是指( )。

A.存储在外存中的数据B.数据所占的存储空间量C.数据在计算机中的顺序存储方式D.数据的逻辑结构在计算机中的表示正确答案:D解析:数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构,也称数据的物理结构,所以选项D正确。

2.下列关于栈的描述中错误的是( )。

A.栈是先进后出的线性表B.栈只能顺序存储C.栈具有记忆作用D.对栈的插入与删除操作中,不需要改变栈底指针正确答案:B解析:本题考核栈的基本概念,我们叫可以通过排除法来确定本题的答案。

栈是限止在一端进行插入与删除的线性表,栈顶元素总是最后被插入的元素,从而也是最先能被删除的元素;栈底元素总是最先被插入的元素,从而也是最后才能被删除的元素,即栈是按照”先进后出”或”后进先出”的原则组织数据的,这便是栈的记忆作用,所以选项A和选项C正确。

对栈进行插入和删除操作时,栈顶位置是动态变化的,栈底指针不变,选项D正确。

由此可见,选项B错误。

3.在一棵二叉树上第5层的结点数最多是( )。

A.8B.16C.32D.15正确答案:B解析:根据二叉树的性质,在二叉树的第K层上,最多有2k-1个结点。

所以,第五层的结点数最多为16。

4.按照“后进先出”原则组织数据的数据结构是( )。

A.队列B.栈C.双向链表D.二叉树正确答案:B解析:“后进先出”表示最后被插入的元素最先能被删除。

选项A中,队列是指允许在—端进行插入、而在另一端进行删除的线性表,在队列这种数据结构中,最先插入的元素将最先能够被删除,反之,最后插入的元素将最后才能被删除,队列又称为“先进先出”的线性表,它体现了“先来先服务”的原则:选项B中,栈顶元素总是最后被插入的元素,从而也是最先能被删除的元素,栈底元素总是最先被插入的元素,从而也是最后才能被删除的元素。

国家二级(C语言)笔试模拟试卷50(题后含答案及解析)

国家二级(C语言)笔试模拟试卷50(题后含答案及解析)

国家二级(C语言)笔试模拟试卷50(题后含答案及解析)题型有:1. 选择题 2. 填空题选择题(1-10、21-40每题2分,11-20每题1分,共70分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。

1.算法一般都可以用_____控制结构组合而成。

A.循环、分支、递归B.顺序、循环、嵌套C.循环、递归、选择D.顺序、选择、循环正确答案:D解析:算法的控制结构给出了算法的基本框架,不仅决定了算法中各操作的执行顺序,也直接反映了算法的设计是否符合结构化原则。

一个算法一般都可以用顺序、选择、循环三种基本控制结构组合而成。

2.数据的存储结构是指_____。

A.数据所占的存储空间量B.数据的逻辑结构在计算机中的表示C.数据在计算机中的顺序存储方式D.存储在外存中的数据正确答案:B解析:数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构。

3.设有下列二叉树:对此二叉树中序遍历的结果为_____。

A.ABCDEFB.DBEAFCC.ABDECFD.DEBFCA正确答案:B解析:中序遍历是指首先遍历左子树,然后访问根结点,最后遍历右子树;并且在遍历左、右子树时,仍然先遍历左子树,然后访问根结点,最后遍历右了树的一种二叉树遍历算法。

4.在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送_____。

A.调用语句B.命令C.口令D.消息正确答案:D解析:面向对象的世界是通过对象与对象间彼此的相互合作来推动的,对象间的这种相互合作需要一个机制协助进行,这样的机制称为消息。

消息是一个实例与另一个实例之间传递的信息,它请求对象执行某一处理或回答某一要求的信息,它统一了数据流和控制流。

5.检查软件产品是否符合需求定义的过程称为_____。

A.确认测试B.集成测试C.验证测试D.验收测试正确答案:A解析:确认测试的任务是验证软件的功能和性能及其他特性是否满足了需求规格说明中的确定的各种需求,以及软件配置是否完全、正确。

国家二级(C语言)笔试模拟试卷9(题后含答案及解析)

国家二级(C语言)笔试模拟试卷9(题后含答案及解析)

国家二级(C语言)笔试模拟试卷9(题后含答案及解析)题型有:1. 选择题 2. 填空题选择题(1-10、21-40每题2分,11-20每题1分,共70分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。

1.算法的空间复杂度是指A.算法程序的长度B.算法程序中的指令条数C.算法程序所占的存储空间D.算法执行过程中所需要的存储空间正确答案:D解析:算法的空间复杂度一般是指这个算法执行时所需要的内存空间,其中包括算法程序所占的空间、输入的初始数据所占的存储空间以及算法执行过程中所需要的额外空间,其中额外空间还包括算法程序执行过程的工作单元以及某种数据结构所需要的附加存储空间。

2.数据的存储结构是指A.数据所占的存储空间量B.数据的逻辑结构在汁算机中的表示C.数据在计算机中的顺序存储方式D.存储在外存中的数据正确答案:B解析:数据的存储结构是数据元素在计算机存储器内的表示。

数据的存储结构是逻辑结构用计算机语言的实现,即建立数据的机内表示。

3.设有下列二叉树:对此二叉树后序遍历的结果为A.ABCDEFB.BDAECFC.ABDCEFD.DBEFCA正确答案:D解析:二叉树的遍历分为先序、中序、后序三种不同方式.本题要求后序遍历,其遍历顺序应该为:后序遍历左子树->后序遍历右子树->访问根结点。

按照定义,后序遍历序列是DBEPCA,故答案为D。

4.源程序中应包含一些内部文档,以帮助阅读和理解程序,源程序的内部文档通常包括选择合适的标识符、注释和A.程序的视觉组织B.尽量不用或少用GOTO语句C.检查输入数据的有效性D.设计良好的输出报表正确答案:A解析:源程序文档化主要包括三个方面的内容:标识符的命名、程序中添加注释以及程序的视觉组织。

5.对于长度为n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是A.冒泡排序为n/2B.冒泡排序为nC.快速排序为nD.快速排序为n(n-1)/2正确答案:D解析:假设线性表的长度为n,在最坏情况下,冒泡排序和快速排序需要的比较次数为n(n-4)/2。

国家二级(C语言)笔试模拟试卷100(题后含答案及解析)

国家二级(C语言)笔试模拟试卷100(题后含答案及解析)

国家二级(C语言)笔试模拟试卷100(题后含答案及解析)题型有:1. 选择题 2. 填空题选择题(1-10、21-40每题2分,11-20每题1分,共70分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。

1.在计算机中,算法是指______ 。

A.查询方法B.加工方法C.解题方案的准确而完整的描述D.排序方法正确答案:C解析:计算机算法是指解题方案的准确而完整的描述,它有以下几个基本特征:可行性、确定性、有穷性和拥有足够的情报。

2.栈和队列的共同点是______。

A.都是先进后出B.都是先进先出C.只允许在端点处插入和删除元素D.没有共同点正确答案:C解析:栈和队列是一种特殊的操作受限的线性表,只允许在端点处进行插入和删除。

二者的区别是:栈是一种“后进先出”的线性表;而队列是一种“先进先出”的线性表。

3.已知二叉树BT的后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是______。

A.cedbaB.acbedC.decabD.deabc正确答案:A解析:二叉树BT的后序遍历序列为dabec,故BT的根结点为c;而BT的中序遍历序列是debac,即遍历序列中最后一个结点为跟结点,说明BT的右子树为空。

由BT的的后序遍历序列和中序遍历序列可知BT的左子树(LST)的后序遍历序列和中序遍历序列分别为dabe和deba(树是递归定义的);故LST的根结点是e,在由LST的中序遍历序列可知其左子树为d。

因此BT的前序遍历序列为cedba。

4.在下列几种排序方法中,要求内存量最大的是______。

A.插入排序B.选择排序C.快速排序D.归并排序正确答案:D解析:快速排序的基本思想是,通过一趟排序将待排序记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,再分别对这两部分记录继续进行排序,以达到整个序列有序;插入排序的基本操作是指将无序序列中的各元素依次插入到已经有序的线性表中,从而得到一个新的序列;选择排序的基本思想是:扫描整个线性表,从中选出最小的元素,将它交换到表的最前面(这是它应有的位置),然后对剩下的子表采用同样的方法,直到表空为止;归并排序是将两个或两个以上的有序表组合成一个新的有序表。

全国计算机等级考试二级C语言笔试试题及答案.doc

全国计算机等级考试二级C语言笔试试题及答案.doc

2005年4月全国计算机等级考试二级C语言笔试试题及答案囱一、选择题(⑴〜(10)每小题2分,(11)〜(50)每小题1分,共60分)下列各题A)、B)、C)、D)四个选项中,只有一个选项就是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。

(1)数据的存储结构就是指。

A.存储在外存中的数据B.数据所占的存储空间量C.数据在计算机中的顺序存储方式D.数据的逻辑结构在计算机中的表示(2)下列关于栈的描述中错误的就是。

A.栈就是先进后出的线性表B.栈只能顺序存储C.栈具有记忆作用D.对栈的插入与删除操作中,不需要改变栈底指针(3)对于长度为n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的就是A.冒泡排序为n/2B.冒泡排序为nC.快速排序为nD.快速排序为n(n-l)/2(4)对长度为n的线性表进行顺序查找,在最坏情况下所需要的比较次数为A.log2nB.n/2C.nD.n+1(5)下列对于线性链表的描述中正确的就是。

A.存储空间不一定就是连续,且各元素的存储顺序就是任意的B.存储空间不一定就是连续,且前件元素一定存储在后件元素的前面C.存储空间必须连续,且前件元素一定存储在后件元素的前面D.存储空间必须连续,且各元素的存储顺序就是任意的(6)下列对于软件测试的描述中正确的就是。

A.软件测试的目的就是证明程序就是否正确B.软件测试的目的就是使程序运行结果正确C.软件测试的目的就是尽可能多地发现程序中的错误D.软件测试的目的就是使程序符合结构化原则(7)为了使模块尽可能独立,要求oA.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强B.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱C.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱D.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强(8)下列描述中正确的就是。

A.程序就就是软件B.软件开发不受计算机系统的限制C.软件既就是逻辑实体,又就是物理实体D.软件就是程序、数据与相关文档的集合(9)数据独立性就是数据库技术的重要特点之一,所谓数据独立性就是指A.数据与程序独立存放B.不同的数据被存放在不同的文件中C.不同的数据只能被对应的应用程序所使用D.以上三种说法都不对(10)用树形结构表示实体之间联系的模型就是。

国家二级(ACCESS)笔试-试卷163

国家二级(ACCESS)笔试-试卷163

国家二级(ACCESS)笔试-试卷163(总分:108.00,做题时间:90分钟)一、选择题(总题数:37,分数:74.00)1.选择题()下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。

(分数:2.00)__________________________________________________________________________________________解析:2.以三级模式为框架组成的3种数据库中,真实存在于计算机外存的数据库是( )。

(分数:2.00)A.概念数据库B.用户数据库√C.物理数据库D.逻辑数据库解析:解析:(1)以内模式为框架所组成的数据库叫物理数据库;(2)以概念模式为框架所组成的数据库叫概念数据库;(3)以外模式为框架所组成的数据库叫用户数据库,它是真实存在于计算机外存中的数据库。

3.在软件测试设计中,软件测试的主要目的是(分数:2.00)A.实验性运行软件B.证明软件正确C.找出软件中全部错误D.发现软件错误而执行程序√解析:解析:使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。

软件测试是为了发现错误而执行程序的过程。

测试要以查找错误为中心,而不是为了演示软件的正确功能。

4.一个关系中属性个数为1时,称此关系为(分数:2.00)A.对应关系B.单一关系C.一元关系√D.二元关系解析:解析:加深考生对关系模型数据库基础知识的记忆。

在关系模型数据库中,基本结构是二维表,这种二维表称为关系。

关系的列称为属性,一个具有N个属性的关系称为N元关系。

5.若某二叉树的前序遍历访问顺序是abdgcefh,中序遍历访问顺序是dgbaechf,则其后序遍历的结点访问顺序是( )。

(分数:2.00)A.bdgcefhaB.gdbecfhaC.bdgaechfD.gdbehfca √解析:解析:中序遍历的递归算法定义:①遍历左子树;②访问根结点;③遍历右子树。

国家二级(C语言)笔试模拟试卷120(题后含答案及解析)

国家二级(C语言)笔试模拟试卷120(题后含答案及解析)

国家二级(C语言)笔试模拟试卷120(题后含答案及解析)题型有:1. 选择题 2. 填空题选择题(1-10、21-40每题2分,11-20每题1分,共70分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。

1.下列选项中,不是一个算法的基本特征的是( )。

A.完整性B.可行性C.有穷性D.拥有足够的情报正确答案:A解析:作为一个算法,一般应该具有下列4个特征:①可行性,即考虑到实际的条件能够达到一个满意的结果;②确定性,算法中的第一个步骤都必须是有明确定义的;③有穷性,一个算法必须在有限的时间内做完;④拥有足够的情报。

2.结构化分析方法是面向( )的自顶向下、逐步求精进行需求分析的方法。

A.对象B.数据结构C.数据流D.目标正确答案:C解析:结构化分析方法是面向数据流进行需求分析的方法,采用自顶向下、逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系统的逻辑模型。

3.下列工具中为需求分析常用工具的是( )。

A.PADB.PFDC.N-SD.DFD正确答案:D解析:需求分析常用的工具有数据流图(DFD) 、数据字典(DD) 、判定树和判定表。

PAD(问题分析图)、PFD(程序流程图)、N-S(盒式图)都是详细设计的常用工具,不是需求分析的工具。

4.对线性表进行二分法检索,其前提条件是( )。

A.线性表以顺序方式存储,并按关键码值排好序B.线性表以顺序方式存储,并按关键码的检索频率排好序C.线性表以链式方式存储,并按关键码值排好序D.线性表以链式方式存储,并按关键码的检索频率排好序正确答案:A解析:对线性表进行二分法检索,要求线性表是按顺序方式存储的,并按关键码值的大小排好序,而不是按关键码的检索频率排序。

5.下列选项中不属于结构化程序设计方法的是( )。

A.自顶向下B.逐步求精C.模块化D.可复用正确答案:D解析:结构化程序设计的主要原则概括为自顶向下、逐步求精和限制使用GOTO语句。

全国计算机等级考试二级C语言笔试试题及答案

全国计算机等级考试二级C语言笔试试题及答案

全国计算机等级考试二级C语言笔试试题及答案一、选择题(每小题2分,共70分)(1)下列叙述中正确的是A)栈是“先进先出”的线性表B)队列是“先进后出”的线性表C)循环队列是非线性结构D)有序线性表既可以采用顺序存储结构,也可以采用链式存储结构(2)支持子程序调用的数据结构是A)栈B)树C)队列D)二叉树(3)某二叉树有5个度为z的结点,则该二叉树中的叶子结点数是A)10B)8C)6D)4(4)下列排序方法中,最坏情况下比较次数最少的是A)冒泡排序B)简单选择排序C)直接插入排序D)堆排序(5)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。

下面属于应用软件的是 A)编译程序B)操作系统C)教务管理系统D)汇编程序(6)下面叙述中错误的是A)软件测试的目的是发现错误并改正错误B)对被调试的程序进行“错误定位”是程序调试的必要步骤C)程序调试通常也称为DebugD)软件测试应严格执行测试计划,排除测试的随意性(7)耦合性和内聚性是对模块独立性度量的两个标准。

下列叙述中正确的是A)提高耦合性降低内聚性有利他哦高模块的独立性B)降低耦合性提高内聚性有利于提高模块的独立性C)耦合性是指一个模块内部各个元索间彼此结合的紧密程度D)内聚性是指模块间互相连接的紧密程度(8)数据库应用系统中的核心问题是A)数据库设计B)数据库系统设计C)数据库维护D)数据库管理员培训(9)有两个关系R, S如下:由关系R通过运算得到关系S,则所使用的运算为A)选择C)插入D)连接(10)将E-R图转换为关系模式时,实体和联系都可以表示为A)属性B)键C)关系D)域(11)对C++编译器区分重载函数无任何意义的信息是A)参数类型B)参数个数C)返回值类型D)常成员函数关键字coast(12)有如下类定义和变量定义:class A{publie:A(){data=0;}~A(){}int GetData () coast { return data;}void SetData(int n) {data=n;}private:int data;};ccnst A a;A b;下列函数调用中错误的是A)a .GetData();B)a .SetData(10);C)b .GetData();D)b .SetData(10);(13)有如下类定义和变量定义:class Parents{public:int publicuata;private:int privateData;};class ChildA:public Parents{/*类体略*/};class ChildB:private Parents{/*类体略*/);ChildA a;ChildBb;下列语句中正确的是A)cout<<a.publicData <<endl ;B)cout<<a.privateData <<endl ;C)cout<<b.publicData <<endl ;D)cout<<b.privateData <<endl ;(14)运算符重载时不需要保持的性质是A)操作数个数B)操作数类型C)优先级D)结合性(15)下列关于函数模板的描述中,错误的是A)从模板实参表和从模板函数实参表获得信息矛盾时,以模板实参的信息为准C)虚拟类型参数没有出现在模板函数的形参表中时,不能省略模板实参D)模板参数表不能为空(16)要建立文件流并打开当前目录下的文件file.dat用于输入,下列语句中错误的是 A)ifstream fin=ifstream.open(“file.dat”);B)ifstream*fir.=new ifstream(“file.dat”);C)ifstream fin; fin.open(“file.dat”);D)ifstream *fin=new ifstream();fin一>open(“file.dat”);(17)下列描述中,不属于面向对象思想主要特征的是A)封装性B)跨平台性C)继承性D)多态性(18)有如下程序段:Tnt i=4;int j=l;int main(){int i=8,j=i;cout<<i<<j<<endl;}运行时的输出结果是A)44B)41C)88D)81(19)有如下程序段:int i=5;while(int i=0){cout《'*';i--;}运行时输出“*”的个数是A)0B)1C)5D)无穷(20)己知有数组定义char a[3][4];下列表达式中错误的是A)a[2]=“WIN”B)strcpy(a[2],“WIN”)C)a [2][3]='W'D)a[0][1]=a[0][1](21)已知函数fun的原型为int fun(int,int,int);下列重载函数原型中错误的是A)char fun(int,int);B)double fun(int,int,double);C)int fun(int,char*);D)float fun (int, int, int);(22)建立一个类对象时,系统自动调用A)析构函数B)构造函数C)静态函数D)友元函数(23)通过派生类的对象可直接访问其A)公有继承基类的公有成员C)私有继承基类的公有成员D)私有继承基类的私有成员(24)己知表达式++a中的“++”是作为成员函数重载的运算符,则与十+a等效的运算符函数调用形式为A)a .orerator++(1)B)operator++(a)C)operator++(a,l)D)a.operator++()(25)在定义一个类模板时,模板形参表是用一对括号括起来的,所采用的括号是A)()B)[ ]C)< >D){ }(26)当使用ifstream流类定义一个流对象并打开一个磁盘文件时,文件的默认打开方式为 A)ios_base::inB)ios_base::in|ios_base::outC)ios_base::outD)ios_base::in&ios_base::out(27)有如下程序:#include<iostream>#include<cstring>using namespace std;class XCD{char* a;int b;public:XCD(char* aa, int bb){a=new char[strlen(aa)+1];strcpty(a,aa);b=bb;}Char* Geta (){return a;)int Getb(){ return b;}};int main(){char *pl=“abcd”,*p2=“weirong”;int dl=6, d2=8;XCD x(pl,dl),Y(p2,d2);cout<<strien (x .Geta())+y. Getb()+endl;return 0;}运行时的输出结果是A)12B)16C)14D)11(28)有如下程序:#include<iostream>#include<cstring>using namespace std;class XCF{int a;XCF(int aa=0):a (aa){cout<<“1”;}XCF(XCF& x){a=x .a; cout<<“2”;)~XCF(){cout<<a;}int Geta(){return a;}};int main(){XCF dl(5),d7 (dl);XCF *pd=new XCF(8);cout<<pd一>Geta();delete pd;return 0;}运行时的输出结果是A)121SS88B)12188SSC)12185D)128512(29)已知类MyClass声明如下:class MyClass{int n;public;MyClass(int k):n(k){}int getValue()const{return n;}};在下列数组定义中正确的是A)MyClass x1[2];B)MyClass x2[2]={new MyClass(1),new MyClass(2)};C)MyClass *x3[2];D)MyClass *x4[2]={MyClass(1),MyClass(2)};(30)有如下程序:#include<iostream>using namespace std;class AA{lilt k;protected:int n;void setK(int k){ this->k=k;}public:void setN(int n){ this->n=n;}};class BB: public }{/*类体略*/};int main(){BB x_ ; //1x .n=1; //2x.setN (2); //3x.k=3; //4x .setK(4);return 0;}在标注号码的四条语句中正确的是A)1B)2C)3D)4(31)有如下类定义:class XX{int xx;public:XX():xx(0){cout<<' A';}XX(int n):xx ( n){tout<<' B';}};Class YY:public XX{Int yy;public:YY():yy ( 0){cout+yy;}YY(int n):XX(n+1),yy(n){cout<<yy;}YY (int m, int n):XX (m),yy(n){cout<<yy;} };下列选项中,输出结果为A0的语句是A)YY y1(0,0);B)YY y2(1);C)YY y3(0);D)YY y4;(32)有如下程序:#include<iostream>Using namespace std;class A{public:virtual void f(){cout+1;}void g(){cout<<2;}};class B:public A{public:virtual void f(){cout<<3;}void g(){ecut<<4;}};void show(A &a){a.f();a.g();}int main(){B b;show(b);return 0;}运行时的输出结果是A)12B)34C)14D)32(33)有如下程序:#include<iostream>using namespace std;class Pair{int m;int n;public:boot operator >(pair p)const; //须在类体外给出定义};int main(){Pair Al(3,4),p2(4,3);p3(4,5);Cout<<(pl>p2)<<(P2>P1)<<(p2>p3)<<(p3>p2);return 0;}运算符函数。

全国计算机等级考试二级笔试样卷C语言程序设计含答案

全国计算机等级考试二级笔试样卷C语言程序设计含答案

全国计算机等级考试二级笔试样卷C语言程序设计【打印】【字体:大中小】【关闭】一、选择题((1)~(10)、(21)~(40)每题2分,(11)~(20)每题2分,共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。

(1)下列选项中不符合良好程序设计风格的是A)源程序要文档化B)数据说明的次序要规化C)避免滥用goto语句 D)模块设计要保证高耦合、高聚(2)从工程管理角度,软件设计一般分为两步完成,它们是A)概要设计与详细设计B)数据设计与接口设计C)软件结构设计与数据设计D)过程设计与数据设计(3)下列选项中不属于软件生命周期开发阶段任务的是A)软件测试B)概要设计C)软件维护D)详细设计(4)在数据库系统中,用户所见的数据模式为A)概念模式B)外模式C)模式D)物理模式(5)数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和A)编码设计B)测试阶段C)运行阶段D)物理设计(6)设有如下三个关系表R S T下列操作中正确的是A)T=R∩S B)T=R∪SC)T=R×S D)T=R/S(7)下列叙述中正确的是A)一个算法的空间复杂度大,则其时间复杂度也必定大B)一个算法的空间复杂度大,则其时间复杂度必定小C)一个算法的时间复杂度大,则其空间复杂度必定小D)上述三种说法都不对(8)在长度为64的有序线性表中进行顺序查找,最坏情况下需要比较的次数为A)63 B)64 C)6 D)7(9)数据库技术的根本目标是要解决数据的A)存储问题B)共享问题C)安全问题D)保护问题(10)对下列二叉树进行中序遍历的结果是A)ACBDFEG B)ACBDFGE C)ABDCGEF D)FCADBEG(11)下列叙述中错误的是A)一个C语言程序只能实现一种算法B)C程序可以由多个程序文件组成C)C程序可以由一个或多个函数组成D)一个C函数可以单独作为一个C程序文件存在(12)下列叙述中正确的是A)每个C程序文件中都必须要有一个main()函数B)在C程序中main()函数的位置是固定的C)C程序中所有函数之间都可以相互调用,与函数所在位置无关D)在C程序的函数中不能定义另一个函数(13)下列定义变量的语句中错误的是A)int _int; B)double int_; C)char For; D)float US$; (14)若变量x、y已正确定义并赋值,以下符合C语言语法的表达式是A)++x,y=x-- B)x+1=y C)x=x+10=x+y D)double(x)/10(15)以下关于逻辑运算符两侧运算对象的叙述中正确的是A)只能是整数0或1 B)只能是整数0或非0整数C)可以是结构体类型的数据D)可以是任意合法的表达式(16)若有定义int x,y; 并已正确给变量赋值,则以下选项中与表达式(x-y)?(x++) :(y++)中的条件表达式(x-y) 等价的是A)(x-y>0) B)(x-y<0) C)(x-y<0||x-y>0) D)(x-y==0)(17)有以下程序main(){ int x, y, z;x=y=1;z=x++,y++,++y;printf("%d,%d,%d\n",x,y,z);}程序运行后的输出结果是A)2,3,3 B)2,3,2 C)2,3,1 D)2,2,1(18)设有定义:int a; float b; 执行scanf("%2d%f",&a,&b); 语句时,若从键盘输入876 543.0<回车>,a和b的值分别是A)876和543.000000 B)87和6.000000 C)87和543.000000 D)76和543.000000(19)有以下程序main(){ int a=0, b=0;a=10; /* 给a赋值b=20; 给b赋值*/printf("a+b=%d\n",a+b); /* 输出计算结果*/}程序运行后的输出结果是A)a+b=10 B)a+b=30 C)30 D)出错(20)在嵌套使用if语句时,C语言规定else总是A)和之前与其具有相同缩进位置的if配对B)和之前与其最近的if配对C)和之前与其最近的且不带else的if配对D)和之前的第一个if配对(21)下列叙述中正确的是A)break语句只能用于switch语句B)在switch语句中必须使用defaultC)break语句必须与switch语句中的case配对使用D)在switch语句中,不一定使用break语句(22)有以下程序main(){ int k=5;while(--k) printf("%d",k -= 3);printf("\n");}执行后的输出结果是A)1 B)2 C)4 D)死循环(23)有以下程序main(){ int i;for(i=1; i<=40; i++){ if(i++%5==0)if(++i%8==0) printf("%d ",i);}printf("\n");}执行后的输出结果是A)5 B)24 C)32 D)40(24)以下选项中,值为1的表达式是A)1 –'0' B)1 - '\0' C)'1' -0 D)'\0' - '0'(25)有以下程序fun(int x, int y){ return (x+y); }main(){ int a=1, b=2, c=3, sum;sum=fun((a++,b++,a+b),c++);printf("%d\n",sum);}执行后的输出结果是A)6 B)7 C)8 D)9(26)有以下程序main(){ char s[]="abcde";s+=2;printf("%d\n",s[0]);}执行后的结果是A)输出字符a的ASCII码B)输出字符c的ASCII码C)输出字符c D)程序出错(27)有以下程序fun(int x, int y){ static int m=0, i=2;i+=m+1; m=i+x+y; return m;main(){ int j=1, m=1, k;k=fun(j,m); printf("%d,",k);k=fun(j,m); printf("%d\n",k);}执行后的输出结果是A)5, 5 B)5, 11 C)11, 11 D)11, 5(28)有以下程序fun(int x){ int p;if(x==0||x==1) return(3);p=x-fun(x-2);return p;main(){ printf("%d\n",fun(7)); }执行后的输出结果是A)7 B)3 C)2 D)0(29)在16位编译系统上,若有定义int a[]={10,20,30}, *p=&a;,当执行p++;后,下列说法错误的是A)p向高地址移了一个字节B)p向高地址移了一个存储单元C)p向高地址移了两个字节D)p与a+1等价(30)有以下程序main(){ int a=1, b=3, c=5;int *p1=&a, *p2=&b, *p=&c;*p =*p1*(*p2);printf("%d\n",c);}执行后的输出结果是A)1 B)2 C)3 D)4(31)若有定义:int w[3][5]; ,则以下不能正确表示该数组元素的表达式是A)*(*w+3) B)*(w+1)[4] C)*(*(w+1)) D)*(&w[0][0]+1)(32)若有以下函数首部int fun(double x[10], int *n)则下面针对此函数的函数声明语句中正确的是A)int fun(double x, int *n); B)int fun(double , int );C)int fun(double *x, int n); D)int fun(double *, int *);(33)有以下程序void change(int k[ ]){ k[0]=k[5]; }main(){ int x[10]={1,2,3,4,5,6,7,8,9,10},n=0;while( n<=4 ) { change( &x[n]) ; n++; }for(n=0; n<5; n++) printf("%d ",x[n]);printf("\n");}程序运行后输出的结果是A)6 7 8 9 10 B)1 3 5 7 9 C)1 2 3 4 5 D)6 2 3 4 5(34)有以下程序main(){ int x[3][2]={0}, i;for(i=0; i<3; i++) scanf("%d",x[i]);printf("%3d%3d%3d\n",x[0][0],x[0][1],x[1][0]);}若运行时输入:2 4 6<回车>,则输出结果为A)2 0 0 B)2 0 4 C)2 4 0 D)2 4 6(35)有以下程序int add( int a,int b){ return (a+b); }main(){ int k, (*f)(), a=5,b=10;f=add;…}则以下函数调用语句错误的是A)k=(*f)(a,b); B)k=add(a,b);C)k= *f(a,b); D)k=f(a,b);(36)有以下程序#includemain( int argc, char *argv[ ]){ int i=1,n=0;while (iprintf("%d\n",n);}该程序生成的可执行文件名为:proc.exe。

国家二级(C语言)笔试模拟试卷150(题后含答案及解析)

国家二级(C语言)笔试模拟试卷150(题后含答案及解析)

国家二级(C语言)笔试模拟试卷150(题后含答案及解析)题型有:1. 选择题 2. 填空题选择题(1-10、21-40每题2分,11-20每题1分,共70分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。

1.算法的空间复杂度是指A.算法程序的长度B.算法程序中的指令条数C.算法程序所占的存储空间D.执行算法需要的内存空间正确答案:D解析:算法的复杂度主要包括算法的时间复杂度和空间复杂度。

所谓算法的时间复杂度是指执行算法所需要的计算工作量;算法的空间复杂度是指执行这个算法所需要的内存空间。

2.在结构化程序设计中,模块划分的原则是A.各模块应包括尽量多的功能B.各模块的规模应尽量大C.各模块之间的联系应尽量紧密D.模块内具有高内聚度、模块间具有低耦合度正确答案:D解析:在结构化程序设计中,一般较优秀的软件设计尽量做到高内聚、低耦合,这样有利于提高软件模块的独立性,也是模块划分的原则。

3.下列叙述中,不属于测试的特征的是A.测试的挑剔性B.完全测试的不可能性C.测试的可靠性D.测试的经济性正确答案:C解析:软件测试的目标是在精心控制的环境下执行程序,以发现程序中的错误,给出程序可靠性的鉴定。

它有3个方面的重要特征,即测试的挑剔性、完全测试的不可能性及测试的经济性。

其中,没有测试的可靠性这一说法。

4.下面关于对象概念的描述中,错误的是A.对象就是C语言中的结构体变量B.对象代表着正在创建的系统中的一个实体C.对象是一个状态和操作(或方法)的封装体D.对象之间的信息传递是通过消息进行的正确答案:A解析:对象是由数据和容许的操作组成的封装体,与客观实体有直接的对应关系,对象之间通过传递消息互相联系,来模拟现实世界中不同事物彼此之间的联系,B)、C)、D)是正确的,对象的思想广泛应用于C++、Java等语言中,因此A)错误。

5.下列关于队列的叙述中正确的是A.在队列中只能插入数据B.在队列中只能删除数据C.队列是先进先出的线性表D.队列是先进后出的线性表正确答案:C解析:队列是一种操作受限的线性表。

国家二级(C语言)笔试模拟试卷7(题后含答案及解析)

国家二级(C语言)笔试模拟试卷7(题后含答案及解析)

国家二级(C语言)笔试模拟试卷7(题后含答案及解析)题型有:1. 选择题 2. 填空题选择题(1-10、21-40每题2分,11-20每题1分,共70分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。

1.数据的存储结构是指A.存储在外存中的数据B.数据所占的存储空间量C.数据在计算机中的顺序存储方式D.数据的逻辑结构在计算机中的表示正确答案:D解析:数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构,也称数据的物理结构。

所以选项D正确,2.在深度为5的满二叉树中,结点的个数为A.32B.31C.16D.15正确答案:B解析:二叉树有如下性质:深度为m的二叉树最多有2的m次方再减1个结点。

由此可知答案为B。

3.编制一个好的程序,首先要保证它的正确性和可靠性,还应强调良好的编程风格,在书写功能性注释时应考虑A.仅为整个程序作注释B.仅为每个模块作注释C.为程序段作注释D.为每个语句作注释正确答案:C解析:功能性注释是嵌在源程序体中的,用以描述其后的语句或程序段是在做什么工作,或者执行了下面的语句会怎么样。

所以它描述的是一段程序,是为程序段做注释,而不是每条语句。

4.下列关于栈的描述正确的是A.在栈中只能插入元素而不能删除元素B.在栈中只能删除元素而不能插入元素。

C.栈是特殊的线性表,只能在一端插入或删除元素D.栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素正确答案:C解析:栈是一种特殊的线性表,其插入与删除运算都只在线性表的一端进行。

由此可见,选项A、选项B和选项D错误,正确答案是选项C。

5.在结构化方法中,软件功能分解属于下列软件开发中的阶段是A.详细设计B.需求分析C.总体设计D.编程调试正确答案:C解析:详细设计的任务是:在使用程序设计语言编程以前,对所采用算法的逻辑关系进行分析,并给予清晰的表达。

需求分析是指用户对目标软件系统在功能、行为、性能、设计约束等方面的希望。

国家二级(C语言)笔试模拟试卷5(题后含答案及解析)

国家二级(C语言)笔试模拟试卷5(题后含答案及解析)

国家二级(C语言)笔试模拟试卷5(题后含答案及解析)题型有:1. 选择题 2. 填空题选择题(1-10、21-40每题2分,11-20每题1分,共70分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。

1.下列选项中不符合良好程序设计风格的是( )。

A.源程序要文档化B.数据说明的次序要规范化C.避免滥用goto语句D.模块设计要保证高耦合、高内聚正确答案:D解析:良好的设计风格包括:程序文档化,选项A的说法正确:数据说明次序规范化,选项B的说法正确:功能模块化,即把源程序代码按照功能划分为低耦合,高内聚的模块,选项D的说法错误:注意goto语句的使用,选项C 的说法正确。

2.下列关于队列的叙述中正确的是( )。

A.在队列中只能插入数据B.在队列小只能删除数据C.队列是先进先出的线性表D.队列是先进后出的线性表正确答案:C解析:队列是指允许在一端进行插入、而在另一端进行删除的线性表,允许插入的一端称为队尾,允许删除的一端称为队头,选项A和选项B错误。

在队列中,最先插入的元素将最先能够被删除,反之,最后插入的元素将最后才能被删除,所以,队列又称为“先进先出”或“后进后出”的线性表,它体现了“先来先服务”的原则,选项C正确,选项D错误。

3.下列选项中不属于软件生命周期开发阶段任务的是( )。

A.软件测试B.概要设计C.软件维护D.详细设计正确答案:C解析:软件开发周期开发阶段通常由下面5个阶段组成:概要设计、详细设计、编写代码、组装测试和确认测试。

软件维护时期的主要任务是使软件持久地满足用户的需要。

选项C中的软件维护不是软件生命周期开发阶段的任务。

4.下列叙述中正确的是( )。

A.线性链表中的各元素在存储空间中的位置必须是连续的B.线性链表中的表头元素一定存储在其他元素的前面C.线性链表中的各元素在存储空间中的位置不一定是连续的,但表头元素一定存储在其他元素的前面D.线性链表中的各元素在存储空间中的位置不一定是连续的,且各元素的存储顺序也是任意的正确答案:D解析:在线性表的链式存储结构中,各数据结点的存储位置不连续,选项A 错误。

国家二级(C语言)笔试模拟试卷2(题后含答案及解析)

国家二级(C语言)笔试模拟试卷2(题后含答案及解析)

国家二级(C语言)笔试模拟试卷2(题后含答案及解析)题型有:1. 选择题 2. 填空题选择题(1-10、21-40每题2分,11-20每题1分,共70分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。

1.在E-R图中,用来表示实体之间联系的图形是( )。

A.矩形B.椭圆形C.菱形D.平行四边形正确答案:C解析:在E-R图中,矩形表示实体集,椭圆形表示属性,菱形表示实体之间的联系。

2.下面选项中不属于面向对象程序设计特征的是( )。

A.继承性B.多态性C.类比性D.封装性正确答案:C解析:对象是由数据和容许的操作组成的封装体,与客观实体有直接的对应关系。

对象之间通过传递消息互相联系,以模拟现实世界中不同事物彼此之间的联系。

面向对象技术的三个重要特性是封装性、继承性和多态性。

3.下列叙述中正确的是( )。

A.线性表是线性结构B.栈与队列是非线性结构C.线性链表是非线性结构D.二叉树是线性结构正确答案:A解析:根据数据结构中各数据元素之间关系的复杂程度,一般将数据结构分为两大类型:线性结构与非线性结构。

线性表、栈与队列、线性链表都是线性结构,而二叉树是非线性结构。

4.在关系数据库中,用来表示实体之间联系的是( )。

A.树结构B.网结构C.线性表D.二维表正确答案:D解析:在关系数据库中,用二维表来表示实体之间的联系。

5.在一棵二叉树上第5层的结点数最多是( )。

A.8B.16C.32D.15正确答案:B解析:根据二叉树的性质:二叉树第i(i≥1)层上至多有2i-1个结点。

第5层的结点数最多是25-1=16。

6.数据处理的最小单位是( )。

A.数据B.数据元素C.数据项D.数据结构正确答案:C解析:数据处理的最小单位是数据项;由若干数据项组成数据元素;而数据是指能够被计算机识别、存储和加工处理的信息载体;数据结构是指数据之间的相互关系和数据运算。

故正确答案为选项C)。

国家二级(C语言)笔试模拟试卷1(题后含答案及解析)

国家二级(C语言)笔试模拟试卷1(题后含答案及解析)

国家二级(C语言)笔试模拟试卷1(题后含答案及解析)题型有:1. 选择题 2. 填空题选择题(1-10、21-40每题2分,11-20每题1分,共70分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。

1.算法的空间复杂度是指( )。

A.算法程序的长度B.算法程序中的指令条数C.算法程序所占的存储空间D.执行算法所需要的存储空间正确答案:D解析:算法的复杂度主要包括算法的时间复杂度和算法的空间复杂度。

所谓算法的时间复杂度是指执行算法所需要的计算工作量;算法的空间复杂度一般是指执行这个算法所需要的内存空间。

2.用链表表示线性表的优点是( )。

A.便于随机存取B.花费的存储空间较顺序存储少C.便于插入和删除操作D.数据元素的物理顺序与逻辑顺序相同正确答案:C解析:链式存储结构的结点空间可以动态申请和释放,其数据元素的逻辑次序靠结点的指针来指示,在进行插入和删除操作时不需要移动数据元素,故链式存储结构下的线性表便于插入和删除操作。

3.数据结构中,与所使用的计算机无关的是数据的( )。

A.存储结构B.物理结构C.逻辑结构D.物理和存储结构正确答案:C解析:数据结构一般包括三个方面的内容:数据的逻辑结构、存储结构及数据上的运算集合。

数据的逻辑结构只抽象的反映数据元素之间的逻辑关系,而不管它在计算机中的存储表示形式。

4.结构化程序设计主要强调的是( )。

A.程序的规模B.程序的效率C.程序设计语言的先进性D.程序的易读性正确答案:D解析:结构化程序设计方法的主要原则可以概括为自顶向下、逐步求精、模块化及限制使用goto语句,总的来说可使程序结构良好、易读、易理解、易维护。

5.软件设计包括软件的结构、数据、接口和过程设计,其中软件的过程设计是指( )。

A.模块间的关系B.系统结构部件转换成软件的过程描述C.软件层次结构D.软件开发过程正确答案:B解析:软件设计包括软件结构设计、数据设计、接口设计和过程设计,其中结构设计是定义软件系统各主要部件之间的关系;数据设计是将分析时创建的模型转化为数据结构的定义;接口设计是描述软件内部、软件和操作系统之间及软件与人之间如何通信;过程设计则是把系统结构部件转换成软件的过程性描述。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

[计算机类试卷]国家二级(C语言)笔试模拟试卷163 1 下列选项中,不是一个算法的基本特征的是( )。

(A)完整性(B)可行性(C)有穷性(D)拥有足够的情报2 下列数据结构中,属于非线性的是( )。

(A)线性表(B)队列(C)树(D)栈3 下列叙述中错误的是( )。

(A)线性表是由n个元素组成的一个有限序列(B)线性表是一种线性结构(C)线性表的所有结点有且仅有一个前件和后件(D)线性表可以是空表4 按照“先进先出”组织数据的数据结构是( )。

(A)队列(B)栈(C)双向链表(D)二叉树5 下列关于线性链表的描述中正确的是( )。

(A)存储空间不一定连续,且各元素的存储顺序是任意的(B)存储空间不一定连续,且前件元素一定存储在后件元素的前面(C)存储空间必须连续,且各前件元素一定存储在后件元素的前面(D)存储空间必须连续,且各元素的存储顺序是任意的6 某二叉树共有60个叶子结点与50个度为1的结点,则该二叉树中的总结点数为( )。

(A)148(B)169(C)182(D)1987 下列数据结构中,能用二分法进行查找的是( )。

(A)顺序存储的有序线性表(B)结性链表(C)二叉链表(D)有序线性链表8 简单的交换排序方法是( )。

(A)快速排序(B)选择排序(C)堆排序(D)冒泡排序9 对于长度为n的线性表,在最坏情况下,下列各种排序法所对应的比较次数中,正确的是( )。

(A)冒泡排序为n/2(B)冒泡排序为n(C)快速排序为n(D)快速排序为n(n-1)/210 结构化程序设计的3种基本结构是( )。

(A)过程、子程序和分程序(B)顺序、选择和重复(C)递归、堆栈和队列(D)调用、返回和转移11 下列叙述中错误的是( )。

(A)在C语言中的保留字必须小写(B)变量的存储类型决定了变量的存储位置及其生存期(C)宏定义以#define开头,行未必须加分号(D)在C语言中的注释行可以出现在程序的任何位置12 若有运算符:>、=、<<、%、sizeof,则它们按优先级(由高至低)的正确排列顺序为 ( )。

(A)%、sizeof、>、<<、=(B)sizeof、 %、>、 =、<<(C)sizeof、<<、>、%、=(D)sizeof、%、<<、>、=13 已知int a=2,b=3;则执行表达式a=a<b后,变量a的值为( )。

(A)0(B)1(C)2(D)314 假定w、x、y、m均为int型变量,则执行下列的语句后,m的值是( )。

w=6,x=4,y=3; m=(w<x)?W:X; m=(m<y)?m:y;(A)3(B)4(C)5(D)615 若变量a,b已正确定义,且b已正确赋值,则合法的语句是( )。

(A)b=double(b);(B)++b;(C)a=a++=5;(D)a=double(b);16 执行下列程序中的输出语句后,a的值是( )。

main() { int a;printf("%d\n",(a=2*3,a*5,a+7)); }(A)17(B)37(C)6(D)1317 若有下列定义(设int类型变量占2个字节): int i=8;则下列语句:printf("i=%08d",i);输出的结果是( )。

(A)i=8,(B)i=00000008,(C)i=08,(D)818 两次运行下列的程序,如果从键盘上分别输入3和1,则输出结果是( )。

main() { int x; scanf("%d",&x); if(x++>2)printf("%d",x); else printf("%d\n",x--); }(A)4和2(B)4和1(C)4和0(D)3和119 运行下列程序时,若输入的数据为“1,2,3”,则输出结果是( )。

main() { float a,b,c,t; scanf("%f,%f,%f",&a,&b,&c); if(a<(A)int a[5]={0,1,2,3,4,5};(B)char a[]={0,1,2,3,4,5};(C)char a={'A','B','C');(D)int a[5]="0123";20 下列能正确定义一维数组的选项是( )。

(A)4,3,7(B)3,4,7(C)5,2,7(D)2,5,721 下列程序的输出结果是( )。

int f1(int x,int y){return x>y?x:y;} int f2(int x,int y){return x>y?y:x;} main() {int a=4,b=3,c=5,d=2,e,f,g;e=f2(f1(a,b),f1(c,d)); f=f1(f2(a,b),f2(c,d)); g=a+b+c+d-e-fprintf("%d,%d,%d\n",e,f,g); }(A)while循环执行10次(B)循环是无限循环(C)循环体语句一次也不执行(D)循环体语句执行一次22 设有程序段: int k=12; while(k=1) k=k-1;则下列描述中正确的是( )。

(A)0(B)1(C)TRUE(D)FALSE23 在执行完下列的C语句段之后,则B的值是( )。

Char a="A"; int b;B=((34 && 56)&&(a<'b'));(A)int类型(B)float类型(C)void类型(D)函数无类型说明,定义有错24 有下列函数定义: fun(float h) { printf("%f,%f\n",h,h*h);} 该函数的类型是( )。

(A)27(B)6(C)25(D)3025 下列程序中函数reverse()的功能是将a所指数组中的内容进行逆置。

#include <stdio.h> void reverse(int a[],int n) { int i,t; for(i=0;i<n/2,i++){ t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;} } main() { int b[10]={1,2,3,4,5,6,7,8,9,10};int i,s=0; reverse(b,(A)ptr是一个返回值是血的函数(B)ptr是指向int型数据的指针变量(C)ptr是指向函数的指针,该函数返回一个int型数据(D)ptr是一个函数名,该函数的返回值是指向血型数据的指针26 语句int(*ptr)()的含义是( )。

(A)(!a==1)&&(!b==0)(B)(a<b)&&!c‖1(C)a&&b(D)a‖(b+b)&&(c-a)27 设有定义:int a=2,b=3,c=4;,则下列选项中值为0的表达式是( )。

(A)任意正奇数(B)任意负偶数(C)任意正偶数(D)任意负奇数28 有下列程序段: int n,t=1,s=0; scanf("%d",&n); do{s=s+t;t=t-2;}while(t!=n);为使此程序段不陷入死循环,从键盘输入的数据应该是( )。

(A)4,4(B)2,2(C)4,5(D)2,429 下列程序的输出结果是( )。

#include<stdio.h> void main() { intb[6]={2,4,6,8,10,12}; int*p--b,**q=&p; printf("%d",*(p++));printf("%d",**q); }(A)*p=&a;scanf("%1f",p);(B)*p=&a;scanf("%f",p);(C)p=&a;scanf("%1f",*p);(D)p=&a;scanf("%1f",p);30 若有说明语句:double *p,a;则能通过scanf语句正确给输入项读入数据的程序段是 ( )。

(A)6357(B)6135(C)1357(D)69135731 下列程序的输出结果是( )。

#inClude<stdio.h> main() { charch[2][5]={"1234","5678,},*p[2]; int i,j,s=0; for(i=0;i<2;i++)p[i]=ch[i]; for(i=0;i<2;i++) for(j=0;p[i][j]>'\0';j+=2) { s=p[i][j]-'0';(A)8(B)7(C)12(D)932 下列程序的输出结果是( )。

#inclUde<stdio.h> main(){ inta[2][3]={{1,2,3},{4,5,6}},(*p)[3],i; p=a; for(i=0;i<3;i++) { if(i<2) p[1][i]=p[1][i]-1; else p[1][i]=1; } printf("%d\n",a[0][1]+a[1][1]+a[1][2]; }(A)15(B)10(C)7(D)833 字符串"\\\"ABCDEn"\"\\"的长度是( )。

(A)strcpy(str2,str1)(B)strcpy(str3,str1)(C)strcpy(str4,str1)(D)strcpy(str5,str1)34 若有下列说明,则( )不是对strcpy库函数的正确的调用。

strcpy库函数用于复制一个字符串:char*strl="abcd",str2[10],*str3="hijklmn",*str4[2],*str5="aaaa";(A)language(B)lnug(C)有语法错误(D)lang35 下列程序段的输出结果为( )。

#include<stdio.h> main() { static chara[]="language"; char*p; p=a; for(p=a;p<a+8;p+=2)putchar(*p); }(A)1(B)4(C)9(D)036 执行下列程序后,输出的结果是( )。

相关文档
最新文档