[计算机类试卷]国家二级(C++)笔试模拟试卷249及答案与解析.doc
《[计算机类试卷]国家二级(C++)笔试模拟试卷249及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C++)笔试模拟试卷249及答案与解析.doc(24页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C+)笔试模拟试卷 249及答案与解析 1 下列叙述中正确的是 ( A)程序设计过程中的主要工作是编制程序 ( B)程序设计的主要目标是编制出运行结果正确的程序 ( C)不良的程序设计风格会增加程序的复杂性 ( D)上述三种说法都不对 2 数据库设计包括两个方面的设计内容,它们是 ( A)概念设计和逻辑设计 ( B)模式设计和内模式设计 ( C)内模式设计和物理设计 ( D)结构特性设计和行为特性设计 3 下列关于队列的叙述中正确的是 ( A)在队列中只能插入数据 ( B)在队列中只能 删除数据 ( C)队列是先进先出的线性表 ( D)队列是先进后出的线性表 4 下列关于结构化程序
2、设计原则和方法的描述中,错误的是 ( )。 ( A)选用的结构只准许有一个入口和一个出口 ( B)复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现 ( C)不允许使用 GOTO语句 ( D)语言中所没有的控制结构,应该采用前后一致的方法来模拟 5 栈通常采用的两种存储结构是 ( A)线性存储结构和链表存储结构 ( B)散列方式和索引方式 ( C)链表存储结构和数组 ( D) 线性存储结构和非线性存储结构 6 7 下面关于函数模板的表述中不正确的是 ( ) ( A)类模板的成员函数都是模板函数 ( B)类模板本身在编译过程中不会产生任何代码 ( C)类模板只能有虚拟类型的参数 ( D)用类模板
3、定义一个对象时,实参不能省略 8 数据字典是数据库设计需求分析阶段的重要工具之一,其最基本的方法是 ( ) ( A) 数据库定义 ( B)数据通信 ( C)数据定义 ( D)数据维护 9 下列数据结构中,按先进后出原则组织数据的是 ( A)线性链表 ( B)栈 ( C)循环链表 ( D)顺序表 10 关系表中的每一横行称为一个 ( A)元组 ( B)字段 ( C)属性 ( D)码 11 一个类的友元函数或友元类能够通过成员操作符访问该类的 ( )。 ( A)私有成员 ( B)保护成员 ( C)公有成员 ( D)公用成员、保护成员和私有成员 12 在公有派生的情况下,派生类中定义的成员函数只能访
4、问原基类的 ( A)公有成员和私有成员 ( B)私有成员和保护成员 ( C)公有成员和保护成员 ( D)私有成员、保护成员和公有成员 13 下 列字符串中,正确的 C+标识符是 ( A) foo-1 ( B) 2b ( C) new ( D) _256 14 有如下程序: #include iostream using namespace std; long fun(int n) if(n 2) return(fun(n-1)+fun (n-2); else return 2; int main() cout fun(3) end1; return 0; 则该程序的输出结果应该是 ( )。 (
5、 A) 2 ( B) 3 ( C) 4 ( D) 5 15 若执行下面的程序时,从键盘上输入 3和 4,则输出结果是 main( ) int a,b,s; cin a b; s=a; if(a B)s=b; s=s*s; cout s endl; ( A) 14 ( B) 16 ( C) 18 ( D) 20 16 以下选项中合法的实型常数是 ( )。 ( A) 5E2.0 ( B) E-3 ( C) 2E0 ( D) 1.3E 17 下面程序的运行结果是 ( )。 #include iostream.h class base protected: int a; public: base()c
6、out “0”; ; Class basel: Virtual base public: basel()cout “1”; ; Class base2: virtual base public: base2()cout “2”; ) ( A) 0123 ( B) 3120 ( C) 0312 ( D) 3012 18 设有定义 int a 1;float f 1.2;char c a;,则下列表示错误的是 ( A) a; ( B) f-; ( C) c ; ( D) 8 ; 19 下列关于 getline()函数的描述中,错误的是 ( )。 ( A)该函数可以用宋从键盘上读取字符串 ( B)该
7、函数读取的字符串 长度是受限制的 ( C)该函数读取字符串时,遇到终止符时便停止 ( D)该函数中所使用的终止符只能是换行符 20 下面程序的输出结果是 #include iostream.h class A public: A( ) cout “construtA“ endl; VirtualA( ) cout “destructA“ endl; class B: public A ; class C:public A ; class D:public B,public C ; void main( ) D d; ( A) constructA ( B) constructA ( C) co
8、nstructA ( D) constructA destructA constructA constructA constructA destructA constructA constrnctA destructA destructA constructA destructA destructA destructA destrctA destructA destructA 21 有如下程序: #include iostream #include iomanip using namespace std;int main()cout.fill(*);cout left setw(4) 123
9、“OK“ end1;return 0;执行这个程序的输出结果是 ( )。 ( A) 123*OK ( B) 123*OK* ( C) *123OK ( D) *123*OK 22 考虑下 面的函数原型; void f (int a,int b=7,char c=); 下面的函数调用中,不合法的是 ( )。 ( A) f(5) ( B) f(5,8) ( C) f(6, x=1; y=2; try(x,y,z,r); cout r end1; return 0; void try(int x,int y, int z,int r) z = x+y; x = x*x; y = y*y; r = z
10、+x+y; ( A) 18 ( B) 9 ( C) 10 ( D)不确定 25 有如下程序: #include iostream using namespace std; class Base private: char c; piblic: Base(char n): c(n) Base() cout C; ; class DeriVed: public Base private: char c; public: Derived(char n): Base(n+1), c(n) Derived() cout c; ; int main() Derived obj(x); return 0;
11、执行上面的程序将输出 ( A) xy ( B) yx ( C) x ( D) y 26 按照标识符的要求,下列选项中, ( )符号不能组成标识符。 ( A)连接符 ( B)下划线 ( C)大小写字母 ( D)数字字符 27 对下列程序的描述中,正确的是 ( )。 #include iostream using namespace std; int Fun(int, int); int main() cout Fun(5, 50) end1; return 0; int Fun(int x, int y) return x*x+y*y; ( A)该函数定义正确,但函数调用方式错误 ( B)该函数
12、调用方式正确,但函数定义错误 ( C)该函数的定义和调用方式都是正确的 ( D)该函数的定义和调用方式都是错误的 28 有如下程序: #include iostream using namespace std; class shapes protected: int x, y; public: void setvalue(int d, int w=O) x=d; y=w; virtual void disp()=O; ; class square : public shapes public: void disp () cout x*y end1; ; int main ( ) shapes
13、*ptr; square s1; ptr= ptr- setvalue (10, 5) ;ptr- disp(); return 0; 执行上面的程序将输出 ( )。 ( A) 50 ( B) 5 ( C) 10 ( D) 15 29 下述关于 break语句的描述中, ( )是不正确的。 ( A) break语句可用于循环体内,它将退出该重循环 ( B) break语句可用于 switch语句中,它将退出 switch语句 ( C) break语句可用于对体内,它将退出 if语句 ( D) break语句在一个循环体内可以出现多次 30 有以下程序 #include iostream.h f
14、loat fun(int x,int y) return(x+y); void main( ) int a=2, b=5, c=8; coutfun(int)fun(a+c,b) ,a-c) ; 程序运行后的输出结果是 ( A)编译出错 ( B) 9 ( C) 21 ( D) 9 31 下面这个程序的结果是 #include iostream.h class A private: int a; public: void seta( ); int geta( ); ; void A:seta( ) a = 1; int A:geta( ) return a; class ( A) 1 ( B)
15、2 ( C)随机输出 1或 2 ( D)程序有错 32 下列对重载函数的描述中,错误的是 ( )。 ( A)重载函数中不允许使用默认参数 ( B)重载函数中编译是根据参数表进行选择的 ( C)不要使用重载函数来描述毫不相干的函数 ( D)构造函数重载将会给初始化带来多种方式 33 下列程序的输出结果为 ( )。 int fun(int n) if(n=0)return 1; else return n*fun(n-1): return 0; void main() eout func(4) endl; ( A) 1 ( B) 10 ( C) 24 ( D) 11 34 下面对静态数据成员的描述
16、中,正确的是 ( )。 ( A)静态数据成员是类的所有对象共享的数据 ( B)类的每个对象都有自己的静态数据成员 ( C)类的不同对象有不同的静态数据成员值 ( D)静 态数据成员不能通过类的对象调用 35 下列有关函数重载的叙述中,错误的是 ( A)函数重载就是用相同的函数名定义多个函数 ( B)重载函数的参数列表必须不同 ( C)重载函数的返回值类型必须不同 ( D)重载函数的参数可以带有默认值 36 数据流图中父图和子图的平衡是指【 】。 37 下列函数的功能是判断字符串 str是否对称,对称则返回 true,否则返回 false。请在画线处填上适当内容,实现该函数。 bool fun(
17、char*str) int i: 0, j=0; while(strj) (6) ; for(J-; i jstri=strJ; i+, J-); return i (7) J; 38 软件设计模块化的目的是【 】。 39 关系操作的特点是【 】操作。 40 【 】是一种信息隐蔽技术,目的在于将对象的使用者和对象的设计者分开。 41 设在主函数中有以下定义和函数调用语句,且 fun()函数为 void类型,请写出fun()函数的首部 _。 int main() double s1022; int n: . fun (s): . return 0; 42 以下程序的输出结果是【 】。 #incl
18、ude iostream using namespace std; int main() int sum, i; for(sum=0, i=1; i 5; i+)sum+=i; cout sum endl; return 0; 43 阅读下面程序: #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);
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 笔试 模拟 249 答案 解析 DOC
