2002年C++程序设计试题_第1页
2002年C++程序设计试题_第2页
2002年C++程序设计试题_第3页
2002年C++程序设计试题_第4页
2002年C++程序设计试题_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一、选择题(共40分,每个选择题2分)1 .下面四个选项中,均是不合法的用户标识符的选项是 。A)_LargeRoom, P_0, do B)float, ok, _new, _asmC)-0123, temp, INTD)足球,VC-L, goto, int2 .假定有以下变量定义: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%53 .以下程序的输出结果是。#include <iostream.h>void main() int a=12,b=12;cout<<a

2、+<<' '<<b-<<endl; A)10 10B)12 12C)11 10D)11 134 .已知函数的原型说明为int f(int&, char*);另有变量说明如下:char str100; int k;如要调用以上函数,那么正确的函数调用形式为 。A) f(str,&k);B) f(str100, k);C) f(k,str);D) f(str,&k);5 .设整型变量a表示天不下雨,整型变量 b表示无任何会议通知,语句 c表示我去图书 官;则“如果天不下雨并且无任何会议通知我去图书官”正确表示的C+语句为A

3、)if (a|b) £B) if (a &&b) c;C) if (a|b) c;D) if (a<b) c;6 .为了避免嵌套的块语句的二义性,C+语言规定“ ”与 配对A)编辑时在同一列上的“ ”B)其之前最近的还没有配对过的“ ”C)其之后最近的“厂D)其之前最近的还没有配对过的“ ”7 .设有:int a=1, b=2, c=3, d=4,m=2, n=3;A) 1B) 28.在循环语句的循环体中使用A)二语句都结束循环C)二语句都结束本次循环执行(m=a<b) | (n=c>d)后n的值为C)3D) 4break和continue语句的作用

4、分别是B)结束本次循环和结束循环D)结束循环和结束本次循环9 .对于for (int Count=1; Count<5; );语句,其循环体的执行情况是: :A)死循环 B)至少执行一次C)至少执行二次D)不执行10 .下列叙述中,正确的是 。A)类的构造函数不可以重载B)类的析构函数不可以重载C) 一个类不一定有构造函数D) 一个类不一定有析构函数11 .对于C +的函数,不正确的叙述是: 。A) 函数的定义不能嵌套,但函数的调用可以嵌套B) 函数体内不可以再定义一个函数,但函数体内可以调用另一个函数。C) 函数体内不可以再定义一个函数,但函数体内可以函数自身。D) 函数的定义和调用均

5、可以嵌套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,9B) int a55, *num

6、5=&a0, &a1, &a2, &a3, &a4;C) int a55=1,3,5,7,9; int *num5= a0, a1, a2, a3, a4;D)int a34, (*num)4;num1=&a13;15 .下面程序的运行结果是 。#include <iostream.h>struct stuint i,j;float Eng,Math,CPP;void main(void) char a='a','b','c','d'cout<< "

7、i=" << sizeof(stu)+sizeof(a) <<'n'A. i=4 B. i=20 C. i=24 D. i=3516 .下面程序的运行结果是 。#include <iostream.h>static int c;void main(void)#ifc*3int i=10.88;cout<<"i="<<i<<"n"#elseint j=10000.99; cout<<"j="<<j<<&q

8、uot;n"#endifA. j=10000 B. j=10.88 C. j=10000.99 D. j=1017 .下列叙述,正确的是。A) 派生类对象不可以赋给基类对象B) 派生类对象的地址不可以赋给基类的指针变量C) 基类对象不可以赋给派生类对象D)通过指向基类的指针变量不可访问基类对象中的成员18 .下面的说法正确的是。A)能由抽象类产生该抽象类的对象B)在定义纯虚函数时,能定义函数的实现部分C)若一个类没有定义析构函数,则系统不会自动为其产生一个缺省的析构函数D)不可以把构造函数定义为虚函数19 .下面程序的输出是 。注:sin(3.1415/2)=1; sin(10)=-

9、0.544021;#include <iostream.h>#include <math.h>int sin(int x)return x;void main( void ) int x=10;float y=3.1415/2;cout<<sin(x)<< t ' - cout<<sin(y)<<endl;A)101B)-0.5440211C) -0.5440211.57075D)101.5707520.执行以下程序时,调用构造函数(以下简称为构造)和完成拷贝的构造函数(以下简称 为拷贝)的次数分别为是。A)1次构

10、造,1次拷贝B) 1次构造,2次拷贝C) 2次构造,1次拷贝D)2次构造,2次拷贝#include <iostream.h>class Testint x,y;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 << "x="<<x<<'t'<<

11、;"y="<<y<<'n';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 <iostream.h>float p(float &x,int &i)x=x+1.5; i=i-x;return x; void main()

12、int i=10;float x=2.6,y;y=p(x,i)-1;cout<<"x="<<x <<",i="<<i;3. (2分)以下程序的输出结果是 。#include <iostream.h>void main(void)int x=12;docout<<(x -=2)<<'t;while(!(-x);4. (4分)运行以下程序的输出结果是 注:(cr)一表示回车键.#include <iostream.h> void main(void) ch

13、ar *s="abcdef"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);case 4: cout<<(char) (c+2) <<' n' break;cout<<endl;5. (3分)运行以下程序的输出结果是 。#inc

14、lude <iostream.h>void swap(int &p1,int &p2) int p;p=p1;p1=p2;p2=p; void main(void )int x=5, y=10;coutvv"x="v<xvv't'vv"y="vvyvv'n'swap(x,y);coutvv"x="v<xvv't'vv"y="vvyvv'n' 6. (3分)以下程序的运行结果是 。#include <iost

15、ream.h>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<< avv','vvbvv','v<cvv'n'7. (4分)下面程序的输出是 。#include <iostream.h>class Apublic:int x;void Show()cout <<"A 类就是 A 类n”;;class Bpublic:int

16、y;void Show()cout<<"B 类就是 B 类n"class C: public A,public Bpublic:int y;void main(void)C c1; c1.B:Show();c1.A:Show(); 8. (4分)下面程序的输出是#include <iostream.h>class A protected: int x; public:A()x =1000;virtual voidp()cout <<"x="<<x<<'n' p2();virtua

17、l voidp2()cout<<"A:p2()"<<endl;class C:public Aint z;public:C()z=3000;void p()cout <<"z="<<z<<'n' p2();virtual voidp2()cout<<"C二p2()"<<endl;void main(void )C c;A a,*pa=&a;pa->p();pa=&c;pa->p();9. (3分)以下程序的运

18、行结果是一#include <iostream.h>void p1(char s ,int i) if(si!=0) p1(s,i+1);cout<<si;void p2(char s ,int i) cout<<si;if(si!=0)p2(s,i+1); void main(void) char str尸"OKOKOK"cout << str << "n"p1(str,0);cout <<'n'p2(str,0);cout <<'n'1

19、0. (3分)以下程序的运行结果是 一#include <iostream.h> class R private: int Left; public: R(int L) Left =L; cout<<"An" R() Left =0; cout<<"Bn" void Print(void)cout<<Left<<'n' R()if (Left!=0)cout<<"An"else cout<<"Bn" void mai

20、n(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 <fstream.h> void main(void) float x,number,sum=0;ifstream f1("file1.txt");ofstream f2("file2.

21、txt");f1>>number;while(f1>>x) sum+=x;if(number!=0) f2<<sum/number;f1.close();f2.close();三、完善程序(答题请注明序号)1 (6分 )用 for 语句实现如下程序段相同的功能:A. (2 分 )int count=0;loop:;count+;if (count<100) goto loopB. (2 分 )int count=-100;while (count<0) count+;C. (2 分 )count=-10;do count+;while(

22、count<10);return2 (4 分 )下面的函数的功能是从数组a 中找出最大值和最小值,将找出的最大值用语句返回,而将求出的最小值通过参数min 带回。完善函数体。float FindMaxMin( float a , int n, float *min) float max;/定义存放最大值的变量max=*min=a0;/对最大值最小值初始化for(int i=1; i<n; i+) /利用循环依次查找最大最小值/插入相应的程序2 分return max;/利用函数值返回最大值main()int n;float a200;float max, *min=&a0;cout&

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论