09年全国计算机二级C++笔试练习习题.docx
- 文档编号:29209839
- 上传时间:2023-07-21
- 格式:DOCX
- 页数:70
- 大小:505.95KB
09年全国计算机二级C++笔试练习习题.docx
《09年全国计算机二级C++笔试练习习题.docx》由会员分享,可在线阅读,更多相关《09年全国计算机二级C++笔试练习习题.docx(70页珍藏版)》请在冰豆网上搜索。
09年全国计算机二级C++笔试练习习题
09年全国计算机二级C++笔试练习习题
1
下列各题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)带链的队列
2
下列各题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)用E—R图能够表示实体集之间一对一的联系、一对多的联系、多对多的联系
B)用E—R图只能表示实体集之间一对一的联系
C)用E—R图只能表示实体集之间一对多的联系
D)用E—R图表示的概念数据模型只能转换为关系数据模型来
3
(1)以下对C/C++语言函数的描述中,正确的是
A)C程序由一个或一个以上的函数组成
B)C函数既可以嵌套定义又可以递归调用
C)函数必须有返回值,否则不能使用函数
D)C++程序中调用关系的所有函数必须放在同一个程序文件中
(2)以下正确的描述为
A)每个C++语言程序必须在开头用预处理命令:
B)预处理命令必须位于C++源程序的首部
C)在C++语言中预处理命令都以”#”开头
D)C++语言的预处理命令只能实现宏定义和条件编译的功能
(3)下列叙述中正确的是
A)全局变量的作用域一定比局部变量的作用域范围大
B)静态类别变量的生存期贯穿于整个程序的运行期间
C)函数的形参都属于全局变量
D)未在定义语句中赋初值的auto变量和static变量的初值都是随机值
(4)以下选项中合法的用户标识符是
A)long
B)_2Test
C)3Dmax
D)A.dat
(5)已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示的字符常量"\101"是
A)字符A
B)字符a
C)字符e
D)非法的常量
4
下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。
(1)下面对宏定义的描述中不正确的是
A)宏不存在类型问题,宏名无类型,它的参数也无类型
B)宏替换不占用运行时间
C)宏替换时先求出实参表达式的值,然后代入形参数运算求值
D)其实,宏替换只不过是字符替代而已
(2)下列不是循环语句的是
A)while语句
B)do…while语句
C)for语句
D)if…else语句
(3)如果a=l,b=2,c=3,d=4,则表达式a
a:
c c: d的值为 A)1 B)2 C)3 D)4 (4)有关构造函数的说法中错误的是 A)构造函数名字和类的名字一样 B)构造函数在说明类变量时自动执行 C)构造函数无任何函数类型 D)构造函数有且只有一个 (5)以下有关析构函数的叙述不正确的是 A)一个类只能定义一个析构函数 B)析构函数和构造函数一样可以有形参 C)析构函数不允许有返回值 D)析构函数名前必须冠有符号“~“ 5 下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。 (1)以下关于静态成员变量的叙述不正确的是 A)静态成员变量为类的所有对象所公有 B)静态成员变量可以在类内任何位置上声明 C)静态成员变量的赋初值必须放在类外 D)定义静态成员变量时必须赋初值 (2)若执行下面的程序时,从键盘上输入3和4,则输出结果是 main() { A)14 B)16 C)18 D)20 (3)以下程序不用第三个变量实现将两个数进行对调的操作,划线处应为 A)a+b B)a-b C)b*a D)a/b (4)如下程序的输出结果是 A)0.000000 B)0.250000 C)0.500000 D)1.000000 (5)如下程序的输出结果是 A)0 B)1 C)2 D)3 6 下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。 (1)有以下程序段 intk=O: while(k=1)k++; while循环执行的次数是 A)无限次 B)有语法错,不能执行 C)一次也不执行 D)执行1次 (2)以下程序的输出结果是 main() A)1234 B)123 C)12 D)1 (3)设有数组定义: chararray[]=”China”;贝4数组array所占的空间为 A)4个字节 B)5个字节 C)6个字节 D)7个字节 (4)以下程序的输出结果是 A)20 B)24 C)25 D)15 (5)有以下程序 执行后输出结果是 A)7 B)6 C)8 D)无确定值 7 (1)有以下程序 执行后输出结果是 A)654321 B)432156 C)456123 D)123456 (2)有以下程序 执行后输出结果是 A)58 B)56 C)45 D)2d (3)有以下程序 执行后输出结果是 A)16 B)12 C)28 D)2l (4)下列语句中,输出与众不同的是 (5)阅读以下程序 A)对象infile只能用于文件入操作 B)对象outfile只能用于文件输出操作 C)对象iofile在文件关闭后,不能再打开另一个文件 D)对象iofile可以打开一个文件同时进行输入和输出来 8 填空题 (1)对具有n个结点的线性表进行顺序查找,最坏情况下需要的比较次数为【l】。 (2)设有下列二叉树: 对此二叉树中序遍历的结果为【2】。 (3)在面向对象的程序设计中,用来请求对象执行某一处理或回答某些信息的要求称为【3】。 (4)程序的测试方法分为静态分析和动态分析。 使用测试用例在计算机上运行程序,使程序在运行过程中暴露错误,这种方法称为【4】。 (5)在关系模型中,一个关系的属性名表称为【5】.也就是二维表的表框架,相当于记录型。 (6)执行”cout< (7)十进制28和3.26的类型分别是【7】。 (8)假定一个二维数组的定义为”inta[3][5];”,则该数组所含元素的个数为15,所占的字储空间的字节数为【8】。 (9)假定要动态分配一个类型为Worker的具有n个元素的数组,并由r指向这个动态数组,则使用的语句是【9】。 (1O)将关键字const写在函数头之后,函数体之前,说明该函数是一个const成员函数。 比时const不是指定函数的返回值,而是修饰【10】指针。 (11)若要在程序文件中进行标准输入输出操作,则必须在开始的#include命令中使用头文件【11】。 (12)下列程序的输出结果为【12】。 (13)根据注释内容在空白处填写适当内容。 (14)下列程序的执行结果是【14】。 (15)下列类的构造函数不能通过编译,正确的构造函数应该是【15】。 9 选择题,下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。 (1)下列叙述中正确的是 A)线性表是线性结构 B)栈与队列是非线性结构 C)线性链表是非线性结构 D)二叉树是线性结构 (2)下列数据结构中,插入时不需要移动其他元素的是 A)有序线性表 B)无序线性表 C)栈和队列 D)以上三种都不是 (3)数据的存储结构是指 A)数据所占的存储空间量 B)数据的逻辑结构在计算机中的表示 C)数据在计算机中的顺序存储方式 D)存储在外存中的数据 (4)一棵二叉树中共有70个叶子结点与80个度为1的结点,则该二叉树中的总结点数为 A)221 B)219 C)231 D)229 (5)下列关于栈的叙述中正确的是 A)只能在栈顶插入元素,而不能删除元素 B)可以插入元素,也能删除元素 C)插入元素时需要移动栈中所有的元素 D)删除元素时需要移动栈中所有的元素 10 (1)下列叙述中正确的是 A)软件测试的目的是证明程序是否正确 B)软件测试的目的是尽可能多的发现程序中的错误 C)软件测试的目的是使程序运行结果正确 D)软件测试的目的是使程序符合结构化原则 (2)下列叙述中正确的是 A)在面向对象的程序设计中,各个对象之间应相对独立,相互依赖性小 B)在面向对象的程序设计中,各个对象之间应具有密切的联系 C)在面向对象的程序设计中,各个对象应都是公用的 D)上述三种说法都不对 (3)下列叙述中正确的是 A)数据库设计是指设计数据库系统 B)数据库设计是指设计数据库管理系统 C)数据库设计是指在已有数据库管理系统的基础上建立数据库 D)以上三种说法都不对 (4)设有二元关系R和三元关系S,下列运算中合法的是 A)RnS B)RUS C)R—S D)R×S (5)下列关于E—R图的描述中正确的是 A)E—R图只能表示实体之间的联系 B)E—R图只能表示实体和实体之间的联系 C)E—R图只能表示实体和属性 D)E—R图能表示实体、属性和实体之间的联系 11 (1)以下叙述中不正确的是 A)在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参 B)在C的函数中,最好使用全局变量 C)在C中,形式参数只是局限于所在函数 D)在C中,函数名的存储类别为外部 (2)C++语言中函数返回值的类型决定于 A)return语句中的表达式类型 B)调用函数的主调函数类型 C)调用函数时r临时类型 D)定义函数时所指定的函数类型 (3)若要说明一个类型名STP,使得STPs;等价于char*s;,以下选项中正确的是 A)typedefSTPchara*s; B)typedefa*charSTP: C)typedefSTPfi*char; D)typedefchara*TP: (4)以下非法的赋值语句是 A)n=(i=2,++i); B)j++ C)++(i+1) D)x=j>0; (5)C十+语言中在C语言的基础上增加的特性不包括 A)结构 B)引用 C)类和对象 D)静态成员函数 12 选择题,下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。 (1)对于下列语句,正确的判断是for(x=O,y=O;(y! =123)&&(x<4);x++); A)是无限循环 B)循环次数不定 C)最多执行4次 D)最多执行3次 (2)若有说明: inta[3][4];则对a数组元素的非法引用是 A)a[0][2*1] B)a[1][3] C)a[4-2][0] D)a[O][4] (3)设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a十h/b的值是 A)6.500000 B)6 C)5.500000 D)6.000000 (4)下面赋值语句中正确的是 A)a=7+b+c=a+7: B)a=7+b++=a+7: C)a=7+b,b++,a+7; D)a=7+b,c=a+7; (5)语句cout<<(a=2)&&(h=-2);的输出结果是 A)无输出 B)编译错误 C)-1 D)1 13 (1)在下面的函数声明中,存在着语法错误的是 A)voidBC(inta,int) B)voidBd(int,int) C)VOid(1BE(int,int=5) D)intBF(Intx;inty) (2)下列关于指针的操作中.错误的是 A)两个同类型的指针可以进行比较运算 B)可以用一个空指针赋给某个指针 C)一个指针可以加上两个整数之差 D)两个同类型的指针可以相加 (3)静态成员函数不能说明为 A)整型函数 B)常函数 C)虚函数 D)内联函数 (4)静态成员函数没有 A)返回值 B)this指针 C)指针参数 D)返回类型(25)以下程序的输出结果为 (5)以下程序的输出结果为 A)27.000000 B)27.500000 C)28.000000 D)28.500000 14 (1)执行下列语句后,输出结果为COut.put(‘s’): cout<<’c’<<’a’: A)ca B)SCa C)S D)a (2)下列运算符中,不能重载的是 A)? : B)+ C)一 D)<= (3)所有在函数中定义的变量及函数的形式参数,都属于 A)全局变量 B)局部变量 C)静态变量 D)常量 (4)为引入对象的同义词,对象的别名称为 A)指针 B)引用 C)枚举 D)结构 (5)以下不属于构造函数特征的是 A)构造函数名与类名相同 B)构造函数可以重载 C)构造函数可以设置默认参数 D)构造函数必须指定函数类型 15 (1)以下关于虚函数的叙述中不正确的是 A)虚函数属于成员函数 B)虚函数不允许说明成静态的 C)凡是虚函数必须用virtual说明 D)虚函数可以被继承 (2)类的构造函数的作用是 A)一般成员函数 B)类的初始化 C)对象的初始化 D)删除对象创建的所有对象 (3)继承机制的作用是 A)信息隐藏 B)数据封装 C)定义新类 D)数据抽象 (4)关于虚函数的描述中正确的是 A)虚函数是一个静态成员函数 B)虚函数是一个非成员函数 C)虚函数既可以在函数说明时定义,也可以在函数实现时定义 D)派生类的虚函数与基类中对应的虚函数具有相同的参数个数和类型 (5)下列表示纯虚函数的成员函数是 A)virtualintfunc(int); B)voidfunc(int)=0; C)virtualvoidfunc=O; D)virtualvoidfunc(int){} 16 填空题。 (1)设一棵二叉树的中序遍历结果为ABCDEFG,前序遍历结果为DBACFEG,则后序遍 历结果为【1】。 (2)在面向对象方法中,属性与操作相似的一组对象称为【2】。 (3)在结构化设计方法中,数据流图表达了问题中的数据流与加工之间的关系,并且,每一个【3】实际上对应一个处理模块。 (4)在进行模块测试时,要为每个被测试的模块另外设计两类模块: 驱动模块和承接模块。 其中【4】的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。 (5)在关系运算中,【5】运算是在指定的关系中选取所有满足给定条件的元组,构成一个新的关系,而这个新的关系是原关系的一个子集。 (6)为了表明一个函数不带返回值,应在定义函数时指定该函数类型为【6】。 (7)下列程序如果去掉for循环外围的大括号对,则会出现编译错误。 错误原因是【7】。 (8)对于下列语旬 其输出结果为: 【8】。 (9)下列程序不能通过编译,应该在划线部分填写的语句是【9】。 (10)根据下面的主程序,完成类的一种构造函数的最简单形式。 #include (11)下列程序的执行结果为【11】。 (12)下列程序的运行结果是【12】。 (13)完成下列类的构造函数,初始化语句为【13】 (14)根据下列程序的执行结果,可以断定划线部分的修饰符应为【14】。 执行结果: (15)下列程序的输出结果是【15】。 来源 17 (1)算法的时间复杂度是指 A)算法程序运行的具体时间 B)算法程序的长度 C)算法程序执行过程中基本运算的次数 D)运行时算法程序所占的内存容量 (2)下列数据结构中能使用对分查找的是 A)二叉链表 B)带链的栈 C)有序线性链表 D)有序顺序表 (3)按“先进先出”原则组织数据的结构是 A)有序表 B)栈 C)队列 D)二叉树 (4)对下列二叉树进行前序遍历的结果是 A)ZBTYCPXA B)ATBZXCYP C)ZBTACYXP D)ATBZXCPj (5)下列叙述中正确的是 A)软件就是程序清单 B)软件就是存放在计算机中的文件 c)软件应包括程序清单以及运行结果 D)软件包括程序和文档 18 (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)以上三种说法都不对 19 (1)设char型变量x中的值为1010011l,则表达式(2+x)^(~3)的值是 A)1010100l B)lOlOlOOO C)11111101 D)0101010] (2)以下叙述中不正确的是 A)C++语言中的文本文件以ASCII码形式存储数据 B)C++语言中,对二进制文件的访问速度比文本文件快 C)C++语言中,随机读写方式不适用于文本文件 D)C++语言中,顺序读写方式不适用于二进制文件 (3)若已定义inta=256,执行语句cout< A)100 B)256 C)ffe D)ff (4)执行下列程序的结果是 A)9.000000 B)6.000000 C)1.000000 D)程序有错误 (5)下面程序的输出结果是 A)1 B)2 C)3 D)4 20 (1)有以下程序 执行后输出结果是 A)3,4,5 B)j,3,4 C)j,4,3 D)3,5,4 (2)有以下程序 执行后输出结果是 A)3,4,5 B)5,3,4 C)5,4,3 D)4,3,5 (3)与数学式子函,3X对应的C++语言表达式是 A)3*xAn/(2*x一1) B)3*x**n/(2*x—1) C)3*pow(x,n)*(1/(2*x一1)) D)3*pow(n,x)/(2*x一1) (4)若有以下程序: 执行后的输出结果是 A)8,6 B)8,3 C)6,4 D)7,4 (5)设有定义: 则以下叙述不正确的是 A)std是一个含有30个元素的对象数组 B)std数组中的每个元素都是person类的对象 C)std数组中的每个元素都有自己的私有变量hum和name D)std数组中的每个元素都有各自的成员函数init 21 (1)以下叙述中不正确的是 A)一个类的所有对象都有各自的数据成员,它们共享函数成员 B)一个类中可以有多个同名的成员函数 C)一个类中可以有多个构造函数、多个析构函数 D)在一个类中可以声明另一个类的对象作为它的数据成员 (2)以下关于私有和保护成员的叙述中,不正确的是 A)私有成员不能被外界引用,保护成员可以 B)私有成员不能被派生类引用,保护成员在公有继承下可以 C)私有成员不能被派生类引用,保护成员在保护继承下可以 D)私有成员不能被派生类引用,保护成员在私有继承下可以 (3)友元函数的作用是 A)提高程序的效率 B)加强类的封装性 C)实现数据的隐蔽性 D)增加成员函数的种类 (4)使用静态数据成员的好处不包括 A)可以节省内存空间 B)是为了解决数据共享问题 C)可以直接用类名来引用 D)可以提高运算速度 (5)以下不能正确创建输出文件对象并使其与磁盘文件相关联的语句是 A)ofstreammyfile;myfile.open(”d: ofile.txt'’):
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 09 全国计算机 二级 C+ 笔试 练习 习题
![提示](https://static.bdocx.com/images/bang_tan.gif)