二级C++笔试-331
- 格式:doc
- 大小:46.15 KB
- 文档页数:16
四川省普通高等学校计算机应用知识和能力第三十一次等级考试二级(C与C++语言) 笔试试卷时间: 2009年10月24 日( 判断下列各题是否正确,如正确,在客观答题纸上对应编号选A,否则选B )1. 数据在计算机内存中的表示是指数据的存储结构。
( 1 )2. 作业与进程的主要区别是前者是由系统自动生成,后者是由用户提交。
( 2 )3. 从逻辑上可以把数据结构分为线性结构和非线性结构。
( 3 )4. 在设备管理中,通道是处理输入、输出的软件。
( 4 )5. 链表可以随机访问任意一个结点,而顺序表则不能。
( 5 )6. 栈顶的位置是随着进栈和退栈操作而变化的。
( 6 )7. 处于等待状态的进程,若其等待的事件已发生,就立即转入运行状态。
( 7 )8. 任何两个并发进程之间一定存在互斥关系。
( 8 )9. 在面向过程方法的软件生存期内,能准确确定软件系统必须做什么和必须具备的功能阶段是需求分析。
( 9 ) 10.在软件测试的基本方法中,静态测试不用测试用例。
( 10 )二、选择题(每小题1分,共5分)1. 若进栈序列为1,2,3,4,且进栈过程中可以出栈,则不可能出栈的序列是(11 )。
11 (A) 1,4,3,2 (B) 2,3,4,1 (C) 3,1,4,2 (D) 3,4,1,2 2. 操作系统本身是计算机系统软件的重要组成部分,而其物质基础是(12 )。
12 (A) 系统硬件(B) 程序(C) 数据结构(D) 标准程序库3. 外部设备完成了预定的输入/输出操作所引起的中断是(13 )。
13 (A) 外中断(B) I/O中断(C) 程序中断(D) 标准程序库4. 以下的准则中哪个不是软件设计应遵循的(14 )。
14 (A) 抽象准则(B) 模块化准则(C) 信息屏蔽准则(D) 综合性准则5. 在结构化设计方法中,设计功能模块算法属于软件开发中的(15 )阶段。
15 (A) 详细设计(B) 需求分析(C) 总体设计(D) 编程调试1. 已知:char s[]="China",*p; (考点:字符指针)p=s;则下列叙述正确的是(16 )。
全国计算机等级考试二级C语言笔试试题及答案一、选择题1. 以下关于C语言的描述中,正确的是(A)A. C语言是一种结构化程序设计语言B. C语言是面向对象的程序设计语言C. C语言是一种解释型语言D. C语言是一种高级汇编语言答案:A2. 在C语言中,以下哪个选项是非法的整型常量?(D)A. 012B. 0x123C. 0XabcD. 0123答案:D3. 若变量已正确定义并赋值,以下正确的表达式是(C)A. a = b ++ + 1;B. a = b ++ = a++;C. a = b + b++;D. a = ++b + ++b;答案:C4. 在C语言中,以下哪个函数用于输出字符?(B)A. printfB. putcharC. putcharcD. putchart答案:B5. 已知 int a = 5, b = 3;,以下哪个选项的结果为1?(D)A. a % bB. a / bC. a + bD. a - b答案:D二、填空题1. 在C语言中,一个int类型的数据在内存中占______个字节。
答案:42. C语言中,逻辑运算符“或”用______表示。
答案:||3. 若定义 int a = 10, b = 20;,则执行语句 a += b -= a; 后,b的值为______。
答案:104. 在C语言中,函数的返回值类型为void时,表示该函数______。
答案:无返回值5. 在C语言中,以下函数的返回类型为______。
int max(int a, int b) {return (a > b) ? a : b;}答案:int三、判断题1. C语言中的数组名可以作为指针使用。
(正确)2. 在C语言中,静态存储区的数据在程序运行期间一直存在。
(正确)3. 在C语言中,结构体是一种用户自定义的数据类型。
(正确)4. 在C语言中,函数的参数传递都是按值传递的。
(错误,部分按引用传递)5. 在C语言中,文件操作完成后必须关闭文件,否则可能导致数据丢失。
2008年9月二级C语言笔试真题及答案(1)一个栈的初始状态为空。
现将元素1、2、3、4、5、A、B、C、D、E 依次入栈,然后再依次出栈,则元素出栈的顺序是()。
A)12345ABCDE B)EDCBA54321 C)ABCDE12345 D)54321EDCBA(2)下列叙述中正确的是()。
A)循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B)在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C)在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D)循环队列中元素的个数是由队头指针和队尾指针共同决定3)在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是()。
A)O(n) B)O(n2) C)O(log2n) D)O(n log2n)4)下列叙述中正确的是()。
A)顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的B)顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C)顺序存储结构能存储有序表,链式存储结构不能存储有序表 D)链式存储结构比顺序存储结构节省存储空间5)数据流图中带有箭头的线段表示的是()。
A)控制流 B)事件驱动 C)模块调用 D)数据流6)在软件开发中,需求分析阶段可以使用的工具是()。
A)N-S 图 B)DFD 图 C)PAD 图 D)程序流程图7)在面向对象方法中,不属于“对象”基本特点的是()。
A)一致性 B)分类性 C)多态性 D)标识唯一性(8)一间宿舍可住多个学生,则实体宿舍和学生之间的联系是()。
A)一对一 B)一对多 C)多对一 D)多对多(9)在数据管理技术发展的三个阶段中,数据共享最好的是()。
A)人工管理阶段 B)文件系统阶段 C)数据库系统阶段 D)三个阶段相同(10)有三个关系R、S 和T 如下:R S TA B B C A B Cm 1 1 3 m 1 3n 2 3 5由关系R 和S 通过运算得到关系T,则所使用的运算为()。
2006年9月全国计算机等级考试二级C语言笔试试题及答案一、选择题(每小题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)设有如下三个关系表下列操作中正确的是A)、T=R∩SB)、T=R∪SC)、T=R×SD)、T=R/S(7)下列叙述中正确的是A)、一个算法的空间复杂度大,则其时间复杂度也必定大B)、一个算法的空间复杂度大,则其时间复杂度必定小C)、一个算法的时间复杂度大,则其空间复杂度必定小D)、上述三种说法都不对(8)在长为64 的有序线性表中进行顺序查找,最坏情况下需要比较的次数为______。
A)、63B)、64C)、6D)、7(9)数据库技术的根本目标是要解决数据的______。
A)、存储问题B)、共享问题C)、安全问题D)、保护问题(10)对下列二叉树:进行中序遍历的结果是______。
A)、ACBDFEGB)、ACBDFGEC)、ABDCGEFD)、FCADBEG(11)下列有关内联函数的叙述中,正确的是______。
全国计算机等级考试二级C语言笔试试卷及标准解析全国计算机等级考试二级C语言笔试试卷及标准解析一、选择题((1)一(10)每题2分(11)一(50)每题1分共60分) 下列各题A)、B)、C)、D)四个选项中只有一个选项是正确的请将正确选项涂写在答题卡相应位置上答在试卷上不得分。
(1)下列选项中不属于结构化程序设计方法的是 A)自顶向下B)逐步求精 C)模块化 D)可复用 (2)两个或两个以上模块之间关联的紧密程度称为 A)耦合度B)内聚度 C)复杂度 D)数据传输特性 (3)下列叙述中正确的是 A)软件测试应该由程序开发者来完成 B)程序经调试后一般不需要再测试 C)软件维护只包括对程序代码的维护 D)以上三种说法都不对 (4)按照“后进先出”原则组织数据的数据结构是 A)队列B)栈 C)双向链表D)二叉树 (5)下列叙述中正确的是A)线性链表是线性表的链式存储结构 B)栈与队列是非线性结构 C)双向链表是非线性结构 D)只有根结点的二叉树是线性结构 (6)对如下二叉树 ABDECF 进行后序遍历的结果为A)ABCDEFB)DBEAFC C)ABDECFD)DEBFCA (7)在深度为7的满二叉树中叶子结点的个数为A)32B)31 C)64D)63 (8)“商品”与“顾客”两个实体集之间的联系一般是 A)一对一B)一对多 C)多对一D)多对多 (9)在E-R图中用来表示实体的图形是 A)矩形B)椭圆形 C)菱形D)三角形 (10)数据库DB、数据库系统DBS、数据库管理系统DBMS之间的关系是A)DB包含DBS和DBMS B)DBMS包含DB和DBS C)DBS包含DB 和DBMS D)没有任何关系 (11)以下不合法的用户标识符是A)j2_KEYB)Double C)4dD)_8_ (12)以下不合法的数值常量是 A)011B)1e1 C)8.0E0.5D)0xabcd (13)以下不合法的字符常量是A)′\018′B)′\"′ C)′\\′D)′\xcc′(14)表达式3.6-5/2+1.2+5%2的值是 A)4.3B)4.8C)3.3 D)3.8(15)以下能正确定义字符串的语句是 A)char str[]={′\064′};B)char str="kx43"; C)charstr="; D)char str[]="\0";(16)以下数组定义中错误的是 A)int x[][3]={0};B)int x[2][3]={{l2}{34}{56}}; C)int x[][3]={{l23}{456}}; D)int x[2][3]={l23456};(17)若要求从键盘读入含有空格字符的字符串应使用函数A)getcB)gets C)getcharD)scanf(18)以下四个程序中完全正确的是 A)#includeB)#include main;main {/_programming_/{/_/programming /_/ printf("programming!\n");}printf("programming!\n");}C) #include D) include mainmain{/_/_programming_/_/{/_programming_/printf("programming!\n");} printf("programming!\n");}(19)若有定义:float x=1.5;int a=1b=3c=2;则正确的switch语句是 A)switch(x)B)switch((int)x); {case1.0:printf("_\n"); {case 1:printf("_\n");case2.0:printf("__\n");} case 2:printf("__\n");} C)switch(a+b) D)switch(a+b) {case 1:printf("_\n");{case 1:printf("_\n"); case 2+1:printf("__\n");}case c:printf("__\n");} (20)若各选项中所用变量已正确定义函数fun中通过return语句返回一个函数值以下选项中错误的程序是 A)mainB)float fun(int aint b){……} {……x=fun(210);……}main float fun(int aintb){……}{……x=fun(i,j);……} C)floatfun(intint); D)main main {floatfun(int iint j);{……x=fun(210);……}……x=fun(i,j);……}float fun(int aint b){……}float fun(int aint b){……} (21)在以下给出的表达式中与while(E)中的(E)不等价的表达式是A)(!E==0)B)(E>0‖EB)while(ch=getchar!=′N′)printf("%c",ch);C)while(ch=getchar==′N′)printf("%c",ch);D)while((ch=getchar)==′N′)printf("%c",ch); (23)已定义以下函数int fun(int _p){return _p;)fun函数返回值是 A)不确定的值 B)一个整数 C)形参P中存放的值 D)形参P的地址值 (24)若有说明语句:double _pa;则能通过scanf语句正确给输入项读入数据的程序段是 A)_p=&a; scanf("%1f"p);B)_p=&a; scanf("%f"p); C)p=&a; scanf("%1f"_p); D)p=&a; scanf("%1f"p); (25)现有以下结构体说明和变量定义如图所示指针p、q、r分别指向一个链表中连续的三个结点。
2005 年4 月全国计算机等级考试二级 C 语言笔试试题及答案一、选择题((1)~(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-1)/2(4)对长度为n 的线性表进行顺序查找,在最坏情况下所需要的比较次数为______。
A.log2nB.n/2C.nD.n+1(5)下列对于线性链表的描述中正确的是______。
A.存储空间不一定是连续,且各元素的存储顺序是任意的B.存储空间不一定是连续,且前件元素一定存储在后件元素的前面C.存储空间必须连续,且前件元素一定存储在后件元素的前面D.存储空间必须连续,且各元素的存储顺序是任意的(6)下列对于软件测试的描述中正确的是______。
A.软件测试的目的是证明程序是否正确B.软件测试的目的是使程序运行结果正确C.软件测试的目的是尽可能多地发现程序中的错误D.软件测试的目的是使程序符合结构化原则(7)为了使模块尽可能独立,要求______。
A.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强B.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱2005 年4 月全国计算机等级考试二级 C 语言笔试试题及答案一、选择题((1)~(10)每小题 2 分,(11)~(50)每小题 1 分,共60 分)下列各题 A )、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。
c语言等级考试二级C语言是一种普遍应用于计算机编程领域的高级编程语言。
为了评估学习者对C语言的掌握程度,许多国家和地区设立了C语言等级考试。
本篇文章将探讨C语言等级考试二级的相关内容,包括考试内容、考试形式以及备考建议等。
一、考试内容C语言等级考试二级,涵盖了C语言的基础知识和程序设计能力。
主要考察以下内容:1.数据类型与运算符:包括整型、浮点型、字符型等数据类型的定义和使用方式,以及算术运算符、逻辑运算符和位运算符等的基本理解和应用。
2.控制语句:主要涉及条件语句(如if-else语句、switch语句)、循环语句(如while循环、for循环)、跳转语句(如break语句、continue语句)等的使用,以及多级循环和循环嵌套等。
3.数组与指针:重点考察数组的定义和使用、指针的基本概念和操作,以及数组和指针的关系,如指针数组、数组指针等的应用。
4.函数与递归:着重考查函数的定义和使用、函数参数和返回值的传递,以及递归算法的设计和实现等。
5.文件操作:主要包括文件的打开、读写、关闭等基本操作,以及文件指针的移动、文件的复制和删除等相关知识。
二、考试形式C语言等级考试二级的考试形式一般分为两个部分:选择题和编程题。
1.选择题:考生需要在规定时间内完成一定数量的选择题。
选择题通常涉及C语言的基础知识,考生需要根据题目要求选择正确的答案。
2.编程题:考生需要根据题目要求,使用C语言编写程序解决给定的问题。
编程题的内容可能涉及到各个方面的C语言知识,要求考生有较强的编程能力和实际应用能力。
考试时间一般在2-3个小时左右,具体根据考试机构的规定而定。
三、备考建议为了在C语言等级考试二级中取得好成绩,以下是一些建议供考生参考:1.深入学习C语言基础:理解C语言的基本概念和语法规则,掌握数据类型、运算符、控制语句、数组、指针、函数等的原理和应用。
2.多做练习题:通过大量的练习题,加深对知识点的理解和记忆,并提高编程能力和解决问题的能力。
国家二级(C语言)笔试模拟试卷31(题后含答案及解析)题型有: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.ACFHIBEDGB.ABCDEFGHIC.ABDEGCFHID.ABCDEFHGI正确答案:C解析:对二叉树的前序遍历是指;先访问根结点,然后访问左子树,最后访问右子树,并且,在访问左,右子树时,先访问根结点,再依次访问其左,右子树。
4.下列描述中正确的是( )。
A.程序就是软件B.软件开发不受计算机系统的限制C.软件既是逻辑实体,又是物理实体D.软件是程序、数据和相关文档的集合正确答案:D解析:软件是运行在计算机硬件之上的逻辑实体,包括程序,数据和相关的文档。
软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制。
5.两个或两个以上模块之间联系的紧密程度称为( )。
A.耦合性B.内聚性C.复杂性D.数据传输特性正确答案:A解析:耦合性是模块间互相连接的紧密程皮的度量,取决于各个模块之间接口的复杂度、调用方式以及哪些信息通过接口。
全国计算机等级考试二级C语言笔试试题及答案解析一、选择题1. 以下哪个选项不是C语言的关键字?A. autoB. includeC. ifD. static答案:B解析:C语言中,auto、if和static都是关键字,而include不是关键字,它是预处理命令的一部分。
2. 在C语言中,下列哪个选项是非法的整型常量?A. 012B. 0x123C. 0X123D. 0123答案:D解析:C语言中,以0开头的数字表示八进制常量,以0x 或0X开头的数字表示十六进制常量。
选项A表示八进制常量,选项B和C表示十六进制常量,而选项D表示非法的常量。
3. 有以下程序段:```cint a = 5, b = 4;printf("%d\n", a/b);```输出结果是:A. 1B. 1.25C. 5D. 4答案:A解析:在C语言中,整数除法的结果仍然是整数。
因此,5除以4的结果为1。
4. 以下哪个函数用于动态分配内存?A. malloc()B. alloc()C. new()D. calloc()答案:A解析:在C语言中,malloc()函数用于动态分配内存。
calloc()函数也用于动态分配内存,但会初始化分配的内存空间。
alloc()和new()不是C语言中的标准函数。
二、填空题1. 在C语言中,若要定义一个指向整型的指针变量,应使用______。
答案:int解析:在C语言中,使用int 来定义一个指向整型的指针变量。
2. 有以下程序段:```cint a = 5, b = 3;printf("%d\n", a % b);```输出结果是______。
答案:2解析:在C语言中,%运算符表示求余运算。
因此,5除以3的余数为2。
3. 有以下程序段:```cint a = 5;printf("%d\n", sizeof(a));```输出结果是______。
二级c语言笔试一、什么是二级C语言笔试二级C语言笔试是招聘考试中的一部分,是考察求职者的C语言基础知识的考试。
其内容包括C语言基本概念、算法与程序设计、数据结构、面向对象等知识,以及求职者在C语言程序开发中常用的编程技巧。
通常,考试时间为1-2小时,考生需要根据题目要求完成50多道题目,以及一些实际编程作业,以测试考生在C语言程序编写方面的能力。
二级C语言笔试旨在考察考生的C语言基础理论知识,以及他们在C语言程序开发方面的实际能力。
通过考试,招聘方可以将符合职位要求的优秀人才从众多求职者中筛选出来。
二、二级C语言笔试的考试内容1. C语言基础概念考生在此部分需要回答有关C语言基础概念的问题,如C语言的结构、数据类型、常量、变量、运算符、表达式等。
2. 算法与程序设计考生在此部分需要回答有关算法与程序设计的问题,如算法的分析、设计与实现、数据结构的存储与维护、程序设计的抽象、模块化、可读性等。
3. 数据结构考生在此部分需要回答有关数据结构的问题,如栈、队列、链表、散列表、树等数据结构的定义、特性、实现方式、使用场景等。
4. 面向对象考生在此部分需要回答有关面向对象的问题,如面向对象的概念、特性、类和对象、封装、继承、多态等。
5. 实际编程作业考生在此部分需要完成一些实际的编程作业,以测试他们对C语言程序设计的能力。
例如,考生可能需要使用c 语言编写一个程序,实现某一特定的功能;还可能需要解决一些有关算法的问题,给出算法的实现代码;或者需要实现一个数据结构的某一部分功能,完成一些练习题。
三、准备二级C语言笔试的建议1. 多看看书《C语言程序设计》、《数据结构》、《算法导论》等是一些经典的参考书籍,可以帮助考生更好地掌握C语言程序设计的基本理论。
2. 多做题做题是掌握C语言程序设计的最好方式,考生可以从书上的练习题、网上的编程题或者自行设计的题目中练习,多做题可以帮助考生更好地掌握C语言程序设计的知识以及技巧。
二级C++笔试-331(总分:100.00,做题时间:90分钟)一、选择题(总题数:30,分数:70.00)1.若有下面的说明和定义:struct testchar m2;float m3;union uuchar u1[5];float u2;ua;MyStruct;则sizeof(MyStruct)的值是( )。
(分数:2.00)A.10 √B.11C.12D.9解析:[解析] C++中,联合体变量所占内存字节数与其成员中占字节数最多的那个成员相等。
联合体中,浮点变量u2占4个字节,字符型数组u1占5个字节,所以联合体u1占5个字节。
整个结构体所占字节数为10。
2.在深度为5的满二叉树中,叶子节点的个数为( )。
(分数:2.00)A.32B.31 √C.16D.15解析:[解析] 二叉树是一个非常重要的知识点。
关于二叉树的相关出题点有很多,而且题目可能很灵活,需要考生重点复习准备。
根据二叉树的定义,知道二叉树必有如下规律:深度为m的二叉树最多有2m-1个节点。
由此可知答案为B。
3.考虑函数原型void test(int a,int b=7,char z='*'),下面的函数调用中,属于不合法调用的是( )。
(分数:2.00)A.test(5);B.test(5,8);C.test(6,'#'):√D.test(0,0,'*');解析:[解析] 在选项C的调用中,将会把字符型实参#赋值给整型形参b,这不符合参数传递规则。
4.有以下程序:#include <iostream>using namespace std;class BASEprivate:char c;public:BASE(char n):c(n);virtual~BASE()cout<<c;;class DERIVED:public BASEchar c;public:DERIVED(char n):BASE(n+1),c(n)~DERIVED()cout<<c;;int main()DERIVED obj('X');return 0;执行上面的程序将输出( )。
(分数:2.00)A.XY √B.YXC.XD.Y解析:[解析] 在C++中,由于析构函数不能被继承,因此在执行派生类的析构函数时,基类的析构函数也将被调用。
执行顺序是先执行派生类的析构函数,再执行基类的析构函数,其顺序与执行构造函数的顺序正好相反。
在此题的程序中,在主函数结束时,派生类DERIVED对象obj将被删除,所以就会调用对象的析构函数。
先调用派生类的析构函数,输出X,然后调用基类的析构函数,输出Y。
5.已知类Myst有一个只需要一个double型参数的构造函数,且将运算符“-”重载为友元函数。
要使语句序列Myst x(3.2),y(5.5),z(0.0);z=8.9-y;y=x-6.3;能够正常运行,运算符函数operator-应该在类中声明为( )。
(分数:2.00)A.friend Myst operator-(Myst&,Myst&);B.friend Myst operator-(Myst,Myst);√C.friend Myst operator-(Myst,Myst&);D.friend Myst operator-(Myst&,Myst);解析:[解析] 本题考核运算符的重载运算符作为类友元函数重载的格式为:friend<类名>operator<运算符>(<形参表>):同时形参表中不要使用类对象的引用。
由此可知只有B选项符合条件。
6.在进行任何C++流的操作后,都可以用C++流的有关成员函数检测流的状态。
其中只能用于检测输入流状态的操作函数名称是( )。
(分数:2.00)A.failB.eof √C.badD.good解析:[解析] C++中可以用文件流对象的下列成员函数来判别文件流的当前状态。
①函数is_open():判定流对象是否与一个打开的文件相联系,若是,返回true,否则返回false。
②函数good():刚进行的操作成功时返回true,否则返回false。
③函数fail():与good()相反,刚进行的操作失败时返回true,否则返回false。
④函数bad():如果进行了非法操作返回true,否则返回false。
⑤函数eof():进行输入操作时,若到达文件尾返回true,否则返回false。
其中,eof函数只能用于输入流操作。
7.以下各特点中,不属于算法的基本特征的是( )。
(分数:2.00)A.可行性B.确定性C.拥有足够的情报D.无穷性√解析:[解析] 设计一个算法必须考虑它的可行性、确定性、以及拥有足够的情报,所以选项A、B、C都属于算法的基本特征。
作为一个算法,必须在有限的时间内完成,所以一个算法要具有有穷性的特征。
算法的有穷性还应包括合理的执行时间的含义。
因为一个算法需要执行千年万年,显然失去了实用价值,故答案为D。
8.在“int a=10,*p=&a;”语句中,p的值是( )。
(分数:2.00)A.10B.变量p的地址C.变量a的地址√D.随机数解析:[解析] 一个指针是一个特定类型数据的存储地址,由于指针p已被赋值指向a,所以p的值就是整型变量a的地址。
9.以下非法的赋值表达式是( )。
(分数:2.00)A.n=(i=2,++i);B.j++;C.++(i+1);√D.x=j>0;解析:[解析] 对于任何一种赋值运算,其赋值号或复合赋值号左边必须是一个左值。
左值是指具有对应的可由用户访问的存储单元,并且能够由用户改变其值的量。
而在选项C中赋值号对应的是表达式“i+1”,不是一个左值,因此是非法的赋值表达式。
10.下面程序的输出结果是( )。
#include<iostream>using namespace std;int main()int a=2,b=-1,c=2;if(a<b)if(b<0)c=0;elsec+=1;cout<<c<<end1;return 0;(分数:2.00)A.0B.1C.2 √D.3解析:[解析] 本题常见的错误答案是:由于a>b(a=2,b=-1),所以程序进入else分支执行语句“c+=1;”,最后得到答案3。
其实不然,本题考的知识点是else与if的配对问题。
由于else关键词总是与它前面最近的未配对的且可见的那个if关键词配对,因此本题程序中的else是与第2个if配对。
由于a>b(a=2,b=-1),那么第1个if分支后的语句就不再执行,从而输出c的值为2。
11.数据的逻辑结构是指( )。
(分数:2.00)A.数据所占的存储空间量B.反映数据元素之间逻辑关系的数据结构√C.数据在计算机中的顺序存储方式D.存储在外存中的数据解析:[解析] 一个数据结构应包含两方面的信息:一是表示数据元素的信息,二是表示各数据元素之间的前后关系。
其中数据元素之间的前后关系是指它们的逻辑关系,而与他们在计算机中的存储位置无关。
12.有以下程序:#include <iostream>using namespace std;int main()int x=15;while(x>10&&x<50)x++;if(x/3)x++; break;cout<<x<<end1;return 0;执行后的输出结果是( )。
(分数:2.00)A.15B.16C.17 √D.18解析:[解析] 本题考核选择语句与循环语句的嵌套。
由程序可知,当x=16时,满足if条件表达式,进入if分支,执行“x++;break;”,所以最后程序输出x的值为17。
13.for(int x=0,y=0;!x&&y<=5;y++)语句执行循环的次数是( )。
(分数:2.00)A.0B.5C.6 √D.无数次解析:[解析] 本题主要是分析循环结束的条件表达式“!x&&y<=5”,由于x的值为0,那么:x永远为真,那么符合要求的y的取值为0-5,即循环共6次。
14.数据库DB、数据库系统DBS和数据库管理系统DBMS这三者之间的关系是( )。
(分数:2.00)A.DBS包括DB和DBMS √B.DBMS包括DB和DBSC.DB包括DBS和DBMSD.DBS就是DB,也就是DBMS解析:[解析] 本题考查考生对数据库DB,数据库系统DBS,数据库管理系统DBMS三者关系的理解。
其中数据库系统是指数据库和数据库管理系统软件的合称。
数据库管理系统是一个帮助用户创建和管理数据库的应用程序的集合。
数据库是指存储在计算机内有结构的数据集合。
15.设有n元关系R及m元关系S,则关系只与S经笛卡儿积后所得新关系是一个( )元关系。
(分数:2.00)A.mB.nC.m+n √D.m*n解析:[解析] 本题考核对笛卡儿积运算的掌握。
笛卡儿积是两个关系的合并操作,因此 n元关系R与m 元关系S经笛卡儿积后所得新关系是m+n元关系。
16.有以下程序:#include <iostream>using namespace Std;int main( )int a = 15,b = 21,m = 0;switch(a%3)case 0: m++;break;case 1: m++;switch(b%2)default: m++;case 0: m++;break;cout<<m<<end1;return 0;程序运行后的输出结果是( )。
(分数:2.00)A.1 √B.2C.3D.4解析:[解析] 由于a=15,所以a%3的值为0。
程序进入第1分支,执行“m++;”,最后输出m的值为1。
17.在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是( )。
(分数:2.00)A.概要设计B.详细设计C.可行性分析D.需求分析√解析:[解析] 选项A和B,概要设计阶段和详细设计阶段属于软件设计阶段。
在此阶段系统设计人员和程序设计人员在反复理解软件需求的基础上,给出软件的结构、模块的划分、功能的分配以及处理流程。
选项C,可行性分析阶段是确定待开发系统的开发目标和总的要求,给出它的功能、性能、可靠性以及接口等方面的可能方案,制订完成开发任务的实施计划。
选项D,需求分析阶段是对待开发软件提出的需求进行分析并给出详细定义,写软件规格说明书及初步的用户手册,提交评审。
所以,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段应该是需求分析阶段。
18.在重载一个运算符函数时,其参数表中没有任何参数,这说明该运算符是( )。
(分数:2.00)A.一元非成员运算符B.一元成员运算符√C.二元非成员运算符D.二元成员运算符解析:[解析] 当把运算符重载为成员函数时,第1操作数就是对象本身,即第1操作数仅以this指针的形式隐含在参数表中。