ImageVerifierCode 换一换
格式:DOC , 页数:20 ,大小:57KB ,
资源ID:502792      下载积分:2000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-502792.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文([计算机类试卷]国家二级(C++)笔试模拟试卷84及答案与解析.doc)为本站会员(bowdiet140)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

[计算机类试卷]国家二级(C++)笔试模拟试卷84及答案与解析.doc

1、国家二级( C+)笔试模拟试卷 84及答案与解析 1 下面关于对象概念的描述中, ( )是错误的。 ( A)对象就是 C语言中的结构体变量 ( B)对象代表着正在创建的系统中的一个实体 ( C)对象是一个状态和操作 (或方法 )的封装体 ( D)对象之间的信息传递是通过消息进行的 2 结构化程序设计所规定的三种基本控制结构是 ( )。 ( A)顺序结构、选择结构、循环结构 ( B)输入、输出、处理 ( C) for、 while、 switch ( D)主程序、子程序、函数 3 下列程序的运行结果 是 ( )。 #include iostream.h class A inta; public:

2、 A()a=0: A(int aa) a=aa; couta+; ; void main() A x, y(2), z(3); coutendl; ( A) 0 ( B) 23 ( C) 34 ( D) 25 4 已知 fl(int)是类 A的公有成员函数, p是指向成员函数 fl()的指针,采用赋值,( )是正确的。 ( A) p=fl ( B) P=A:fl ( C) P=A:fl() ( D) P=fl() 5 C+语言中的基本数据类型是 ( )。 ( A)整型、浮点型、逻辑型、无值型和类类型 ( B)整型、字符型、浮点型、无值型和逻辑型 ( C)整型、浮点型、字符型、逻辑型和枚举型 (

3、 D)整型、浮点型、逻辑型、无值型和指针型 6 下列叙述中错误的是 ( )。 ( A)一个函数中可以有多条 return语句 ( B)调用函数必须在一条独立的语句中完成 ( C)函数中通过 return语句传递函数值 ( D)主函数名 main也可以带有形参 7 结构化程序设计主要强调的是 ( )。 ( A)程序的规模 ( B)程序的效率 ( C)程序设计语言的先进性 ( D)程序易读性 8 下面关于友元的描述中,错误的是 ( )。 ( A)友元函数可以访问该类的私有数据成员 ( B)一个类的友元类中的成员函数都是这个类的友元函数 ( C)友元可以提高程序的运行效率 ( D)类与类之间的友元关

4、系可以继承 9 C+语言中 while循环和 dowhile 循环的主要区别是 ( )。 ( A) dowhile 的循环体至少五条件执行一次 ( B) while的循环控制条件比 dowhile 的循环控制条件严格 ( C) dowhile 允许从外部转到循环体内 ( D) dowhile 的循环体不能是复核语句 10 对类的构造函数和析构函数描述正确的是 ( )。 ( A)构造函数可以重载,析构函数不能重载 ( B)构造函数不能重载,析构函数可以重载 ( C)构造函数可以重载,析 构函数也可以重载 ( D)构造函数不能重载,析构函数也不能重载 11 下列选项中不全是 c+语言关键字的是 (

5、 A) const, break, default ( B) long, void, using ( C) virtual, extern, include ( D) try, throw, this 12 以下 C+语言中用于单行注释的是 ( A) / ( B) /* ( C) */ ( D) | 13 在 32位的计算机中,一个 char型数据所占的内存长度的字节是 ( A) 4 ( B) 1 ( C) 2 ( D) 8 14 若变量已正确定义并赋值,以下符合 C+语言语法的表达式是 ( A) a:=b+1 ( B) a=b=c+2 ( C) int 18.5%3 ( D) a=a+7=c

6、+b 15 有如下程序: #include“iostrearn.h“ void main( ) int x=1,a=0, b=0; switch(x) case 0:b+; case 1:a+; case 2:a+;b+; cout “a=“ a “,“ “b=“ b; 该程序的输出结果是 ( A) a=2, b=1 ( B) a=1, b=1 ( C) a=1, b=0 ( D) a=2, b=2 16 有以下程序 #include“iostream.h“ void main( ) int i=1,j=1,k=2; if(j+|k+) /3 A(int i)i+; /4 ; ( A) 1 (

7、 B) 2 ( C) 3 ( D) 4 22 以下关于 C+语言类的说法中正确的是 ( A) C+语言的默认访问权限是 private ( B) c+语言中的类定义,用户一定要自己定义一个构造函数用于实例化类 ( C) c+语言中的成员函数的实现部分一定要写在类定义外 ( D) C+语言中的类不能够嵌套定义 23 下列描述中错误的是 ( A)派生类可以作为基类派生其他的子类 ( B)派生类继承基类的所有数据成员 ( C)派生类可以有多个基类 ( D)派生类不能继承一些函数成员 24 派生类对象对其基类中的什么成员是可访问的 ? ( A)公有继承的私有成员 ( B)私有继承的公有成员 ( C)私

8、有继承的保护成员 ( D)保护继承的保护成员 25 下列运算符中哪些是不能够被重载的 ? ( A) .,.*,- *,:,?: ( B) +,-,new,delete,= ( C) sizeof,new,delete,+,- ( D) sizeof,new,delete,+,- 26 下列关于运算符重载不正确的是 ( A)运算符重载不能改变运算符的操作数个数 ( B)运算符重载不能改变运算符的优先级 ( C)运算符重载不能改变运算符的结合性 ( D)运算符重载能改变对预定义类型数据的操作方式 27 下列关于函数模板实参不能省略的情况说明不正确的是 ( A)从模板函数实参表获得的信息有矛盾 (

9、B)需要获得特定类型的返回值,而不管参数的类型如何 ( C)虚拟类型参数没有出现在模板函数的形参表中 ( D)函数模板不 含有常规形参 28 对于重载的运算符,它是一个 ( A)用于输入的友元函数 ( B)用于输入的成员函数 ( C)用于输出的友元函数 ( D)用于输出的成员函数 29 表达式 10 5 for(i=0;stri!=0;i+) switch(stri) case1: x4+; case2: x3+; case3: x2+; case4: x1+; cout x1 “, “ x2 “,“ x3 “, “ x4; ( A) 8, 6, 4, 1 ( B) 8, 6, 3, 2 (

10、C) 8, 8, 4, 1 ( D) 8, 6, 4, 2 36 在树形结构中,树根结点没有【 】。 37 Jackson结构化程序设计方法是英国的 M Jackson提出的,它是一种面向【 】的设计方法。 38 面向对象的模型中,最基本的概念是对象和【 】。 39 软件设计模块化的目的是【 】。 40 数据模型按不同应用层次分 成 3种类型,它们是概念数据模型、【 】和物理数据模型。 41 C+中封装性、继承性和【 】是面向对象思想的主要特征。 42 下面程序的结果为 【 】 。 #include iostream.h void main( ) int a=1, b=2; bool c=1;

11、 if(a b) |c) cout “true“ end1; else cout “false“ end1; 43 下列 for语句的循环次数为【 】。 for (int a=0, b=1; bi+) cout ai “ “; cout end1; 45 C+程序是从【 】函数开始执行的。 46 假定 A为一个类,则语句 A(A cout a; cout endl; 50 静态成员函数可以直接访问类的【 】成员,不能直接访问类的【 】成员。 国家二级( C+)笔试模拟试卷 84答案与解析 1 【正确答案】 A 2 【正确答案】 A 3 【正确答案】 B 4 【正确答案】 B 5 【正确 答案】

12、 B 6 【正确答案】 D 7 【正确答案】 D 8 【正确答案】 D 9 【正确答案】 A 10 【正确答案】 A 11 【正确答案】 C 【试题解析】 要熟练掌握 C+语言中的关键字。注意: include不是 C+语言的关键字。注意: define也不是关键字 12 【正确答案】 A 【试题解析】 C+语言中的注释与 C语言不同, C语言的注释符号只有 /* */,而C+在此基础上又加上了 /,此注释用于单行注释。注意:注释不影响程序的运行。 13 【正确答 案】 B 【试题解析】 char型数据所占内存的大小为 1个字节。注意: int型数据占内存的大小为 4个, cong doubl

13、e, double占内存的大小为 8个字节。注意:求字节数用 sizeof运算符。 14 【正确答案】 B 【试题解析】 a=b=c+2实际上相当于 a=(b=c +2),进而可分解为两个表达式:b=c+2和 a=b。注意:选项 A中包含一个不合法的运算符 “:=“;选项 C应改为(int)18.5%3;选项 D可理解为两个表达式: a+7=c+b和 a=a+7,其中第一个是错的,因为 C+语 言规定赋值号的左边只能是单个变量,不能是表达式或常量等。注意: c+语言赋值语句的运用。 15 【正确答案】 A 【试题解析】 该题目的关键是要搞清楚该程序执行了哪几条语句。由于 x的值等于 1,所以

14、switch结构中,程序从 case1后面的语句开始执行,又因为 casel后面的语句没有以 break结束,所以程序要继续往下执行 case 2后面的语句。所以,该程序共执行了这三条语句: a+; a+;b+;,因此,变量 a和 b最后的值应该为 2和 1。注意: break语句可以结束 switch语句。 16 【正确答案】 C 【试题解析】 该题目的关键是要搞清楚 “|”和 “c+语言的类是可以嵌套定义的,故选项 D错误; c+语言中成员函数的实现部分也可以写在类定义内,故选项 C错误。注意:函数不能嵌套 定义。 23 【正确答案】 B 【试题解析】 c+语言中通常有 3种继承修饰符 p

15、ublic, protected和 private,限制依次严格,另外对类中的数据和函数也有这 3种修饰符进行限制。一个派生类能不能继承基类的所有数据成员受它们的限制。注意: c+语言中继承关系的修饰符 pub Iic, protected和 private的运用。 24 【正确答案】 D 【试题解析】 c+语言中通常有三种继承修饰符 public, protected, private,限制依次严格,另外对类中的数据和 函数也有这三种修饰符进行限制,有 3种是不能继承的:公有继承基类的私有成员,私有继承基类的私有成员,保护继承基类的私有成员。 25 【正确答案】 A 【试题解析】 c+语言中

16、的不能重载的操作符是 ., *, - *, :和 ?:。 26 【正确答案】 D 【试题解析】 运算符重载的规则是重载时不能改变运算符的操作数个数,不能改变运算符的优先级,不能改变运算符的结合性,不能改变对预定义类型数据的操作方式。注意:运算符重载的关键字是 operator。 27 【正确答案】 D 【试题解析】 函数模板实参不能省略的情况在 C+语言中一共有 4种: 从模板函数实参表获得的信息有矛盾; 需要获得特定类型的返回值,而不管参数的类型如何; 虚拟类型参数没有出现在模板函数的形参表中; 函数模板含有常规形参。注意:模板形参分为两种类型;虚拟类型参数和常规参数。 28 【正确答案】

17、A 【试题解析】 C+语言中和运算符都是友元函数重载,分别用于输出和输入。注意:运算符 只能作为成员函数重载。 29 【正确答案】 C 【试题解析】 逻辑与运算符为真的前提是两边的表达式都为真,本题 中 6%3的值为 0,显然该表达式的值应该为 o。注意: /是整除运算符,当两个操作数都为整数时,结果为整型,将小数部分舍去。 30 【正确答案】 C 【试题解析】 在 c+语言函数调用中,如果被调用函数中没有 return语句,并不带回一个确定的、用户所希望得到的函数值,而是带回的是一个不确定的值。注意:为了明确表示 “不带回值 ”,可以用 void定义无类型 (或称空类型 ),这时,系统就保证

18、不使函数带回任何值。 31 【正确答案】 A 【试题解析】 函数的参数个数是以第一层的逗号为区分的,本题中调用 语句中有3个参数。 32 【正确答案】 B 【试题解析】 在初始化语句时,需要注意下面几点: 所赋初值个数与数组元素的个数相同; 每行所赋初值个数与数组元素的个数不同时,系统将自动给该行其余的元素补初值 o; 所赋初值行数少于数组行数时,系统将自动给后面各行的元素补初值 o; 赋初值时省略行花括号对。在给二维数组赋初值时可以不用行花括号对。注意:选项 A中省略了第二维的大小,所以是错误的;选项 C超出了数组的定义范围,所以是错误的;选项 D在初始化赋值的时候出现了错误。注意:无论是几

19、维的数组,下标都是从零开 始的。 33 【正确答案】 A 【试题解析】 在 fun函数中, x接收的是 main函数中 y的地址,所以 *x值为2,同样, *y值为 1,所以第 1次输出的是 21,第 2次改变 *x的值等同于改变 y的值,改变 *y的值也即改变 x的值,所以第 2次输出的是 43。注意: c+语言中函数的传参方式中关于指针的应用。 34 【正确答案】 C 【试题解析】 该表达式的语句是该表达式的语句是 if(表达式 1) 语句 1 else if(表达式 2) 语句 2 else if(表达式 3) 语句 3 else 语句 4 由 if表达式可知,题中直接执行 if语句的第

20、 2条 else if(x 10.0)y=1.O/x;。 注意: else总是与最近的没有匹配的 if匹配。 35 【正确答案】 D 【试题解析】 本题考查循环的嵌套。只要注意在 C+语言中,系统在字符指针的最后位置会增加一个字符串结束符 0,执行 8次 for循环,再根据 switch语句中的条件易知答案。注意: c+中各种条件判断,循环语句的用法。 36 【正确答案】 前件 【试题解 析】 在树形结构中,每一个结点只有一个前件,称为父结点,没有前件的结点只有一个,称为树的根结点;每一个结点可以有多个后件,它们都称为该结点的子结点。没有后件的结点称为叶子结点。 37 【正确答案】 数据结构

21、【试题解析】 结构化分析方法主要包括:面向数据流的结构化分析方法 (SA-Structured analysis),面向数据结构的 Jackson方法 (JSD-Jackson system development methoD和面向数据结构的结构化数据系统开发方法 (DSSD -Data structured system development methoD。 38 【正确答案】 类 【试题解析】 面向对象模型中,最基本的概念是对象和类。对象是现实世界中实体的模型化;将属性集和方法集相同的所有对象组合在一起,可以构成一个类。 39 【正确答案】 降低复杂性 【试题解析】 模块化是指解决一个

22、复杂问题时自顶向下逐层把软件系统划分成若干模块的过程,由此分解来降低复杂性。 40 【正确答案】 逻辑数据模型 【试题解析】 数据是现实世界符号的抽象,而数据模型 (data model)则是数据特征的抽象,它从抽象层次上描述了系统的静态特征、动态行为和约束行为,为数据库系统的信息表示与操作提供一个抽象的框架。数据模型按不同的应用层次分成 3种类型,它们是概念数据模型 (conceptual data model)、逻辑数据模型 (logic data model)、物理数据模型 (physical data model)。 41 【正确答案】 多态性 【试题解析】 面向对象系统包含了三个特征

23、 -封装性、继承性和多态性,这三个特征可以很好的实现数据抽象,进行行为共享,完成进化求解和描 述一个系统的确定行为。 42 【正确答案】 真 【试题解析】 本题考查的是对于逻辑运算符号的理解, “|”运算符的任何一边取值为真,则整个运算结果为真。 43 【正确答案】 5 【试题解析】 因为 b的值为 1,所以 b&a 5相当于 a 5,当 a=5时退出循环,一共进行 5次循环。 44 【正确答案】 1 2 3 4 5 【试题解析】 本题考查的是考生使用简单循环输出数组元素的能力,因为结束条件是 i 5,而 i初始值为 0,所以只会输出前 5个元素。 45 【正确答案】 main 【试题解析】

24、所有的 C+语言程序都是从 main函数开始执行,而普通函数的存在是为了简化 main函数的复杂程度。 46 【正确答案】 拷贝构造 【试题解析】 本题考查的是拷贝构造函数的定义,它是一种特殊的成员函数,作用是使用一个已知的对象来初始化一个被创建的同类的对象,定义格式是类名 :拷贝构造函数名 (类名 &引用名 )。 47 【正确答案】 类 【试题解析】 本题考查的是类模板的定义, C+语言中模板分为两种:类模板和函数模板,类模板只能用于类型参数,函数模板可以重载。 48 【正 确答案】 *hello 【试题解析】 本题考查的是 C+语言的流输出操作, cout中包括的函数 fill()和width()分别实现填充和设定显示长度的功能。 49 【正确答案】 j+=2 ai =aj或 ai aj 【试题解析】 strlen函数是测试字符串长度的函数,函数的值为字符串中的实际长度,不包括 0在内。 50 【正确答案】 静态 非静态 【试题解析】 静态成员函数可以直接访问该类中的静态数据成员,而不能访问该类中的非静态数据成员。

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1