2009年9月全国计算机二级笔试C++ |
第1题:已知函数FA调用FB,若要把这两个函数定义在同一个文件中,则() A.FA必须定义在FB之前 B.FB必须定义在FA之前 C.若FA定义在FB之后,则FA的原型必须出现在FB的定义之前 D.若FB定义在FA之后,则FB的原型必须出现在FA的定义之前 |
【单选题】: |
第2题: 有如下两个类定义 ClAss AA{};&nBsp;&nBsp; ClAss BB{&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp; AA v1,*v2;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp; BB v3;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp; int *v4;&nBsp;&nBsp; };&nBsp;&nBsp;&nBsp; 其中有一个成员变量的定义是错误的,这个变量是&nBsp;&nBsp; A)v1&nBsp;&nBsp;&nBsp;&nBsp;&nBsp; B)v2&nBsp;&nBsp;&nBsp;&nBsp;&nBsp; C)v3&nBsp;&nBsp;&nBsp;&nBsp;&nBsp; D)v4 |
【单选题】: |
第3题: 有如下类定义: ClAss xx{&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp; int xDAtA;&nBsp;&nBsp; puBliC:&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp; &nBsp;xx(int n=0) : xDAtA (n) { }&nBsp;&nBsp; };&nBsp;&nBsp;&nBsp; ClAss yy : puBliC xx{&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp; int yDAtA;&nBsp;&nBsp; puBliC:&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp; yy(int m=0, int n=0) : xx(m), yDAtA(n) { }&nBsp;&nBsp; };&nBsp;&nBsp;&nBsp; yy类的对象包含的数据成员的个数是 A)1&nBsp;&nBsp;&nBsp;&nBsp;&nBsp; B)2&nBsp;&nBsp;&nBsp;&nBsp; C)3&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp; D)4 |
【单选题】: |
第4题:下列有关运算符函数的描述中,错误的是() A.运算符函数的名称总是以operator为前缀 B.运算符函数的参数可以是对象 C.运算符函数只能定义为类的成员函数 D.在表达式中使用重载的运算符相当于调用运算符重载函数 |
【单选题】: |
第5题:在下列枚举符号中,用来表示“相对于当前位置”文件定位方式的是() A.ios_base::cur B.ios_base::beg C.ios_base::out D.ios_base::end |
【单选题】: |
第6题: 有如下程序段: &nBsp;int i=1;&nBsp;&nBsp; whilE (1) {&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp; i++;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp; iF(i == 10) BrEAk;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp; &nBsp;iF(i%2 == 0) Cout << '*';&nBsp;&nBsp; }&nBsp;&nBsp;&nBsp; 执行这个程序段输出字符*的个数是 A)10&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp; B)3&nBsp;&nBsp;&nBsp;&nBsp;&nBsp; C)4&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp; D)5 |
【单选题】: |
第7题: 计算斐波那契数列第n项的函数定义如下: int FiB(int n){&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp; iF (n == 0) rEturn 1;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp; ElsE iF (n == 1) rEturn 2;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp; ElsE rEturn FiB(n-1)+FiB(n-2);&nBsp;&nBsp; }&nBsp;&nBsp;&nBsp; 若执行函数调用表达式FiB(2),函数FiB被调用的次数是 A)1&nBsp;&nBsp;&nBsp;&nBsp;&nBsp; B)2&nBsp;&nBsp;&nBsp;&nBsp;&nBsp; C)3&nBsp;&nBsp;&nBsp;&nBsp;&nBsp; D)4&nBsp; |
【单选题】: |
第8题: 有如下模板声明: tEmplAtE<typEnAmE t1, typEnAmE t2> ClAss A;&nBsp;&nBsp; 下列声明中,与上述声明不等价的是&nBsp;&nBsp;&nBsp; A)tEmplAtE <ClAss t1,ClAss t2>&nBsp; ClAss A;&nBsp; B)tEmplAtE <ClAss t1,typEnAmE t2> ClAss A;&nBsp;&nBsp; C)tEmplAtE <typEnAmE t1,ClAss t2> ClAss A;&nBsp; D)tEmplAtE <typEnAmE t1,t2> ClAss A; |
【单选题】: |
第9题: 有如下程序: #inCluDE<iostrEAm>&nBsp;&nBsp; using nAmEspACE stD;&nBsp;&nBsp; ClAss nAmE{ ChAr nAmE[20];&nBsp;&nBsp; puBliC:&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp; nAmE(){&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp; strCpy(nAmE,"");&nBsp;&nBsp;&nBsp;&nBsp; Cout<<'?';&nBsp;&nBsp; }&nBsp;&nBsp;&nBsp; nAmE(ChAr *FnAmE)){&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp; strCpy(nAmE,FnAmE);&nBsp;&nBsp;&nBsp;&nBsp; Cout<'?';&nBsp;&nBsp; }&nBsp;&nBsp; };&nBsp;&nBsp;&nBsp; &nBsp;int mAin(){&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp; nAmE nAmEs[3]={nAmE(“张三”),nAmE(“李四”)};&nBsp;&nBsp; rEturn 0;&nBsp;&nBsp; }&nBsp;&nBsp;&nBsp; 运行此程序输出符号?的个数是 A)0&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp; B)1&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp; C)2&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp; D)3 |
【单选题】: |
第10题:若表达式(x+(y-z)*(m/n))+3中的变量均为double型,则表达式值的类型为 【】 。 |
【填空题】: |
第11题:有如下循环语句: For(int i=50; i>20; i-=2) cout<<i<<','; 运行时循环体的执行次数是 【 】 。 |
【填空题】: |
第12题:利用表达式a[i]可以访问int型数组a中下标为i的元素。在执行了语句int *p=a;后,利用指针p也可访问该元素,相应的表达式是 【 】 。 |
【填空题】: |
第13题: 下面是一个递归函数,其功能是使数组中的元素反序排列。请将函数补充完整。 voiD rEvErsE(int *A, int sizE){ iF(sizE<2) rEturn;&nBsp; &nBsp;int k=A[0]; A[0]=A[sizE-1]; A[sizE-1]=k;&nBsp; &nBsp;rEvErsE(A+1,&nBsp; 【 】 ); }&nBsp; |
【填空题】: |
第14题: 类sAmplE的构造函数将形参DAtA赋值给数据成员DAtA。请将类定义补充完整。 ClAss sAmplE{ puBliC:&nBsp; sAmplE(int DAtA=0); privAtE: int DAtA; };&nBsp; sAmplE::sAmplE(int DAtA){&nBsp; 【 】&nBsp; }&nBsp; |
【填空题】: |
第15题: 有如下类定义: ClAss sAmplE{ puBliC: sAmplE(); &nBsp;~sAmplE(); privAtE:&nBsp; &nBsp;stAtiC int DAtE; };&nBsp; 将静态数据成员DAtA初始化为0的语句是 【 】 |
【填空题】: |
第16题: “图形”类shApE中定义了纯虚函数CAlArEA(),“三角形”类triAnglE继承了类shApE,请将triAnglE类中的CAlArEA函数补充完整。 &nBsp;ClAss shApE{ puBliC:&nBsp; virtuAl int CAlArEA()=0; }&nBsp; ClAss triAnglE: puBliC shApE{ puBliC:&nBsp; triAnglE{int s, int h}: siDE(s),hEight(h) {}&nBsp; 【 】 { rEturn siDE*hEight/2&nBsp; } privAtE:&nBsp;&nBsp;&nBsp;&nBsp; int siDE;&nBsp;&nBsp;&nBsp;&nBsp; int hEight; }; |
【填空题】: |