2007年4至2012年3月计算机二级C++真题及答案全

合集下载

(2020年编辑)2012年3月计算机二级C语言笔试真题文字word版+详细答案解析

(2020年编辑)2012年3月计算机二级C语言笔试真题文字word版+详细答案解析

2012年3月全国计算机等级考试二级C语言真题一、选择题1、下列叙述中正确的是:A、循环队列是队列的一种顺序存储结构B、循环队列是队列的一种链式存储结构C、循环队列是非线性结构D、循环队列是一直逻辑结构2、下列叙述中正确的是A、栈是一种先进先出的线性表B、队列是一种后进先出的线性表C、栈和队列都是非线性结构D、以上三种说法都不对3、一棵二叉树共有25个节点,其中5个时子节点,那么度为1的节点数为A、4B、6C、10D、164、在下列模式中,能够给出数据库物理存储结构与物理存取方法的是A、内模式B、外模式C、概念模式D、逻辑模式5、在满足实体完整性约束的条件下A、一个关系中可以没有候选关键词B、一个关系中只能有一个候选关键词C、一个关系中必须有多个候选关键词D、一个关系中应该有一个或者多个候选关键词6、有三个关系R、S和T如下:则由关系R和S得到关系T的操作是A、自然连接B、并C、差D、交7、软件生命周期中的活动不包括A、软件维护B、市场调研C、软件测试D、需求分析8、下面不属于需求分析阶段任务的是A、确定软件系统的功能需求B、确定软件系统的系统的系能需求B、制定软件集成测试计划D、需求规格说明书审评9、在黑盒测试方式中,设计测试用例的主要根据是A、程序外部功能B、程序内部逻辑C、程序数据结构D、程序流程图10、在软件设计中不使用的工具是A、系统结构图B、程序流程图C、PAD图D、数据流图(DFD图)11、针对简单程序设计,以下叙述的实施步骤正确的是A、确定算法和数据结构、编码、调试、整理文档B、编码、确定算法和数据结构、调试、整理文档C、整理文档、确定算法和数据结构、编码、调试D、确定算法和数据结构、调试、编码、整理文档12、关于C语言中数的表示,以下叙述正确的是A、只有整型数在允许范围内能精确无误的表示,实型数会有误差B、只要在在允许范围内整型和实型都能精确表示C、只有实型数在允许范围内能精确无误的表示,整型数会有误差D、只有八进制表示的数在不会有误差13、以下关于算法叙述错误的是A、算法可以用伪代码、流程图等多种形式来描述B、一个正确的算法必须有输入C、一个正确的算法必须有输出D、用流程图可以描述的算法可以用任何一种计算机高级语言编写成程序代码14、以下叙述错误的是A、一个C程序可以包含多个不同名的函数B、一个C程序只能有一个主函数C、C程序在书写时,有严格的缩进要求,否则不能编译通过D、C程序的主函数必须用main作为函数名15、设有以下语句Char ch1,ch2, scanf(”%c%c”,&ch1,&ch2);若要为变量ch1和ch2分别输入字符A和B,正确的输入形式应该是A、A和B之间用逗号间隔B、A和B之间不能有任何间隔符C、A和B之间可以用回车间隔D、A和B之间用空格间隔16、以下选项中非法的字符常量是A、’\102’B、’\65’C、’\xff’D、’\019’17、有以下程序#include <sthio.h>Main(){Int A=0,B=0,C=0;C=(A-=A-5);(A=B,B+=4);Printf(“%d, %d, %d\n”,A,B,C)}程序运行后输出的结果是A 0,4,5B 4,4,5C 4,4,4D 0,0,018、设变量均已正确定义并且赋值,以下与其他三组输出结构不同的一组语句是A、x++; printf((“%d\n”,x);B、n=++x; printf((“%d\n”,n);C、++x; printf((“%d\n”,x);D、n=x++; printf((“%d\n”,n);19、以下选项中,能表示逻辑值“假”的是A 1B 0.000001C 0D 100.020、有以下程序#include <sthio.h>Main(){ int a;Scanf(“%d”,&a);If(a++<9) printf((“%d\n”,a);Else printf((“%d\n”,a--);}程序运行时键盘输入9<回车>,则输出的结构是A、10 B 11 C 9 D 821、有以下程序#include <sthio.h>Main(){int s=0,n;For (n=0;n<3;n<++){switch(s){ case 0;Case 1;s+=1;Case 2;s+=2;break;Case 3;s+3;Case 4;s+=4;}printf((“%d\n”,s);}}程序运行后的结果是A 1,2,4B 1,3,6C 3,10,14D 3,6,1022、若k是int类型变量,且有以下for语句For(k=-1;k<0;k++)printf(****\n”);下面关于语句执行情况的叙述中正确的是A、循环体执行一次B、循环体执行两次C、循环体一次也不执行D、构成无限循环23、有以下程序#include <sthio.h>Main(){char A,B,C;B=’1’;C=’A’For(A=0;A<6;A++){if(A%2) putchar(B+A);Else putchar(C+A);}}程序运行后输出的结果是A 1B3D5FB ABCDFEC A2C4E6D 12345624、设有如下定义语句Int m[ ]={2,4,6,8},*k=m;以下选项中,表达式的值为6的是A *(k+2)B k+2C *k+2D *k+=225、fun函数的功能是:通过键盘输入给x所指的整型数组所有元素赋值。

2012计算机二级C笔试真题及答案

2012计算机二级C笔试真题及答案

全国计算机等级考试二级C语言2012年3月试题及答案一、填空题1、C语言中基本的数据类型有:__________、__________、__________。

2、C语言中普通整型变量的类型说明符为__________,在内存中占__________字节,有符号普通整型的数据范围是__________。

3、整数-35在机内的补码表示为__________。

4、执行下列语句int a=8;a+=a-=a*a;后,a的值是__________。

5、有如下语句:char A[]={”I am a student”};该字符串的长度是__________,A[3]=__________。

6、符号”a”和’a’的区别是__________。

7、所谓“指针”就是__________。

“&”运算符的作用是__________。

“*”运算符的作用是__________。

8、有如下输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应是__________。

二、选择题1、设整型变量a为5,使b不为2的表达式是()。

A.b=a/2B.b=6-(--a)C.b=a%2D.b=a>3?2:12、为了避免嵌套的条件分支语句if-else的二义性,C语言规定:C程序中的else总是与()组成配对关系。

A.缩排位置相同的ifB.在其之前未配对的ifC.在其之前未配对的最近的ifD.同一行上的if3、以下程序的输出结果是()。

int x=10,y=10;printf(“%d%d\n”,x--,--y);A.1010B.99C.910D.1094、设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i个元素的地址为()。

A.P+i*2B.P+(i-1)*2C.P+(i-1)D.P+i5、选出下列标识符中不是合法的标识符的是()。

2012年3月全国计算机二级C语言真题解答(只有c2)--dayin

2012年3月全国计算机二级C语言真题解答(只有c2)--dayin

《软件开发基础》摸底考试答案及分析一、选择题(11)【答案】A)【解析】简单程序设计的步骤是首先要确定算法和数据结构,然后编码、调试,最后整理相关文档。

(12)【答案】A)【解析】实型数据在内存中存储的二进制位数是有限的,例如float型数据在内存中有24位二进制尾数。

而一个十进制实数转化为二进制实数时,其有效数字位数有可能会超过尾数的存储长度,从而导致有效数字丢失而产生误差。

(13)【答案】B)【解析】一个正确的算法可以有零个或者多个输入,必须有一个或者多个输出。

(14)【答案】C)【解析】一个C程序有且只有一个主函数main()。

一个C 程序可以包含多个不同名字的子函数。

C程序在书写时没有严格的缩进要求。

(15)【答案】B)【解析】考察C语言中输入格式,因为在输入格式中定义好了”%c%c”,其中没有任何符号,所以中间不能加任何字符,包含不能加逗号、回车和空格,因为这些也算是字符。

所以在输入时也不可以有任何间隔符号。

(16)【答案】D)【解析】字符常量有两种表示方法:一种是用该字符的图形符号,如'b' ,'y','*'。

另外还可以用字符的ASCII 码表示,即用反斜符(\)开头,后跟字符的ASCII码,这种方法也称为转义序列表示法,具体方法是:有两种形式:一种是用字符的八进制ASCII码,表示为:\odd.这里,ddd是八进制值(o可以省略)。

另一种使用字符的十六进制ASCII码值,表示为\0xhh或0Xhh这里hh是两位十六进制值。

本题中D)选项…\019'使用是八进制表示,不应该出现9,所以错误。

(17)【答案】A)【解析】考察C语言关于赋值的应用,首先执行a-=a-5,即a=a-(a-5),使得a的值为5,然后执行c=(a-=a-5),即将a的值5赋给变量c,使得c的值也为5。

然后执行下句逗号表达式中的a=b,把b的值0赋给a,此时a的值为0,然后执行b=b+4,使得b的值为4。

2007年4月全国计算机等级考试二级C 笔试真题及答案

2007年4月全国计算机等级考试二级C  笔试真题及答案
2007 年 4 月全国计算机等级考试二级 C++笔试试题及答案
一、选择题(每小题 2 分,共 70 分) 下列各题 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)对下列二叉树 进行前序遍历的结果为 A)DYBEAFCZX B)YDEBFZXCA C)ABDYECFXZ D)ABCDEFXYZ
(32)虚函数支持多态调用,一个基类的指针可以指向派生类的对象,而且通过这样的指 针调用虚函数时, , 被调用的是指针所指的实际对象的虚函数, 而非虚函数不支持多态调用。 有如下程序: #include using namespace std; class Base {

c全国计算机二级考试真题及答案

c全国计算机二级考试真题及答案

c全国计算机二级考试真题及答案一、选择题(每题1分,共20分)1. 在计算机中,二进制数1010转换为十进制数是多少?A. 8B. 10C. 12D. 14答案:B2. 下列哪个选项不是计算机病毒的特点?A. 破坏性B. 传染性C. 可预见性D. 隐蔽性答案:C3. 在计算机系统中,外存是指?A. 内存B. 硬盘C. 软盘D. 光盘答案:B4. 以下哪个选项不是计算机操作系统的功能?A. 进程管理B. 文件管理C. 设备管理D. 网络通信5. 在Word中,以下哪个功能可以调整文档中的文字大小?A. 字体B. 段落C. 样式D. 插入答案:A6. Excel中,以下哪个函数用于计算一组数值的平均值?A. SUMB. AVERAGEC. COUNTD. MAX答案:B7. 在PowerPoint中,以下哪个视图模式用于编辑幻灯片内容?A. 普通视图B. 幻灯片浏览视图C. 幻灯片放映视图D. 大纲视图答案:A8. 以下哪个选项不是计算机网络的拓扑结构?A. 星型B. 环型C. 总线型D. 树型答案:D9. 在数据库管理系统中,以下哪个操作用于查询数据?B. INSERTC. UPDATED. DELETE答案:A10. 以下哪个选项是计算机硬件的组成部分?A. 操作系统B. 编译器C. 中央处理器D. 编程语言答案:C11. 在计算机中,以下哪个单位用于表示存储容量?A. 字节(Byte)B. 位(Bit)C. 赫兹(Hz)D. 伏特(V)答案:A12. 以下哪个选项不是计算机病毒的传播途径?A. 电子邮件B. 移动存储设备C. 正规软件下载D. 网络下载答案:C13. 在计算机系统中,以下哪个选项不是输入设备?A. 键盘B. 鼠标C. 显示器D. 扫描仪答案:C14. 在Word中,以下哪个功能可以设置文档的页边距?A. 页面布局B. 插入C. 引用D. 视图答案:A15. Excel中,以下哪个函数用于计算一组数值的总和?A. AVERAGEB. SUMC. COUNTD. MAX答案:B16. 在PowerPoint中,以下哪个视图模式用于查看幻灯片的布局?A. 普通视图B. 幻灯片浏览视图C. 幻灯片放映视图D. 大纲视图答案:B17. 以下哪个选项是计算机网络的功能?A. 数据存储B. 数据处理C. 资源共享D. 信息发布答案:C18. 在数据库管理系统中,以下哪个操作用于插入数据?A. SELECTB. INSERTC. UPDATED. DELETE答案:B19. 以下哪个选项是计算机软件的组成部分?A. 操作系统B. 编译器C. 中央处理器D. 编程语言答案:A20. 在计算机中,以下哪个单位用于表示数据传输速率?A. 字节(Byte)B. 位(Bit)C. 赫兹(Hz)D. 伏特(V)答案:B结束语:以上是全国计算机二级考试的部分真题及答案,希望对各位考生的复习有所帮助。

全国计算机等级考试二级C语言真题2007年4月

全国计算机等级考试二级C语言真题2007年4月

全国计算机等级考试二级C语言真题2007年4月(总分:88.00,做题时间:90分钟)一、{{B}}选择题{{/B}}(总题数:50,分数:50.00)1.下列叙述中正确的是(分数:1.00)A.算法的效率只与问题的规模有关,而与数据的存储结构无关B.算法的时间复杂度是指执行算法所需要的计算工作量√C.数据的逻辑结构与存储结构是一一对应的D.算法的时间复杂度与空间复杂度一定相关解析:[解析] 根据时间复杂度和空间复杂度的定义可知,算法的时间复杂度与空间复杂度并不相关。

数据的逻辑结构就是数据元素之间的逻辑关系,它是从逻辑上描述数据元素之间关系的,是独立于计算机中的,数据的存储结构是研究数据元素和数据元素之间的关系如何在计算机中表示,它们并非一一对应。

算法的执行效率不仅与问题的规模有关,还与数据的存储结构有关。

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

3.下列叙述中正确的是(分数:1.00)A.软件测试的主要目的是发现程序中的错误√B.软件测试的主要目的是确定程序中错误的位置C.为了提高软件测试的效率,最好由程序编制者自己来完成软件测试的工作D.软件测试是证明软件没有错误解析:[解析] 软件测试是为了发现错误而执行程序的过程,且为了达到好的测试效果,应该由独立的第三方来构造测试,程序员应尽量避免检查自己的程序。

4.下面选项中不属于面向对象程序设计特征的是(分数:1.00)A.继承性B.多态性C.类比性√D.封装性解析:[解析] 面向对象程序设计的3个主要特征是:封装性、继承性和多态性。

5.下列对队列的叙述正确的是(分数:1.00)A.队列属于非线性表B.队列按“先进后出”原则组织数据C.队列在队尾删除数据D.队列按“先进先出”原则组织数据√解析:[解析] 队列是一种操作受限的线性表。

全国计算机等级考试(二级c )历年真题及答案

全国计算机等级考试(二级c  )历年真题及答案

全国计算机等级考试二级笔试试卷公共基础知识及C++语言程序设计(考试时间90分钟,满分100)分)一、选择题((1)~(35)每小题2分,共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。

(1) 下面叙述正确的是A)算法的执行效率与数据的存储结构无关B)算法的空间复杂度是指算法程序中指令(或语句)的条数C)算法的有穷性是指算法必须能在执行有限个步骤之后终止D)以上三种描述都不对(2)以下数据结构中不属于线性数据结构的是A)队列B)线性表C)二叉树D)栈(3)在一棵二叉树上第5层的结点数最多是A)8 B)16 C)32 D)15(4)下面描述中,符合结构化程序设计风格的是A)使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑B)模块只有一个入口,可以有多个出口C)注重提高程序的执行效率D)不使用goto语句(5)下面概念中,不属于面向对象方法的是A)对象B)继承C)类D)过程调用(6)在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是A)可行性分析B)需求分析C)详细设计D)程序编码(7)在软件开发中,下面任务不属于设计阶段的是A)数据结构设计B)给出系统模块结构C)定义模块算法D)定义需求并建立系统模型(8)数据库系统的核心是A)数据模型C)软件工具B)数据库管理系统D)数据库(9)下列叙述中正确的是A)数据库系统是一个独立的系统,不需要操作系统的支持B)数据库设计是指设计数据库管理系统C)数据库技术的根本目标是要解决数据共享的问题D)数据库系统中,数据的物理结构必须与逻辑结构一致(10)下列模式中,能够给出数据库物理存储结构与物理存取方法的是A)内模式B)外模式C)概念模式D)逻辑模式(11)关于面向对象的程序设计方法,下列说法正确的是A)“封装性”指的是将不同类型的相关数据组合在一起,作为一个整体进行处理B)“多态性”指的是对象的状态会根据运行时要求自动变化C)基类的私有成员在派生类的对象中不可访问,也不占内存空间D)在面向对象的程序设计中,结构化程序设计方法仍有着重要作用(12)判断字符型变量ch是否为大写英文字母,应使用表达式A ) ch>='A' & ch<='Z'B ) ch<='A' ||ch>='Z'C ) 'A'<=ch<='Z'D ) ch>='A' && ch<='Z'(13)已知下列语句中的x和y都是int型变量,其中错误的语句A ) x=y++;B ) x=++y;C ) (x+y)++;D ) ++x=y;(14)执行语句序列int n;cin >> n;switch(n){ case 1:case 2: cout << '1';case 3:case 4: cout << '2'; break;default: cout << '3';}时,若键盘输入1,则屏幕显示A)1 B)2 C)3 D)12(15)下列程序的输出结果是#include <iostream>using namespace std;int main(){char a[] = "Hello, World";char *ptr = a;while (*ptr){if (*ptr >= 'a' && *ptr <= 'z')cout << char(*ptr + 'A' -'a');else cout << *ptr;ptr++;}return 0;}A ) HELLO, WORLDB ) Hello, WorldC ) hELLO, wORLD D ) hello, world(16)已知:int m=10;在下列定义引用的语句中,正确的是A ) int &x=m;B )int y=&m;C )int &z;D ) int &t=&m;(17)下列函数原型声明中错误的是A ) void Fun(int x=0, int y=0);B ) void Fun(int x, int y);C ) void Fun(int x, int y=0);D ) void Fun(int x=0, int y);(18)已知程序中已经定义了函数test,其原型是int test(int, int, int);,则下列重载形式中正确的是A ) char test(int,int,int);B ) double test(int,int,double);C ) int test(int,int,int=0);D ) float test(int,int,float=3.5F);(19)有以下程序#include<iostream>int i = 0;void fun(){ {static int i = 1;std::cout<<i++<<',';}std::cout<<i<<',';}int main(){fun(); fun();return 0;}程序执行后的输出结果是A)1,2,1,2, B)1,2,2,3, C)2,0,3,0, D)1,0,2,0,(20)已知函数f的原型是:void f(int *a, long &b); 变量v1、v2的定义是:int v1;long v2;,正确的调用语句是A) f(v1, &v2); B) f(v1, v2);C) f(&v1, v2); D) f(&v1, &v2);(21)有以下类定义class MyClass{public:MyClass(){cout<<1;}};则执行语句MyClass a, b[2], *p[2];后,程序的输出结果是A)11 B)111 C)1111 D)11111(22)关于友元,下列说法错误的是A)如果类A是类B的友元,那么类B也是类A的友元B)如果函数fun()被说明为类A的友元,那么在fun()中可以访问类A的私有成员C)友元关系不能被继承D)如果类A是类B的友元,那么类A的所有成员函数都是类B的友元(23)关于动态存储分配,下列说法正确的是A)new和delete是C++语言中专门用于动态内存分配和释放的函数B)动态分配的内存空间也可以被初始化C)当系统内存不够时,会自动回收不再使用的内存单元,因此程序中不必用delete释放内存空间D)当动态分配内存失败时,系统会立刻崩溃,因此一定要慎用new(24)有以下程序#include<iostream>using namespace std;class MyClass{public:MyClass(int n){number = n;}//拷贝构造函数MyClass(MyClass &other){ number=other.number;}~MyClass(){}private:int number;};MyClass fun(MyClass p){MyClass temp(p);return temp;}int main(){MyClass obj1(10), obj2(0);MyClass obj3(obj1);obj2=fun(obj3);return 0;}程序执行时,MyClass类的拷贝构造函数被调用的次数是A)5 B)4 C)3 D)2(25)在公有派生的情况下,派生类中定义的成员函数只能访问原基类的A)公有成员和私有成员B)私有成员和保护成员C)公有成员和保护成员D)私有成员、保护成员和公有成员(26)在C++中用来实现运行时多态性的是A)重载函数B)析构函数C)构造函数D)虚函数(27)一个类可以同时继承多个类,称为多继承。

2012年3月国家二级(C++)笔试真题试卷(题后含答案及解析)

2012年3月国家二级(C++)笔试真题试卷(题后含答案及解析)

2012年3月国家二级(C++)笔试真题试卷(题后含答案及解析) 题型有:1. 选择题 2. 填空题选择题(每小题2分,共70分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。

1.假设线性表的长度为n,则在最坏情况下,冒泡排序需要的比较次数为A.log2nB.n2C.O(n1.5)D.n(n-1)/2正确答案:D解析:假设线性表的长度为n,则在最坏情况下,冒泡排序要经过n/2遍的从前往后的扫描和n/2遍的从后往前的扫描,需要的比较次数为n(n-1)/2。

2.算法分析的目的是A.找出数据结构的合理性B.找出算法中输入和输出之间的关系C.分析算法的易懂性和可靠性D.分析算法的效率以求改进正确答案:D解析:算法分析是指对一个算法的运行时间和占用空间做定量的分析,一般计算出相应的数量级,常用时间复杂度和空间复杂度表示。

分析算法的目的就是要降低算法的时间复杂度和空间复杂度,提高算法的执行效率。

3.线性表L=(a1,a2,a3,…ai,…an),下列说法正确的是A.每个元素都有一个直接前件和直接后件B.线性表中至少要有一个元素C.表中诸元素的排列顺序必须是由小到大或由大到小D.除第一个元素和最后一个元素外,其余每个元素都有一个且只有一个直接前件和直接后件正确答案:D解析:线性表可以为空表;第一个元素没有直接前件,最后一个元素没有直接后件;线性表的定义中,元素的排列并没有规定大小顺序。

4.在单链表中,增加头结点的目的是A.方便运算的实现B.使单链表至少有一个结点C.标识表结点中首结点的位置D.说明单链表是线性表的链式存储实现正确答案:A解析:头结点不仅标识了表中首结点的位置,而且根据单链表(包含头结点)的结构,只要掌握了表头,就能够访问整个链表,因此增加头结点目的是为了便于运算的实现。

5.软件工程的出现是由于A.程序设计方法学的影响B.软件产业化的需要C.软件危机的出现D.计算机的发展正确答案:C解析:软件工程概念的出现源自于软件危机。

2012年3月国家二级(C++)笔试真题试卷(题后含答案及解析)

2012年3月国家二级(C++)笔试真题试卷(题后含答案及解析)

2012年3月国家二级(C++)笔试真题试卷(题后含答案及解析) 题型有:1. 选择题 2. 填空题选择题(每小题2分,共70分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。

1.假设线性表的长度为n,则在最坏情况下,冒泡排序需要的比较次数为A.log2nB.n2C.O(n1.5)D.n(n-1)/2正确答案:D解析:假设线性表的长度为n,则在最坏情况下,冒泡排序要经过n/2遍的从前往后的扫描和n/2遍的从后往前的扫描,需要的比较次数为n(n-1)/2。

2.算法分析的目的是A.找出数据结构的合理性B.找出算法中输入和输出之间的关系C.分析算法的易懂性和可靠性D.分析算法的效率以求改进正确答案:D解析:算法分析是指对一个算法的运行时间和占用空间做定量的分析,一般计算出相应的数量级,常用时间复杂度和空间复杂度表示。

分析算法的目的就是要降低算法的时间复杂度和空间复杂度,提高算法的执行效率。

3.线性表L=(a1,a2,a3,…ai,…an),下列说法正确的是A.每个元素都有一个直接前件和直接后件B.线性表中至少要有一个元素C.表中诸元素的排列顺序必须是由小到大或由大到小D.除第一个元素和最后一个元素外,其余每个元素都有一个且只有一个直接前件和直接后件正确答案:D解析:线性表可以为空表;第一个元素没有直接前件,最后一个元素没有直接后件;线性表的定义中,元素的排列并没有规定大小顺序。

4.在单链表中,增加头结点的目的是A.方便运算的实现B.使单链表至少有一个结点C.标识表结点中首结点的位置D.说明单链表是线性表的链式存储实现正确答案:A解析:头结点不仅标识了表中首结点的位置,而且根据单链表(包含头结点)的结构,只要掌握了表头,就能够访问整个链表,因此增加头结点目的是为了便于运算的实现。

5.软件工程的出现是由于A.程序设计方法学的影响B.软件产业化的需要C.软件危机的出现D.计算机的发展正确答案:C解析:软件工程概念的出现源自于软件危机。

c全国计算机二级考试真题及答案

c全国计算机二级考试真题及答案

c全国计算机二级考试真题及答案一、选择题(每题2分,共20分)1. 在计算机系统中,通常所说的"计算机"指的是()。

A. 计算机硬件B. 计算机软件C. 计算机硬件和软件D. 计算机及其外部设备答案:C2. 下列选项中,不属于计算机硬件的是()。

A. 中央处理器B. 操作系统C. 内存D. 硬盘答案:B3. 在计算机中,1GB等于多少MB?()A. 1024B. 512C. 1000D. 2000答案:A4. 下列关于计算机病毒的描述中,错误的是()。

A. 计算机病毒具有传染性B. 计算机病毒具有破坏性C. 计算机病毒是一段程序代码D. 计算机病毒无法预防答案:D5. 在Word文档中,要将文档中所有的“计算机”替换为“电脑”,应使用哪个功能?()A. 查找B. 替换C. 格式刷D. 宏答案:B6. Excel中,要对一列数据进行求和,可以使用哪个函数?()A. SUMB. AVERAGEC. MAXD. MIN答案:A7. 在PowerPoint中,要将一张幻灯片复制到另一张幻灯片,应使用哪个功能?()A. 复制粘贴B. 格式刷C. 插入新幻灯片D. 移动答案:A8. 下列关于计算机网络的描述中,正确的是()。

A. 计算机网络是由多台计算机连接而成B. 计算机网络只能用于数据传输C. 计算机网络必须使用特定的硬件设备D. 计算机网络不能用于资源共享答案:A9. 在数据库管理系统中,用于查询数据的命令是()。

A. INSERTB. UPDATEC. DELETED. SELECT答案:D10. 以下哪个选项是计算机操作系统的主要功能?()A. 数据处理B. 硬件管理C. 网络通信D. 信息安全答案:B二、填空题(每题2分,共20分)1. 在计算机系统中,CPU是______的缩写,它负责执行程序中的指令。

答案:中央处理器2. 在计算机存储设备中,______的存储速度通常比硬盘快。

全国计算机等级考试二级C语言机试真题2012年03月

全国计算机等级考试二级C语言机试真题2012年03月

全国计算机等级考试二级C语言机试真题2012年03月(总分:100.00,做题时间:90分钟)一、程序填空题(总题数:1,分数:30.00)1.下列给定程序中,函数fun的功能是:将形参a所指数组中的前半部分元素中的值与后半部分元素中的值对换。

形参n中存放数组中数据的个数,若n为奇数,则中间的元素不动。

例如,若a所指数组中的数据为:1, 2, 3, 4, 5, 6, 7, 8, 9, 则调换后为:6, 7, 8, 9, 5, 1, 2, 3, 4。

请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。

注意:部分源程序给出如下。

不得增行或删行,也不得更改程序的结构!试题程序:#include <stdio.h>#define N 9void fun(int a[], int n)int i, t, P;P=(n%2==0)? n/2:n/2+______;for(i=0; i<n/2; i++)t=a[i];a[i]=a[P+______;______=t;main()int b[N]=1, 2, 3, 4, 5, 6, 7, 8, 9, i;printf("/nThe original data: /n");for(i=0; i<N; i ++)printf("% 4d", b[i]);printf("/n");fun(b, N);printf("/nThe data after moving: /n");for(i=0; i<N; i ++)printf("% 4d", b[i]);printf("/n");(分数:30.00)填空项1:__________________ (正确答案:(1)1 (2)i (3)a[p+i]或*(a+p+i))解析:[考点] 填空1:该处是判断数组元素的个数是奇数还是偶数,为奇数时要使当前位置加1,使p指向数组中间位置。

2012年3月全国计算机二级C++考试真题及答案

2012年3月全国计算机二级C++考试真题及答案

2012年3月全国计算机二级C++考试真题及答案一、选择题(每小题2分,共70分)(1)下列叙述中正确的是 AA)循环队列是队列的一种链式存储结构B)循环队列是一种逻辑结构C)循环队列是队列的一种顺序存储结构D)循环队列是非线性结构(2)下列叙述中正确的是 DA)栈是一种先进先出的线性表 B)队列是一种后进先出的线性表C)栈与队列都是非线性结构D)以上三种说法都不对(3)一棵二叉树共有25个结点,其中5个是叶子结点,则度为1的结点数为 AA)4 B)16 C)10 D)6(4)在下列模式中,能够给出数据库物理存储结构与物理存取方法的是 BA)逻辑模式B)概念模式C)内模式D)外模式(5)在满足实体完整性约束的条件下 AA)一个关系中可以没有候选关键字B)一个关系中只能有一个候选关键字C)一个关系中必须有多个候选关键字D)一个关系中应该有一个或多个候选关键字(6)有三个关系R、S和T如下: D则由关系R和S得到关系T的操作是A)并B)差C)交D)自然连接(7)软件生命周期的活动中不包括 AA)软件维护B)需求分析C)市场调研D)软件测试(8)下面不属于需求分析阶段任务的是 DA)确定软件系统的性能需求B)确定软件系统的功能需求C)制定软件集成测试计划D)需求规格说明书评审(9)在黑盒测试方法中,设计测试用例的主要根据是 DA)程序外部功能B)程序数据结构C)程序流程图D)程序内部结构(10)在软件设计中不使用的工具是 AA)系统结构图B)程序流程图 C)PAD图D)数据流图(DFD图)(11)若一个函数的原型为"int * Xfun1(int x,int& y,char z);",则该函数的返回值类型为BA)int *B)intC)int& D)char(12)若AA为一个类,a为该类的私有整型数据成员,getA()为该类的一个非静态公有成员函数,功能是返回a的值。

2012年3月计算机二级C语言笔试真题及答案详解-推荐下载

2012年3月计算机二级C语言笔试真题及答案详解-推荐下载

C、10
B、循环队列是队列的一种链式存储结构
D、循环队列是一直逻辑结构
B、队列是一种后进先出的线性表
D、以上三种说法都不对
C、软件测试
B、确定软件系统的系统的系能需求
D、需求规格说明书审评
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术通关,1系电过,力管根保线据护敷生高设产中技工资术艺料0不高试仅中卷可资配以料置解试技决卷术吊要是顶求指层,机配对组置电在不气进规设行范备继高进电中行保资空护料载高试与中卷带资问负料题荷试2下卷2,高总而中体且资配可料置保试时障卷,各调需类控要管试在路验最习;大题对限到设度位备内。进来在行确管调保路整机敷使组设其高过在中程正资1常料中工试,况卷要下安加与全强过,看度并22工且22作尽22下可22都能22可地护以缩1关正小于常故管工障路作高高;中中对资资于料料继试试电卷卷保破连护坏接进范管行围口整,处核或理对者高定对中值某资,些料审异试核常卷与高弯校中扁对资度图料固纸试定,卷盒编工位写况置复进.杂行保设自护备动层与处防装理腐置,跨高尤接中其地资要线料避弯试免曲卷错半调误径试高标方中高案资等,料,编试要5写、卷求重电保技要气护术设设装交备备置底4高调、动。中试电作管资高气,线料中课并敷3试资件且、设卷料中拒管技试试调绝路术验卷试动敷中方技作设包案术,技含以来术线及避槽系免、统不管启必架动要等方高多案中项;资方对料式整试,套卷为启突解动然决过停高程机中中。语高因文中此电资,气料电课试力件卷高中电中管气资壁设料薄备试、进卷接行保口调护不试装严工置等作调问并试题且技,进术合行,理过要利关求用运电管行力线高保敷中护设资装技料置术试做。卷到线技准缆术确敷指灵设导活原。。则对对:于于在调差分试动线过保盒程护处中装,高置当中高不资中同料资电试料压卷试回技卷路术调交问试叉题技时,术,作是应为指采调发用试电金人机属员一隔,变板需压进要器行在组隔事在开前发处掌生理握内;图部同纸故一资障线料时槽、,内设需,备要强制进电造行回厂外路家部须出电同具源时高高切中中断资资习料料题试试电卷卷源试切,验除线报从缆告而敷与采设相用完关高毕技中,术资要资料进料试行,卷检并主查且要和了保检解护测现装处场置理设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。

全国计算机c二级考试真题及答案

全国计算机c二级考试真题及答案

全国计算机c二级考试真题及答案一、选择题(每题2分,共20分)1. 在计算机中,二进制数1011转换为十进制数是多少?A. 8B. 9C. 10D. 11答案:D2. 下列哪个选项不是计算机病毒的特点?A. 破坏性B. 传染性C. 免疫性D. 潜伏性答案:C3. 在关系数据库中,用于查询数据的语句是?A. INSERTB. UPDATEC. SELECTD. DELETE答案:C4. 在HTML中,用于定义最重要的标题的标签是?A. `<h1>`B. `<h2>`C. `<h3>`D. `<h4>`5. 下列哪个选项是面向对象编程语言的特点?A. 过程抽象B. 数据封装C. 函数重载D. 过程重用答案:B6. 在计算机中,1KB等于多少字节?A. 1024B. 512C. 256D. 128答案:A7. 下列哪个选项是计算机操作系统的主要功能?A. 进程管理B. 文件管理C. 设备管理D. 所有选项答案:D8. 在C语言中,用于定义变量的关键字是?A. varB. letC. intD. define答案:C9. 在计算机网络中,TCP/IP协议的哪一层负责路由选择?B. 传输层C. 网络层D. 数据链路层答案:C10. 在Excel中,哪个函数用于计算一组数据的平均值?A. SUMB. AVERAGEC. COUNTD. MAX答案:B二、填空题(每题2分,共20分)1. 在计算机中,存储容量的基本单位是______。

答案:字节2. 计算机病毒的主要传播途径包括______、电子邮件和网络下载。

答案:软盘3. 在数据库中,用于创建新表的SQL语句是______。

答案:CREATE TABLE4. 在HTML中,用于插入图片的标签是______。

答案:<img>5. 面向对象编程中的三大特性包括封装、继承和______。

答案:多态6. 在计算机中,1MB等于______KB。

【全国计算机等级考试】2007年4月二级C真卷

【全国计算机等级考试】2007年4月二级C真卷

二级 C 语言程序设计试卷 第 3 页(共 12 页)
{ for(j=i;j<4;j+ +) printf("%d*%d=%d ",i,j,i*j);
printf("\n");
}
} 程序运行后的输出结果是(
)。
A)1*1=1 1*2=2 1*3=3
B)1*1=1 1*2=2 1*3=3
2*1=2 2*2=4
else y+ +;
else x+ +;
(21)下列选项中,当 x 为大于 l 的奇数时,值为 0 的表达式是(
A)x%2= =1
B)x/2
C)x%2! =0
D)x%2= =0
)。
(22)下列叙述中正确的是( )。 A)break 语句只能用于 switch 语句体中 B)continue 语句的作用是使程序的执行流程跳出包含它的所有循环
C)为了提高软件测试的效率,最好由程序编制者自己来完成软件测试的工作
D)软件测试是证明软件没有错误
(4)下列选项中不属于面向对象程序设计特征的是( )。
A)继承性
B)多态性
C)类比性
D)封装性
(5)下列对队列的叙述正确的是( )。
A)队列属于非线性表
B)队列按“先进后出”原则组织数据
C)队列在队尾删除数据
typedef struct{intb,p;}A; void f(A c) /* 注意:c 是结构变量名 */
{ int j;
c.b+ =1.c.p+ =2.
}
main( )
{ int i;
A a={1,2};
f(a);
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2007年4月计算机等级考试C++考试及答案一、选择题(每小题2分,共70分)下列各题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)对下列二叉树A)DYBEAFCZX B)YDEBFZXCA C)ABDYECFXZ D)ABCDEFXYZ(7)某二叉树中有n个度为2的结点则该二叉树中的叶子结点数为A)n+1 B )n-1 C)2n D)n/2(8)在下列关系运算中,不改变关系表中的属性个数但能减少元组个数的是。

A)井B)交C)投影D)笛卡儿乘积(9)在E-R图中,用来表示实体之间是联系的图形是。

A)矩形B)椭圆形C)菱形D)平行四边形(10)下列叙述中错误的是。

A)在数据库系统中,数据的物理结构必须与逻辑结构一致. B)数据库技术的根本目标是要解决数据的共享问题C)数据库设计是指在已有数据库管理系统的基础上建立数据库D)数据库系统需要操作系统的支持(11)为了取代C中带参数的宏,在C++中使用A)重载函数B)内联函数C)递归函数D)友元函数(12)下列关于类定义的说法中,正确的是A)类定义中包括数据成员和函数成员的声明B)类成员的缺省访问权限是保护的C)数据成员必须被声明为私有的D)成员函数只能在类体外进行定义(13)下列关于派生类构造函数和析构函数的说法中,错误的是A)派生类的构造函数会隐含调用基类的构造函数B)如果基类中没有缺省构造函数,那么派生类必须定义构造函数C)在建立派生类对象时,先调用基类的构造函数,再调用派生类的构造函数D)在销毁派生类对象时,先调用基类的析构函数,再调用派生类的析构函数(14)通过运算符重载,可以改变运算符原有的A)操作数类型B)操作数个数C)优先级D)结合性(15)有如下函数模板:template <class T> T souare(T x)(retumx * x ;)基中T是A)函数形参B)函数实参C)模板形参D)模板实参(16)使用输入输出操作符setw,可以控制A)输出精度B)输出宽度C)对齐方式D)填充字符(17)下列字符串中,不可以用作C++标识符的是A)y_2006 B)____TEST__H C)Retum D)switch(18)字面常量42、4.2、42L的数据类型分别是A)long、double int B)long、float、intC)int、double、long D)int、float、long(19)执行下列语句段后,输出字符“*”的个数是for(int i =50;I>1;—i )cout<<”*”A)48 B)49 C)50 D)51(20)有如下程序段inti =0, j=1;int&r=i ; // ①r =j; //②int*p=&i ; //③*p=&r ; //④基中会产生编译错误的语句是A)④B)③C)②D)①(21)有如下函数定义:void func (int a,int&b){a++; b++;}若执行代码段:intx=0 ,y=1func(x,y);则变量x和y值分别是A)0和1 B)1和1 C)0和2 D)1和2(22)有如下程序:#include<iostream>using namespace st d;class A{publicstatic int a;void init(){a=1;}A(int a=2){init();a++;}};int A:;a=0A obj;Int main(){cout<<obj.a;retum0;}运行时输出的结果是A)0 B)1 C)2 D)3(23)下列有关继承和派生的叙述中,正确的是A)派生类不能访问基类的保护成员B)作为虚基类的类不能被实例化C)派生类应当向基类的构造函数传递参数D)虚函数必须在派生类中重新实现(24)下列运算符中,不能被重载的是A)&&B)!= C). D)++(25)下列函数模板的定义中,合法的是A)template<typename T> Tabs(T x){return x <0 –x: x;} B)template class <T>Tabs(Tx){retumx<0 -x;x;}C)template T<class T.>abs(T x){retum x<0 -x;x;}D)template T abs(T x){returm x<0 -x;x;}(26)在语句cin>>data;中,cin是A)C++的关键字B)类名C)对象名D)函数名(27)有如下程序:#include<iostream>using namespace st d;class test {private:int a;public:test(){cout<<”constructor”<<endl;}test(int a){cout<<a<<endl;}test(const test&_test){a=_testa;cout<<”copy constructor”<<endl;}test(){cout<<”destructor”<<endl;}};int main()}test A(3)return0;运行时输出的结果是A)3B)constructordestruclorC)copy constructorD)3dstructor destruclor(28)若有如下类声明class My Class {public:MyClass(){cout<<1;}};执行下列语句MyClass a,b[2],*P[2];以后,程序的输出结果是A)11 B)111 C)1111 D11111(29)有如下程序:#include<iostream>using namespace st d;class point {public:static int number;public:point(){number++;~point(){number-;}};imt point::number=0;void main(){point*ptr;printA,B;{point*ptr_point=new point{3};ptr=ptr_point;}pointC;cout<<point::number<<endl;delete[]ptr;}运行时输出的结果是A)3 B)4 C)6 D)7(30)如果不使用多态机制,那么通过基类的指针虽然可以指向派生类对象,但是只能访问从基类继承的成员,有如下程序,没有使用多态机制。

#include<iostream>using namespace st d;class Base{int a,b;public:Bace(int x ,int y){ a=x; b=y;}Void show(){ cout<<a<<’,’<<b<<endl;}}clsaa Derived:public Base {int c ,d;public:Derived(int x,int y,int z,int m):Base(x,y){c=z; d=m;} Void show(){ cout<<c<<’,’d<<endl;}};int main(){Base B1(50,50),*pb;Derived DI(10,20,30,40);Pb=&D1;Pb->show();Return 0;}运行时输出的结果是A)10,20 B)30,40 C)20,30 D)50,50(31)有如下程序:#include<iostream>using namespace st d;class A{public;A(int i ){x= i ;}Void sispa(){cout<<x<<’,’;}Private:int x ;};class B;publicA{public;B(int i):A(i +10){x =i ;}voud dispb(){dispa();cout<<x<,endl;}Private:Int x;};int main(){B b(2);b.dispb()retum 0:}运行时输出的结果是A)10,2 B)12,10 C)12,2 D)2,2(32)虚函数支持多态调用,一个基类的指针可以指向派生类的对象,而且通过这样的指针调用虚函数时,,被调用的是指针所指的实际对象的虚函数,而非虚函数不支持多态调用。

有如下程序:#include<iostream>using namespace st d;class Base{public:virtual void f(){cout<<”f0+”;}void g(){cout<<”g0+”;}};class Derived:public Base{public:void f(){cout<<”f+”;}void g(){cout<<”g+”;}};int main(){Derived d;Base*p=&d;p->f(); p->g();return 0:}运行时输出的结果是A)f+g+ B)f0+g+ C)f+g0+ D)f0+g0+(33)下面程序中对一维坐标点类Point进行运算符重载#include<iostream>using namespace st d;class point {public:point (int vaI){x=val;}point&operator++(){x++;retum*this;}print operator++(int){point old=*this,++(*this);retum old;}int GetX()const {retum x;}private:int x;};int main(){point a(10);cout<<(++a).GetX();cout<<a++.GetX();retum();}编译和运行情况是A)运行时输出1011B)运行时输出1111C)运行时输出1112D)编译有错(34)有如下程序:#include<iostream>using namespace st d;int main(){char str[100],*p;cout<<”please input a string:”;cin>>str;p=str;for(int i =0;*p!=”\0”;p++, i ++);cout<< i <<endl;retum 0;}运行这个程序时,若输入字符串为abcdefg abcd则输出结果是A)7 B)12 C)13 D)100(35)有如下程序::#include<iostream>using namespace st d:class Sample{friend long fun (Sample s);public:Sample (long a ){x=a;}Private:long x;};long fun (Sample s){if(s.x<2)retum 1;retum s.x*fun(Sample(s.x-a));}int main(){int sum=0for(int i =0; i <6; i ++){ sum+=fun(Sample(i );)} cout<<sum;retum 0;}运行时输出的结果是A)120 B)16 C)154 D)34二、填空题(每空2分,共30分)请将每一个空的正确答案写在答题卡【1】~【15】序号的横线上,答在试卷上不得分。

相关文档
最新文档