| 全国计算机等级考试 历年真题 2007年计算机等级考试二级C++笔试模拟试题(4) |
一、选择题(每题2分,共计70分) |
|
|
|
2.若某二叉树的前序遍历访问顺序是abdgcefh,中序遍历访问顺序是dgbaechf, 则其后序遍历的节点访问顺序是 A)bdgcefha B)gdbecfha C)bdgaechf D)gdbehlca
|
|
A
B
C
D
|
3.一些重要的程序语言油口C语言和Pascal语言)允许过程的递归调用而实现递归 调用中的存储分配通常用 A)栈 B)堆 C)数组 D)链表
|
|
A
B
C
D
|
4.软件工程的理论和技术性研究的内容主要包括软件开发技术和 A)消除软件危机 B)软件工程管理 C)程序设计自动化 D)实现软件可重用
|
|
A
B
C
D
|
5.开发软件时对提高开发人员工作效率至关重要的是 A)操作系统的资源管理功能 B)先进的软件开发工具和环境 C)程序人员的数量 D)计算机的并行处理能力
|
|
A
B
C
D
|
6.在软件测试设计中,软件测试的主要目的是 A)实验性运行软件 B)证明软件正确 C)找出软件中全部错误 D)发现软件错误而执行程序
|
|
A
B
C
D
|
7.数据处理的最小单位是 A)数据 B)数据兀素 C)数据项 D)数据结构
|
|
A
B
C
D
|
8.引索属于 A)模式 B)内模式 C)外模式 D)概念模式
|
|
A
B
C
D
|
9.下述关于数据库系统的叙述中正确的是 A)数据库系统减少了数据冗余 B)数据库系统避免了一切冗余 C)数据库系统中数据的一致性是指数据类型一致 D)数据库系统比文件系统能管理更多的数据
|
|
A
B
C
D
|
10.数据库系统的核心是 A)数据库 B)数据库管理系统 C)模拟模型 D)软件工程
|
|
A
B
C
D
|
11.下列关于C++语言类的描述中错误的是 A)类用于描述事物的属性和对事物的操作 B)类与类之间通过封装而具有明确的独立性 C)类与类之间必须是平等的关系,而不能组成层次结构 D)类与类之间可以通过一些方法进行通信和联络
|
|
A
B
C
D
|
12.在C++语言中.表不一条语句结束的标号是 A)# B): C)// D)}
|
|
A
B
C
D
|
13.以下叙述中正确的是 A)构成C++语言程序的基本单位是类 B)可以在一个函数中定义另一个函数 C) main()函数必须放在其他函数之前 D)所有被调用的函数一定要在调用之前进行定义
|
|
A
B
C
D
|
14.己知有定义 const int D二5; int i=1; double f=0.32: char c=15; 则下列选项错误的是 A)++i; B)D--; C)C++; D)--f;
|
|
A
B
C
D
|
15.以下程序的输出结果是 #include(iostream. h> void reverse(int a[],int n) { int i,t; for(i=0;;<n/2;i++) {t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;} } void main() { int b[10]={1,2,3,4,5,6,7,8,9,10};int i,s=0; reverse(b,8); for(i=6;i<10;i++)s+=b[i]; cout<<s; } A)22 B)10 C)34 D)30
|
|
A
B
C
D
|
16.下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除,在划线处应填入的选项是 #include<iostream. b> void main() { int i=0,j,k; do{i++;k=316-13*i;}while( ); j=k/11; cout<<”316=13*”<<i<<”+11*”<<i; } A)k/11 B)k% 11 C)k/11==0 D)k%11==0
|
|
A
B
C
D
|
17.设有数组定义:char array[]=”China";,则数组array所占的空间为 A)4个字节 B)5个字节 C) 6个字节 D)7个字节
|
|
A
B
C
D
|
18.若已定义: int a[]={0,1,2,3,4,5,6,7,8,9},*P=a,i; 其中O≤i≤9,则对a数组元素不正确的引用是 A)a[p-a] B)*(&a[i]) C)p[i] D)a[10]
|
|
A
B
C
D
|
19.以下程序的输出结果是 #include<iostream. h> void main() { int x=1,y=3; cout<<x++<<”,”; {int x=0;x+=y*2; cout<<x<<”,”<<y<<” ”; } cout<<x<<”,”<<y; } A) 1,6,3,1,3 B)1,6,3,6,3 C)1,6,3,2,3 D)1,7,3,2,3
|
|
A
B
C
D
|
20.函数fun的返回值是 fun(char*a,char*b) { int num=0,n=0; while(*(a+num)!=‘\0’)num++; while(b[n]){*(a+num)=b[n];num++;n++;} return num; } A)字符串a的长度 B)字符串b的长度 C)字符串a和b的长度之差 D)字符串a和b的长度之和
|
|
A
B
C
D
|
21.下面程序的结果为 #include<iostream. h> void main() { int i; int a[3][3]={1,2,3,4,5,6,7,8,9}; for(i=0;i<3;i++) cout<<a[2-i][i]<<” ”; } A)1 5 9 B)7 5 3 C)3 5 7 D) 5 9 1
|
|
A
B
C
D
|
22.下面程序的结果为 #include<iostream. h> int c; class A { private: int a; static int b; public; A(){a=0;c=0;} void seta(){a++;} void setb(){b++;} void setc(){c++;} void display(){cout<<a<<” ”<<b<<” ”<<c;} }; int A::b=0; void main() { A al,a2; al.seta(); al.setb(); al.setc(); a2.seta(); a2.setb(); a3.setc(); a2.display(); A)121 B)122 C)112 D)222
|
|
A
B
C
D
|
23.下列描述中哪个是正确的。 A)私有派生的子类无法访问父类的成员 B)类A的私有派生子类的派生类C无法初始化其祖先类A对象的属性,因为类A的成员对类C是不可访问的 C)私有派生类不能作为基类派生子类 D)私有派生类的所有子孙类将无法继续继承该类的成员
|
|
A
B
C
D
|
24.下列关于构造函数说法不正确的是 A)构造函数必须与类同名 B)构造函数可以省略不写 C)构造函数必须有返回值 D)在构造函数中可以对类中的成员进行初始化
|
|
A
B
C
D
|
25.如果友元函数重载一个运算符时,其参数表中没有任何参数则说明该运算符是 A)一元运算符 B)二元运算符 C)选项A)和选项B)都可能 D)重载错误
|
|
A
B
C
D
|
26.在重载一个运算符时,如果其参数表中有一个参数,则说明该运算符是 A)一元成员运算符 B)二元成员运算符 C)一元友元运算符 D)选项B)和选项C)都可能
|
|
A
B
C
D
|
27.下列关于模板的说法正确的是 A)模板的实参在任何时候都可以省略 B)类模板与模板类所指的是同一概念 C)类模板的参数必须是虚拟类型的 D)类模板中的成员函数全部都是模板函数
|
|
A
B
C
D
|
28.表示在输出时显示小数位,和在文件输入时判断文件尾的函数分别是 A) showbase()和eof() B)showpoint()和eof() C)showpoint()和bad() D)showpoint()和good()
|
|
A
B
C
D
|
29.下面程序段的运行结果是 void main() { int t,a,b,c; a=1;b=2;c=2: while(a<b<c) {t=a;a=b;b=t;c--;} cout<<a<<”,”<<b<<”,”<<c; } A)1,2,0 B)2,1,0 C)1,2,1 D)2,1,1
|
|
A
B
C
D
|
30.下列程序中画线处应填入的语句是 class Base { public: void fun(){cout<<”Base of fun”<<endl;} }; class Derived:public Base { void fun() { //显示基类的成员函数fun cout<<”Derived of fun”<<endl; }; A)fun(); B)Base. fun(); C)Base::fun();D)Base->fun-:
|
|
A
B
C
D
|
31.若定义int k=7,x=12;,则值为3的表达式是 A)x%=(k%=5) B)x%=(k-k%5) C)x%=k-k%5 D)(x%=k)-(k%=5)
|
|
A
B
C
D
|
32.在位运算中,操作数每右移一位,其结果相当于 A)操作数乘以2 B)操作数除以2 C)操作数乘以4 D)操作数除以4
|
|
A
B
C
D
|
33.有以下结构体说明和变量的定义,且指针p指向变量a,指针q指向变量b。 则不能把节点b连接到节点a 之后的语句是 struct node { char data; struct node*next; }a,b,*p=&a,*q=&b; A)a. next=q; B)p. next=&b; C)p->next=&b; D)(*p).next=q;
|
|
A
B
C
D
|
34.一个类的友元函数能够访问该类的 A)私有成员 B)保护成员 C)公有成员 D)所有成员
|
|
A
B
C
D
|
35.下面程序的输出结果是 #include<iostream. h> #include<string. h> void main() { char p1[10],p2[10]; strepy(p1,”abc”): strcpy(p2,”ABC”); char str[50]=”xyz”; strcpy(str+2,strcat(p1,p2)); cout<<str; } A)xyzabcABC B)zabcABC C)xyabcABC D)yzabcABC
|
|
A
B
C
D
|
二、填空题(每空2分,共计30分) |
| 1.在树形结构中,树根节点没有 【1】 。
|
| 输入答案,中间不含空格:
|
2.Jackson结构化程序设计方法是英国的M. Jackson提出的, 它是一种面向 【2】 的设计方法。
|
| 输入答案,中间不含空格:
|
| 3.面向对象的模型中,最基本的概念是对象和 【3】 。
|
| 输入答案,中间不含空格:
|
| 4.软件设计模块化的目的是 【4】 。
|
| 输入答案,中间不含空格:
|
5.数据模型按不同应用层次分成3种类型,它们是 概念数据模型、 【5】 和物理数据模型。
|
| 输入答案,中间不含空格:
|
| 6.派生类的成员一般分为两部分,一部分是 【6】 ,另一部分是自己定义的新成员。
|
| 输入答案,中间不含空格:
|
7.以下程序输出的结果是 【7】 。 #include<]ostream. h> void main() { int a=5,h=4,c=3,d; d=(a>b>c); cout<<d; }
|
| 输入答案,中间不含空格:
|
8.设i,j,k均为int型变量,则执行完for(i=0,j=10;i<=j;i++,j-- k=i+j;语句后, k的值为 【8】 。
|
| 输入答案,中间不含空格:
|
9.如果要把返回值为void的函数A声明为类B的友元函数, 则应在类B的定义中加入的语句是 【9】 。
|
| 输入答案,中间不含空格:
|
| 10.如果类B继承了类A,则称类A为类B的基类,类B称为类A的 【10】 。
|
| 输入答案,中间不含空格:
|
| 11.将x+y中的+运算符用友元函数重载应写为 【11】 。
|
| 输入答案,中间不含空格:
|
12.已知程序的结果为123,请填空
#include<iostream.h> template<class T> class A { public: Tx,y,z: void display(){cout<<x<<” ”<<y<<” ”<<z;} } void main() { <Int>al; 【12】 【13】 【14】 al.display(); }
|
| 输入答案,中间不含空格:
|
| 13.上一题【13】
|
| 输入答案,中间不含空格:
|
| 14.上一题【14】
|
| 输入答案,中间不含空格:
|
15.下列程序段的输出结果是 【15】 。 cout<<fixed<<509.123456789<<endl;
|
| 输入答案,中间不含空格:
|
Hi,亲爱的朋友,欢迎光临Passtwo!
您想做点什么呢?
I Want....
热门软件下载
实用电子地图
本站隆重推荐自主开发的VFP上机模拟系统免费下载使用
二级vfp上机模拟系统
|