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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

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

1、国家二级( C+)机试模拟试卷 144及答案与解析 一、选择题 1 下列关于栈叙述正确的是 ( )。 ( A)栈顶元素最先能被删除 ( B)栈顶元素最后才能被删除 ( C)栈底元素永远不能被删除 ( D)栈底元素最先被删除 2 下列叙述中正确的是 ( )。 ( A)在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化 ( B)在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化 ( C)在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化 ( D)以上说法都不正确 3 某二又树共 有 7个结点,其中叶子结点只有 1个,则该二叉树的深度为 (假设根结点在第 l层 )( )。 ( A) 3

2、 ( B) 4 ( C) 6 ( D) 7 4 软件按功能可以分为应用软件、系统软件和支撑软件 (或工具软件 )。下面属于应用软件的是 ( )。 ( A)学生成绩管理系统 ( B) C语言编译程序 ( C) UNIX操作系统 ( D)数据库管理系统 5 结构化程序所要求的基本结构不包括 ( )。 ( A)顺序结构 ( B) GOTO跳转 ( C)选择 (分支 )结构 ( D)重复 (循环 )结构 6 下面描述中错 误的是 ( )。 ( A)系统总体结构图支持软件系统的详细设计 ( B)软件设计是将软件需求转换为软件表示的过程 ( C)数据结构与数据库设计是软件设计的任务之一 ( D) PAD图

3、是软件详细设计的表示工具 7 负责数据库中查询操作的数据库语言是 ( )。 ( A)数据定义语言 ( B)数据管理语言 ( C)数据操纵语言 ( D)数据控制语言 8 一个教师可讲授多门课程,一门课程可由多个教师讲授。则实体教师和课程间的联系是 ( )。 ( A) 1: 1联系 ( B) 1: m联系 ( C) m: 1联 系 ( D) m: n联系 9 有三个关系 R、 S和 T如下: 则由关系 R和 S得到关系 T的操作是 ( )。 ( A)自然连接 ( B)并 ( C)交 ( D)差 10 定义无符号整数类为 UInt,下面可以作为类 UInt实例化值的是 ( )。 ( A) -369

4、( B) 369 ( C) 0 369 ( D)整数集合 1, 2, 3, 4, 5 11 C+语言对 c语言做了很多改进, C+语言相对于 c语言的最根本的变化是( )。 ( A)增加了一些新的运算符 ( B)允许函数重载,并允许设置默认参数 ( C)规定函数说明符必须用原型 ( D)引进了类和对象的概念 12 下列 ( )是 C一 +4语言的有效标识符。 ( A) _Nol ( B) No 1 ( C) 12345 ( D) int 13 设有定义 int x; float y;,则 10+x+y值的数据类型是 ( )。 ( A) int ( B) double ( C) float (

5、D)不确定 14 下列程序的执行结果为 ( )。 #include void main() int a=3, b=0; int*p= a; b=+a+: cout void main() for(inta=0, x=0; !x a void main() int*p, *q, a, b; p= a; coutp; ( A) *p表示的是指针变量 p的地址 ( B) p表示的是变量 a的地址,而不是变量 a的值 ( C) *p表示的是指针变量 P的值 ( D) *p只能用来说明 P是一个指针变量 18 假定 int类型变量占用两个字节,其有定义 int x10=0, 2, 4;,则数组 x在内存

6、中所占字节数是 ( )。 ( A) 3 ( B) 6 ( C) 10 ( D) 20 19 下列选项,不 正确的是 ( )。 ( A) for(int a=1; a void main() char*a=“hello“, “the“, “world“; char*pa=a: pa+; cout void fun(int a, int b, int c) a=456, b=567, c=678; void main() int x=10, y=20, z=30; fun(x, y, z); cout int min(int a, int b) if(a void print(double a)

7、cout class A public: A()cout= ( C): ( D) 38 当使用 fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为 ( )。 ( A) ios: in ( B) los: out ( C) ios: in t ios: out ( D)以上都不对 39 下列程序的运行结果是 ( )。 #include class A int a; public: A()a=0; A(int aa) a: aa; cout class example int a; public: example(int b)a=b+; void print()a=a+l;

8、 cout using namespace std; 狗的颜色:黑、白、黄、褐、花、其他 enum DOGCOLORBLACK, WHITE, YELLOW, BROWN, PIEBALD,OTHER; class Dog狗类 DOGCOLOR color; char name20; static int count; public: Dog(char name, DOGCOLOR color) strcpy(this-name, name); ERROR*found* strcpy(this-color, color); DOGCOLOR getColor()constreturn colo

9、r; ERROR*found* const char*getName()constreturn*name; const char*getColorStfing()const switch(color) case BLACK: return “black“: case WHITE: return “white“: case YELLOW: return “yellow“: case BROWN: return “brown“: case PIEBALD: return “piebald“: return“motley“; void show()const cout using namespace

10、 std; class Sale public: Sale();默认构造函数,将 price初始化为 0 Sale(double the_price);构造函数 ,用 the_price初始化 price virtual double bill()const;返回当前商品的价格 (基本价 ) double savings(const Sale other)const;返回参数 other所引用的对象比当前对象便宜的差价 protected: double price;商品的基本价格 (不打折的价格 ) ; Sale: Sale(): price(0) Sale: Sale(double the

11、_price): price(the_price) double Sale: bill()eonst return price; double Sale: savings(const Sale other)const *found* _;返回当前对象价格比 other贵多少的差价 class DiscountSaLle: public Sale打折销售类继承销售类 public: DiscountSale();默认构造函数,将 discount初始化为 0 DiscountSale(double the_price, double the_discount);构造函数, the_price是基

12、本价格; the_discount是折扣百分比 virtual double bill()const;返回本商品销售价格 (即打折以后的实际售价,覆盖了基类的 bill函数 ) protected: double discount;折扣百分比。例如降价至原价的 70,此成员值应为 70 ; DiscountSale: DiscountSale(): discount(0) DiscountSale: DiscountSale(double the_price, double the_discount) : Sale(the_price), discount(the_discount) doub

13、le DiseountSale: bill()const double fraction=discount 100; *found* _;返回本对象打折以后的实际售价 bool operator using namespace std; class DataList数据表类 int len; double*d; public: DataList(int len, double data=NULL); DataList(DataList data); int length()constreturn len; double getElement(int i)constreturn di; Data

14、List operator+(const DataList list)const;两个数据表求和 void show()const;显示数据表 ; void writeToFile(char*, const DataList ); main cpp #include“DataList h“ DataList: DataList(int len, double data): len(len) d=new doublelen; for(int i=0; i*”和 “?: ”。 38 【正确答案】 D 【试题解析】 使用 fStrcam类建立文件流必须定义打开方式,否则编译器无法判断该文件流是读还是

15、写。 39 【正确答案】 B 【试题解析】 本题考查的是对构造函数的掌握,另外 “+”运算符是右结合的,所以在进行输出的时候都是先把原来的输出后再自加 1。 40 【正确答案】 C 【试题解析】 “+”是右结合的,所以先赋值为 3,最后输出 3+1;常成员函数只有常对象才能调用,所以输出 2。 二、基本操作题 41 【正确答案】 (1)this-color=color; (2)const char getName()constreturn*namc!; (3)Dog dog1(”toho”, WHITE), dog2(”Haha”, BLACK), dog3(“Hihi“,OTHER); 【试

16、题解析】 (1)主要考查考生对 strcpy函数的掌握,如果看到上一条语句strcpy(this-name, Ilame);,就以为本条语句也要用 strcpy函数来赋值,这是错误的。 strcpy函数只能复制字符串,根据类的私有成员声明可知, color是DOGC()LOR型的,这里直接使用赋值语句 “=”即可。 (2)主要考查考生对函数返回值的掌握,先解读语句 const char*getName()constreturn*name; ,要返回的是一个 const的字符指针,同时函数内的值不能改变, name在类的私有成员声明中是个字符数组, *flame代表字符数组而不是字符指针,问题就

17、出来了,需要修改返回类型: const char getName()constreturn*name; 。 (3)语法错误,定义变量时,变量之间应使用 “, ”分开。 三、简单应用题 42 【正确答案】 (1)return this-bill()-other bill() (2)return: fraction*price (3)return firsl, bill()bill()-other bill() 同样, this指针引用当前对象, other是引用对象,所以可以与 bill()虚函数一起使用多态机制,获得当前对象和 other对象的实际价格,再进行差值计算 (4)main()函数中

18、,程序判断 discount小于 simple后,输出提示信息,再调用savings()函数输出 discount和 simple的差值,这里需要计算 discount比 simple节省多少钱,所以需要将 simple当做当前对象, discount当做参数传入 savings()函数,所以补充语句如下: simple savings(diseount) 四、综合应用题 43 【正确答案】 for(int i=0; ilen; +i) 遍历对象 list中的数组和 d数组,把对应的值相加后放到数组 dd中。 ddi=di+list di; 【试题解析】 主要考查考生对重载运算符的掌握,题目要求对两个数据表求和。程序已经定义了动态数组 dd,并已经分配好了空间,接下来只要运用循环语句完成元素相加并进行赋值即 可。

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