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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

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

1、国家二级( C+)笔试模拟试卷 2及答案与解析 1 为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为 ( )。 ( A) PAD图 ( B) N-S图 ( C)结构图 ( D)数据流图 2 数据的存储结构是指 ( )。 ( A)存储在外存中的数据 ( B)数据所占的存储空间量 ( C)数据在计算机中的顺序存储方式 ( D)数据的逻辑结构在计算机中的表示 3 结构化程序设计主要强调的是 ( )。 ( A)程序的规模 ( B)程序的效率 ( C) 程序设计语言的先进性 ( D)程序易读性 4 数据结构中,与所使用的计算机无关的是数据的 ( )。 (

2、A)存储结构 ( B)物理结构 ( C)逻辑结构 ( D)物理和存储结构 5 完全不考虑程序的内部结构和内部特征,而只是根据程序功能导出测试用例的测试方法是 ( )。 ( A)黑箱测试法 ( B)白箱测试法 ( C)错误推测法 ( D)安装测试法 6 下列选项中,不属于模块间耦合的是 ( )。 ( A)数据耦合 ( B)特征耦合 ( C)异构耦合 ( D)公共环境耦合 7 下列 工具中,是需求分析常用工具的是 ( )。 ( A) PAD ( B) PFD ( C) N-S ( D) DFD 8 下列 4项中说法不正确的是 ( )。 ( A)数据库减少了数据冗余 ( B)数据库中的数据可以共享

3、( C)数据库避免了一切数据的重复 ( D)数据库具有较高的数据独立性 9 对建立良好的程序设计风格,下面描述正确的是 ( )。 ( A)程序应简单、清晰、可读性好 ( B)符号名的命名只要符合语法 ( C)充分考虑程序的执行效率 ( D)程序的注释可有可无 10 结构化程序设计 的三种结构是 ( )。 ( A)顺序结构、选择结构、转移结构 ( B)分支结构、等价结构、循环结构 ( C)多分支结构、赋值结构、等价结构 ( D)顺序结构、选择结构、循环结构 11 下列关于对象的描述,不正确的是 ( )。 ( A)对象只能描述有形的东西 ( B)对象具有属性和服务两个主要因素 ( C)现实世界中的

4、一切事物都可以看作对象,但只有在具体的系统中加以论述才有意义 ( D)对象的属性是对象的静态特征,服务是动态特征。并且对象的属性只能由本对象的服务来操作 12 下面正确的是 ( )。 ( A) 4.1/2 ( B) 3.2%3 ( C) 3/2=1 结果为 2 ( D) 5.2/3 结果是 1 13 char c=41;printf(“%o“,c); 的结果为 ( )。 ( A) 0101 ( B) 101 ( C) 41 ( D) 65 14 对中断语句的说法,不正确的是 ( )。 ( A)用户可以指定中断的位置 ( B)用户可以指定转移的位置 ( C) break 语句可以跳出本循环 (

5、D) continue 语句可以结束本次循环 15 下面程序的输出结果是 ( )。 #include iostream using namespace std; void main() int a,b; for(a=1,b=l;a =100;a+) if(b =10) break; if(b%3= =1) b+=3;continue; cout a; ( A) 101 ( B) 6 ( C) 5 ( D) 4 16 下列函数的定义,正确的是 ( )。 ( A) float sum(x,y) float x,y; ( B) float sum(float x,float y); ( C) flo

6、at sum(float x,float y) ( D) float sum(floatx,floaty) 17 有如下程序: #include iostream using namespace std; long fib(int n) if(n 2) return(fib(n-1)+fib(n-2); else return(n); void main() int i; cout “请输入一个整数 :“; cin i;cout endl; cout fib(i) endl; 当输入 4、 2时,该程序的输出结果是 ( )。 ( A) 5 ( B) 4 ( C) 5 ( D) 6 1 2 2

7、2 18 对下面的程序,说法正确的是 ( )。 #include iostream using namespace std; void sum(float m, float n) float sum=m+n; main() coutsum(5.3,6.5) endl; ( A)该程序是错误的,错误之处在于没有对 sum()函数进行说明 ( B)程序书写规整,无语法错误, 是正确的 ( C)该程序语法无错误,但在调用函数 sum()时出错,因为 sum()函数被定义为viod类型,但却被主函数调用,因而是错误的 ( D)虽然 sun()函数被定义为 void类型,但调用时也不会出错,程序能够编译

8、通过 19 下列关于数组初始化的说法,正确的是 ( )。 ( A)对于 int a5;它的数组元素初值为 0 ( B) int a5=1,3,5,7,8,9;是可以的,这时数组长度自动变为 6 ( C) static int a5;的数组元素初值为 0 ( D) int a5=1.3,5;是不合法的,因为数组长度为 5,而仅有 3个数据,不知赋给哪个元素 20 下列字符数组的初始化,正确的是 ( )。 ( A) char ch5=“a“,“b“,“c“,“d“,“e“; ( B) char ch=a,b; ( C) char ch15=“welcome to china“; ( D) char

9、 ch14=“I am a student“; 21 下面程序输出的结果是 ( )。 #include iostream using namespace std; void main() char ch8=“good“,“better“,“best“; for(int i=1;i 3;+i) cout chi endl; ( A) good better ( B) better best ( C) good best ( D) good 22 关于类的继承的特性,不正确的是 ( )。 ( A)子类 对父类具有数据和程序代码的共性特征 ( B)子类与父类间有所差别 ( C)会增加代码的冗余 (

10、D)类间具有层次结构 23 下面程序的执行结果是 ( )。 #include iostream using namespace std; class building public: building() building(unsigned stories, float breadths, float lengths) story = stories; breadth = breadths; length = lengths; void getstory(void) cout “story is:“ story endl; void getarea(void) area = length*br

11、eadth*story;cout “area is:“ area endl; private: unsigned story; float length; float breadth; float area; ; void main(void) building b1,b2;building b3(10u,16.6,58.8); b1.getstory(); b1.getarea(); b2.getstory(); b2.getarea(); b3.getstory(); b3.getarea(); ( A) story is:0 area is:0 story is:0 area is:0

12、story is:10 area is:9760.8 ( B) story is:null area is:null story is:null area is:null story is:10 area is:9760.8 ( C)前两个对象输出的结果是不定的,后一个对象的结 果正确 ( D)前两个对象没有初值,因此程序编译时出错 24 关于析构函数的说法,正确的是 ( )。 ( A)析构函数用来释放构造函数为对象分配的内存空间。它可以被系统自动调用 ( B)析构函数没有数据类型,其返回值为 void型 ( C)析构函数可以没有参数,也可有多个参数 ( D)析构函数与构造函数不一样,它可以有

13、多个,以方便使用 25 关于派生类的说法,不正确的是 ( )。 ( A)派生类能够通过继承关键字改变对基类的函数成员的存取权限 ( B)派生类可以拥有自己的新成员 ( C)派生类 可重载已有的函数成员 ( D)派生类无法给基类的数据成员初始化 26 下列说法不正确的是 ( )。 ( A)基类指针可以指向它的公有派生类的对象 ( B)指向基类的对象的指针可以指向派生类的对象,因而可以访问派生类的对象的成员 ( C)基类指针不能指向其私有派生类的对象 ( D)指向派生类对象的指针不可以指向基类的对象 27 下面程序的运行结果是 ( )。 #include iostream using namesp

14、ace std; class A int a; public: A()a=0;1 A(int aa ) a=aa; virtual void show() cout a “; ; class B:public A int b: public: B()b=0: B(int bb) b=bb; void show() cout b “ “; ; class C:public B int c; public: C(int cc) c=cc; void show() cout c endl; ; void main() A a( 8 ),*p;B b( 9 );C c( 10 ); p= p- sho

15、w(); p= template class T T max(T x,T y) return(x = y ? x:y); template class T T max(T x,T y,T z) T t; t=(x =y ? x:y); return(t =z ? t:z); void main() int x = 10,y=18,maxi; float a = 1.2,b = 3.2, c = 2,max2; max1 = max(x,(int)c); max2 = max(a,b,(float)y); cout maxi endl; cout max2 endl; ( A) 18 3.2 (

16、 B) 10 18 ( C) 10 3.2 ( D)编译出错 29 关于输入流的提取符 “ ”、提取函数 get()的说法不正确的是 ( )。 ( A)提取符 “ ”能提取空白字符 ( B)提取函数 get()能够提取空白字符 ( C)提取函数 get()可以带参数,用以存储从流中得到的字符 ( D)提取函数 get()的返回值为所提取的字符 30 在 C+语言里,一条语句以 ( )字符作为结束符。 ( A), ( B); ( C) ( D)无符号 31 下列语句中正确的是 ( )。 ( A) int * p;i=8; p= ( B) int * p,i; p= ( C) float * p;

17、int i;p= ( D) float * p;cout * p; 32 有以下定义: “int t3)2”,能正确标识 t数组元素地址的表达式是 ( )。 ( A) ”语句时,调用该类构造函数 ( )次。 ( A) 1 ( B) 2 ( C) 3 ( D) 4 34 当一个函数无返回值时,函数的类型应为 ( )。 ( A)任意 ( B) void ( C) int ( D) char 35 一个函数为 void f(int,char=a),另一个函数为 void f(int),则它们 ( )。 ( A)不能在同一程序中定义 ( B)可以在同一程序中定义并可重载 ( C)可以在同一程序中定义,

18、但不可以重载 ( D)以上说法均不正确 36 对长度为 10的线性表进行冒泡排序,最坏情况下需要比较的次数为【 】。 37 在树中,度为零的结点称为【 】。 38 按 “先进先出 ”原则组织数据的数据结构是【 】。 39 数据结构分为线性结构和非线性结构,线性表、栈和队列都属于【 】。 40 冒泡排序算法在最好的情况下的元素交换次数为【 】。 41 表达式 cout /n还可表示为【 】。 42 已知 f1(int)是类 A的公有成员函数,并将指针 p定义为可以指向函数 f1的指针类型,则可以实现让 p是指向成员函数 f1()的 指针的语句为【 】。 43 switch 后面括号中的表达式只能

19、是整型、【 】或枚举型表达式。 44 请按下面注释的提示,将类 B的构造函数定义补充完整。 class A int a; public: A(int aa=0) (a=aa; ; class B: public A int b; Ac; public: /用 aa 初始化基类 A,用 aa+1初始化类对象成员 c B(int aa): 【 】 b=aa+2 ; 45 以下程序的执行结果是【 】。 #include iostream.h class Sample int n; public: Sample() Sample(int m) n=m; int return n; void disp(

20、) cout “n=“ n end1; ; void main() Sample s(10); (s-)+; s. disp(); 46 在声明派生类时,如果不显式地给出继承方式,缺省的类继承方式是私 有继承private。 已知有如下类定义: class Base protected: void fun() ; class Derived: Base ; 则 Base类中的成员函数 fun(),在 Derived 类中的访问权限是【 】 (注意:要求填写 private、 protected或 public中的一项 )。 47 以下程序运行后的输出结果是【 】。 #include iostr

21、eam.h main() int i=10,j=0; do j=j+ i; i-; while(i 2); cout j; 48 阅读下面程序: #include iostream.h template class T class TAdd private: T x, y; public: TAdd(T a, T b) x=a; y=b; T add() return x +y; ; void main( ) TAdd int a(5,6); TAdd double b(2.4,5.8); cout “s1 =“ A. add() “,“; cout “s2=“ B, add() end1;

22、写出该程序的运行结果:【 】。 49 下面是用来计算 n的阶乘的递归函数,请将该函数的定义补充完整 (注:阶乘的定义是 n!=n*(n-1)*.*2*1)。 unsigned fact(unsigned n) if (n = 1) return 1; return 【 】 ; 50 下面程序的执行结果是 【 】 #include iostream #include iomanip using namespace std; void main() cout setfill(x) setw(10); cout “Hello“ end1; 国家二级( C+)笔试模拟试卷 2答案与解析 1 【正确答案

23、】 B 【试题解析】 N-S图是用方框图来代替传统的程序流程图。 2 【正确答案】 D 【试题解析】 数据的存储结构是指数据的逻辑结构在计算机中的表示。 3 【正确答案】 D 【试题解析】 结构化程序设计方法的主要原则可以概括为自顶向下、逐步求精、模块化及限 制使用 goto语句,总的来说可使程序结构良好、易读、易理解、易维护。因此,结构化程序设计主要强调的是程序的易读性。 4 【正确答案】 C 【试题解析】 数据结构概念一般包括 3个方面的内容:数据的逻辑结构、存储结构及数据上的运算集合。数据的逻辑结构只抽象地反映数据元素之间的逻辑关系,而不管它在计算机中的存储表示形式。 5 【正确答案】

24、A 【试题解析】 黑箱测试方法完全不考虑程序的内部结构和内部特征,而只是根据功能导出测试用例。白箱测试是根据对程序内部逻辑结构的分析来选取测试用例,白箱测试 也称为逻辑覆盖测试;错误推测法只是黑箱测试所使用的一种具体的方法;安装测试是测试层次中的一种,它属于高级测试。 6 【正确答案】 C 【试题解析】 模块之间的耦合程度反映了模块的独立性,也反映了系统分解后的复杂程度。按照耦合程度从弱到强分别是:数据耦合、控制耦合、特征耦合、公共环境耦合和内容耦合。 7 【正确答案】 D 【试题解析】 DFD即数据流图,为需求分析常用工具。 8 【正确答案】 C 【试题解析】 数据库没有避免一切数据的重复。

25、 9 【正确答案】 A 【试题 解析】 为了建立良好的程序设计风格,程序应简单、清晰、可读性好。 10 【正确答案】 D 【试题解析】 结构化程序设计的三种结构是顺序结构、选择结构、循环结构。 11 【正确答案】 A 【试题解析】 抽象是分析对象的基本方法。 12 【正确答案】 A 【试题解析】 选项 B的 %要求是整型;选项 C关系运算值为 1;选项 D结果为1.7333。 13 【正确答案】 C 【试题解析】 printf(“%o“,c);以八进制输出 c,而 41就是八进制表示的字符。 , 14 【 正确答案】 B 【试题解析】 不论 break 语句还是 continue 语句转移的位

26、置根据程序是默认的了,不用人为设置。 15 【正确答案】 D 【试题解析】 该题是对 for 循环语句、条件语句、中断语句的综合考察。循环 for 语句执行了 4次,当执行第 4次循环的时候 b=10退出循环,输出 a的值为 4。 16 【正确答案】 C 【试题解析】 选项 A函数形参需指定类型;选项 B函数头不能以分号结尾;选项 D函数形参需指定类型。 17 【正确答案】 C 【试题解析】 注意递归 调用的过程,当输入 2作为函数参数时,调用肋 ()函数直接返回参数值 2;当输入参数大于 2时有一个递归调用的过程。 18 【正确答案】 C 【试题解析】 void类型的函数的返回值类型是不确定

27、的,不能使用函数的返回值。 19 【正确答案】 C 【试题解析】 数组一旦定义,其长度就不可变了;初始化数组的数据个数不要大于数组长度,否则会出现逻辑错;初始化数组的数据个数若小于数组长度,则先赋给前边的元素,后边的元素值自动初始化为 0;静态数组如果没有初始化自动初始化为 0。 20 【正确答案】 B 【试题解析】 选项 A中一个数组元素存放一个字符,不能存放字符串;当把字符串整体赋给字符串时,字符数组的长度要比字符串长度大 1,用来存放终结符,所以选项 C和选项 D都不正确。 21 【正确答案】 B 【试题解析】 二维数组 ch共 3行 8列, for 循环语句输出第 2、 3行的数组元素

28、 22 【正确答案】 C 【试题解析】 不会增加代码的冗余,反而会减少冗余。 23 【正确答案】 C 【试题解析】 该题是关于构造函数重载的,由于前两个对象没有赋初值,值不定。 24 【正确答案】 A 【试题解析】 析构函数没有数据类型,也没有参数,没有返回值,一个类只能有一个析构函数。 25 【正确答案】 D 【试题解析】 派生类可以通过构造函数的初始化列表,给基类的数据成员和对象成员初始化。 26 【正确答案】 B 【试题解析】 其前半句是正确的,但后半句是错误的。它可以访问派生类的对象中由基类继承下来的成员,但不可访问派生类新增成员。 27 【正确答案】 B 【试题解析】 指向基类对象的

29、指针可以指向派生类的对象,但只引用继承下来的成员,不能引用自己新增函数; 虚函数可被继承,继承下来并重新定义后仍是虚函数,不管继承层次多深,不管是否再用关键字 viaual说明。故答案为 B。 28 【正确答案】 B 【试题解析】 本道题考查函数模板以及函数模板重载的使用, max1=max(x,(int)c)语句会实例化 T max(T x, T y)函数模板,返回两个 int数据中的最大值;max2=max(a,b,(float)y);语句会实例化 T max(T x, T y, T 2)函数模板,返回 3个float数据中的最大值。 29 【正确答案】 A 【试题解析 】 提取函数 ge

30、t()能够提取空白字符,可以带参数,用以存储从流中得到的字符,返回值为所提取的字符。 30 【正确答案】 B 【试题解析】 在 C+语言里,一条语句以 “; ”字符作为结束符。 31 【正确答案】 B 【试题解析】 选项 A中的变量 i没有定义就使用了;选项 C(float)i把 i中的数据取出后变为 float型,就是一个数值, “&(float)i”不能得到 i的地址;选项 D中的指针变量, p没有赋值就使用,它到底指向哪个存储单元没有指明,它可能指向不可读取的存储单元,这时的破坏性很大。 32 【正确答案】 A 【试题解析】 t1, t2不能表示某行的首地址, t3写法错误。 33 【正

31、确答案】 A 【试题解析】 *p不调用类的构造函数, *p并不定义类对象,而是定义了一个指针指向一个 MyClock的对象。 34 【正确答案】 B 【试题解析】 如果函数所体现的计算不需要返回结果,则数据类型可以指定为void类型。注意,这种情况下在主调函数中调用该函数,该函数调用表达式不能被用作子表达式给其他变量赋值。 35 【正确答案】 C 【试题解析】 只要满足参数不同的条件,就可以在同一程序中对同名的函数进行定义。但是由于其中一个函数有默认值,因此当程序中出现如下语句 x=f(5)时,就会产生二义性,不能确定调用函数 f(5)还是调用函数 f(5,a),此时这两个函数不能重载。 36 【正确答案】 45 37 【正确答案】 叶子结点 38 【正确答案】 队列 或 Queue 39 【正确答案】 线性结构 40 【正确答案】 0 41 【正确答案】 cout end1 42 【正确答案】 p=A:f1; 43 【正确答案】 字符型 44 【正确答案】 A(aa), c(aa+1) 或 c(aa+1), A(aa) 45 【正确答案】 n=10 46 【正确答案】 private 47 【正确答案】 52 48 【正确答案】 s1=11, s2=8.2 49 【正确答案】 n*fact (n-1) 50 【正确答案】 xxxxx Hello

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