2002年C++程序设计试题
更新时间:2024-04-19 08:19:01 阅读量: 综合文库 文档下载
一、选择题(共40分,每个选择题2分)
1.下面四个选项中,均是不合法的用户标识符的选项是 。
A)_LargeRoom, P_0, do B)float, ok, _new, _asm C)-0123, temp, INT D)足_球,VC-L, goto, int 2.假定有以下变量定义: int k=8,x=21;
则能使x的值为5的表达式是 。
A) x%=(k%=5) B)x%=(k-k%5) C)(x%=k)-(k%=5) D)x%=k-k%5 3.以下程序的输出结果是 。 #include
cout<
A)10 10 B)12 12 C)11 10 D)11 13
4.已知函数的原型说明为int f( int &, char *); 另有变量说明如下:char str[100]; int k; 如要调用以上函数,那么正确的函数调用形式为 。 A) f(str,&k); B) f(str[100], k); C) f(k,str); D) f(str,&k);
5.设整型变量a表示天不下雨,整型变量b表示无任何会议通知,语句c表示我去图书官;则“如果天不下雨并且无任何会议通知我去图书官”正确表示的C++语句为 。 A)if (a|b) {c;} B) if (a &&b) {c;} C) if (a||b) {c;} D) if (a
6.为了避免嵌套的块语句的二义性,C++语言规定“}”与 配对。 A) 编辑时在同一列上的“{ ” B) 其之前最近的还没有配对过的“}” C) 其之后最近的“{”
D) 其之前最近的还没有配对过的“{” 7.设有:int a=1, b=2, c=3, d=4,m=2, n=3;
执行(m=ad) 后n 的值为 。 A) 1 B) 2 C) 3 D) 4
8.在循环语句的循环体中使用 break 和 continue语句的作用分别是: 。 A)二语句都结束循环 B)结束本次循环和结束循环 C)二语句都结束本次循环 D)结束循环和结束本次循环
9.对于 for (int Count=1; Count<5; ){;} 语句 ,其循环体的执行情况是: 。 A) 死循环 B) 至少执行一次 C) 至少执行二次 D) 不执行 10.下列叙述中,正确的是 。
A)类的构造函数不可以重载 B)类的析构函数不可以重载
1
C) 一个类不一定有构造函数 D) 一个类不一定有析构函数 11.对于C++的函数,不正确的叙述是: 。
A) 函数的定义不能嵌套,但函数的调用可以嵌套
B) 函数体内不可以再定义一个函数,但函数体内可以调用另一个函数。 C) 函数体内不可以再定义一个函数,但函数体内可以函数自身。 D) 函数的定义和调用均可以嵌套 12.下面的说法不正确的是 。
A) 函数在重载时其函数名应相同 B) C++中所有运算符都可以重载
C) 基类中定义了虚函数ab(int,int),若在派生类中重新定义为ab(int),则在派生类中,ab为函数重载
D) 对于基类中定义的运算符重载函数,在派生类中不一定可继承。 13.若有说明 char * (*f) (int ); 则以下 是正确的。
A) f是一个返回值为字符型指针的函数 B) f是指向一个函数指针,该函数返回值为字符
C) f是指向一个函数指针,该函数返回值为字符型指针 D) 语法错
14.以下正确的说明语句是 。 A) int *b[ ]={1,3,5,7,9}
B) int a[5][5], *num[5]={&a[0], &a[1], &a[2], &a[3], &a[4]};
C) int a[5][5]={1,3,5,7,9}; int *num[5]= {a[0], a[1], a[2], a[3], a[4]}; D)int a[3][4], (*num)[4]; num[1]=&a[1][3]; 15.下面程序的运行结果是 。 #include
int i,j;
float Eng,Math,CPP; };
void main(void)
{ char a[]={'a','b','c','d'};
cout<< \A. i=4 B. i=20 C. i=24 D. i=35 16.下面程序的运行结果是 。 #include
#if c*3
2
int i=10.88;
cout<<\ #else
int j=10000.99;
cout<<\ #endif }
A. j=10000 B. j=10.88 C. j=10000.99 D. j=10 17.下列叙述,正确的是 。
A) 派生类对象不可以赋给基类对象
B) 派生类对象的地址不可以赋给基类的指针变量 C) 基类对象不可以赋给派生类对象
D)通过指向基类的指针变量不可访问基类对象中的成员 18. 下面的说法正确的是 。 A)能由抽象类产生该抽象类的对象
B)在定义纯虚函数时,能定义函数的实现部分
C)若一个类没有定义析构函数,则系统不会自动为其产生一个缺省的析构函数 D)不可以把构造函数定义为虚函数
19.下面程序的输出是 。注:sin(3.1415/2)=1; sin(10)=-0.544021; #include
float y=3.1415/2; cout< A)10 1 B)-0.544021 1 C) -0.544021 1.57075 D)10 1.57075 20.执行以下程序时,调用构造函数(以下简称为构造)和完成拷贝的构造函数(以下简称为拷贝)的次数分别为是 。 A)1次构造,1次拷贝 B) 1次构造,2次拷贝 C) 2次构造,1次拷贝 D)2次构造,2次拷贝 #include int x,y; 3 public: Test(int a,int b) { x=a;y=b; cout<<\调用了构造函数!\\n\Test(Test &t) { x=t.x; y=t.y; cout<<\调用了完成拷贝的构造函数!\\n\void Show() { cout << \ } }; void main(void) { Test t1(1,1), t2(2,2); t2=t1; Test t3(t1); } 二、填空(35分) 1.(3分)若x=0,y=1,z=2,则执行语句: z= (++x) &&(y++); 执行完以上语句后,三个变量的值分别为: x= y= z= 。 2.(2分)以下程序的输出结果是 , #include cout<<\ 3.(2分)以下程序的输出结果是 。 #include int x=12; do{ cout<<(x -=2)<<'\\t'; }while(!(--x)); } 4.(4分)运行以下程序的输出结果是 {注:(cr)—表示回车键} 。 #include 4 { char *s=\ char c; while (c=*s++) switch (c-'2') { case 0: case 1: cout<<(char) (c+4); case 2: cout<<(char) (c+4)<<’\\n’; break; case 3: cout<<(char) (c+3); default: cout<<(char) (c+2) <<’\\n’; break; } cout< 5.(3分)运行以下程序的输出结果是 。 #include void swap(int &p1,int &p2) { int p; p=p1;p1=p2;p2=p; } void main(void ) { int x=5, y=10; cout<<\ swap(x,y); cout<<\6.(3分)以下程序的运行结果是 。 #include void sub(int x, int y, int &z) { z=y-x;} void main(void ) { int a, b, c; sub(10,5,a); sub(7,a,b); sub(a,b,c); cout<< a<<','< 7.(4分)下面程序的输出是 。 5 #include void Show(){cout <<\类就是A类\\n\}; class B{ public:int y; void Show(){cout<<\类就是B类\\n\class C: public A,public B {public:int y;}; void main(void) {C c1; c1.B::Show();c1.A::Show(); } 8.(4分)下面程序的输出是 #include public: A(){x =1000;} virtual void p(){cout <<\ virtual void p2(){cout<<\ }; class C:public A{ int z; public: C(){z=3000;} void p(){cout <<\ virtual void p2(){cout<<\ }; void main(void ){ C c; A a,*pa=&a; pa->p(); pa=&c;pa->p();} 9.(3分)以下程序的运行结果是 #include 6 void p2(char s[ ],int i) { cout< if(s[i]!=0)p2(s,i+1); } void main(void) { char str[]=\ cout << str << \ p1(str,0);cout <<'\\n'; p2(str,0);cout <<'\\n'; } 10.(3分)以下程序的运行结果是 #include private: int Left; public: R(int L) {Left =L; cout<<\ R() {Left =0; cout<<\ void Print(void){cout< ~R(){if (Left!=0)cout<<\void main(void ){ R r1(10),r2; r1.Print; r2.Print();} 11.(4分)在当前目录中有文本文件file1.txt,文件内容为某班前10名的C++成绩,第一个10表示文件中后面有10个数,如下: 10 96 95 94 93 92 88 87 86 86 85 执行下面的程序后,文件file2中的内容是 文件file2中的内容表示 。 #include { float x,number,sum=0; ifstream f1(\ofstream f2(\f1>>number; while(f1>>x) sum+=x; if(number!=0) f2< 7 三、完善程序(答题请注明序号) 1.(6分)用for语句实现如下程序段相同的功能: A. (2分) int count=0; loop:{;;;};count++; if (count<100) goto loop B. (2分) int count=-100; while (count<0){ count++;}; C. (2分) count=-10; do { count++; }while(count<10); 2. (4分)下面的函数的功能是从数组a中找出最大值和最小值,将找出的最大值用return语句返回,而将求出的最小值通过参数min带回。完善函数体。 float FindMaxMin( float a[ ], int n, float *min) { float max; //定义存放最大值的变量 max=*min=a[0]; //对最大值最小值初始化 for(int i=1; i } return max; //利用函数值返回最大值 } main() { int n; float a[200]; float max, *min=&a[0]; cout<<\请输入的 n 数值,n小于200\cin>>n; // 输入n 个数,输出最大值及最小值 8 // 插入相应的程序 2分 } 3(4分)若一链表结点结构如下: struct Node{ int data; Node *next;}; 完善如下DeleteNode()函数;函数的功能为:若从链表的首指针 h所指向的链表中找到一个结点的数据为x时,则从该链表中删除该结点。指针 h的值为0(NULL)时,表示链表为空。允许x不在链表中。 Node * DeleteNode(Node *h, int x) { Node *p,*q; if(h == 0) return h; if(h->data==x) { if(h->data==x) { } //插入相应的程序 3分 } else { } //插入相应的程序 3分 } return h; } 四、(10分)根据题目要求写出程序 1.(4分)用两种不同的方法求出二个整数的最大公约数。且求二个整数的最大公约数用函数来实现,该函数放在一个头文件中(如 xxx.h)。二个整数从键盘输入。 (1)写出二个求整数的最大公约数函数;放在一个头文件中(如 xxx.h)//2分 (2)写出主函数;//2分 2.(6分)描述一个复数类Complex,私有数据为实部Real和虚部Imag 要求Complex类能提供如下操作(方法): (1) 有构造函数,缺省时实部Real和虚部Imag置为0;//1分 (2) 能修改并读取Real的值; //1分 (3) 能修改并读取Imag的值 //1分 (4) 重载运算符 +=,完成两个复数的加法;//1分 9 (5) 重载运算符 -=,完成两个复数的减法;//1分 (6) 重载运算符 *=,完成两个复数的乘法;//1分 10
正在阅读:
2002年C++程序设计试题04-19
辨析 damage, destroy, ruin, spoil10-17
大学体验英语上机听力答案5级全(新)10-21
语言理解能力与儿童心理理论测试成绩的关系05-18
浅析城市道路工程测量质量的有效控制04-13
第三季度重点工作观摩会上的讲话04-02
第机械手与注塑机的连接11-16
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- C++
- 程序设计
- 试题
- 2002