C题目含答案.pdf_第1页
C题目含答案.pdf_第2页
C题目含答案.pdf_第3页
C题目含答案.pdf_第4页
C题目含答案.pdf_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

C+复习资料 1、 选择题 1、若X是一个bool型变量,则X else z=3; 要得到z=3的结果,满足条件的一组数是( D ) A、x=1,y=2 B、x=1,y=0 C、x=2,y=1 D、x=2,y=3 14下面是关于构造函数的说法,不正确的是( A )。 A. C+规定,每一个类必须有一个构造函数,没有构造函数就不能创 建对象 B. 如果没有提供一个类的构造函数(一个都未提供),则C+提供一 个默认的构造函数,该默认构造函数是个无参构造函数,它仅仅负责创 建对象 C. 虽然一个类定义了一个构造函数(不一定是无参构造函数), C+仍然提供默认的构造函数 D. 与变量定义类似,在用默认构造函数创建对象时,如果创建的是全 局对象或静态对象,则对象的位模式全为0,否则,对象值是随机的 15在下列说法中,不正确的是( B )。 A. 静态成员函数不能利用this指针 B. 只有非静态成员才可以使用this关键字,因为静态成员没有this指针 C.析构函数不接受任何参数,也不带有任何类型的返回值 D. 虚机制在构造函数和析构函数中仍然可以很好地工作,以实现多态 性 16声明类test的拷贝构造函数的正确形式是( D )。 A. int test B. void test C. test(void) D. test(test”的重载函数? ( C ) A、int BC(int a, int b) B、 void BC(int a, char b) C、float BC(int a, int b, int c = 0) D、 void BC(int a, int b=0) 21 .如果a=1,b=2,c=3,d=4,则条件表达式“ab?a:c void prt(int *x,int *y,int *z) cout void func(char *m) +m; cout int fun(char *s) char *p=s; while (*p!=0) p+; return (p-s); void main() coutc B类是具有共同行为的若干对象的 统一描述体; C类是创建对象的样板; D类不是C中的一种数据类型; 52. 在32位机中,double型字宽为( D )字节。 A2; B4;C 6; D8 53. 在int a3=1,0,3,2,4,5,6,0;中a22的值是( C )。 A0; B5; C6; D2 54. 对于double (*p)10;的描述,( A )是正确的。 A. p是一个指向数组的指针,所指向的数组是10个double型元 素; B. p是一个指向某个数组中第10个元素的指针,该元素是double 型变量; C. p5表示某个数组的第10个元素的值; D. p是一个具有10个元素的指针数组,每个元素是一个double型 指针; 55. 下述关于开关语句的描述中,( A )是正确的。 A. 开关语句中default子句可以没有,也可以有一个; B. 开关语句中每个语句序列中必须有break语句; C. 开关语句中default子句只能放在最后; D. 开关语句中case子句后面的表达式可以是整形表达式。 56. 下列( D )是引用调用; A形参是指针,实参是地址值; B形参和实参都是变量; C形参是数组名,实参是数组名; D形参是引用,实参是变量。 57. ( A )是析构函数的特征。 A. 一个类中只能定义一个析构函数; B. 析构函数与类名不同; C. 析构函数的定义只能在类体内; D. 析构函数可以有各个或多个 参数。; 58. 关于new运算符的下列描述中,( D )是错的。 A. 它可以用来动态创建对象和对象数组; B. 使用它创建的对象或对象数组可以使用运算符 delete删除; C. 使用它创建对象时要调用构造函数; D. 使用它创建对象数组时必须指定初始值。 59. 已知fun(int)是类Test的公有成员函数,p是指向成员函数fun()的指 针,采用( D )是正确的: Ap=fun; Bp=Test:fun(); Cp=fun(); Dp=Test:fun; 60. 关于对象概念的描述中,(A )是错误的。 A. 对象就是C语言中的结构变量; B. 对象代表着正在创建的系统中的一个实体; C. 对象是一个状态和操作(或方法)的封装体; D. 对象之间的信息传递是通过消息进行的; 61. 下列给字符数组进行初始化中,( A )是正确的。 A. char s1 =“12345abcd“; B. char s23=“xyz“; C. char s33= a, x, y; D. char s423=“xyz“,“mnp“; 62. 对于int *pa5;的描述,( D )是正确的。 A. pa是一个指向数组的指针,所指向的数组是5个int型元素; B. pa是一个指向某个数组中第5个元素的指针,该元素是int型变 量; C. pa5表示某个数组的第5个元素的值; D. pa是一个具有5个元素的指针数组,每个元素是一个int型指针; 63. 下述静态数据成员的特征中,( D )是错误的。 A. 说明静态数据成员时前边要加修饰符static; B. 静态数据成员要在类体外进行初始化; C. 引用静态数据成员时,要在静态数据成员名前 加和作用域运算符; D. 静态数据成员不是所有对象所共用的。 64、下列的各类函数中,( C )不是类的成员函数。 A. 构造函数; B. 析构函数; C . 友元函数; D. 拷贝构造函数; 2、 填空题 1、一个基本语句的最后一个字符是( ; ). 2、与int x=100; while(x0) cout0;x-) )。 3、执行for(int i=1;i class MyClass public: _void setx(int a)x=a;_或_ MyClass(int x)this.x=x;_ /为x置值 _int getx()return x;_ /取x值 private: int x; ; void main() MyClass my(10); cout c sum=0; for(i=1; i void main( ) int a,b ; cinab; if( ab ) cout0; _n-_) p=p*x; return (p); 4.本程序用古典的Eratosthenes的筛法求从2起到指定范围内的素数。如 果要找出2至10中的素数,开始时筛中有2到10的数,然后取走筛中的最 小的数2,宣布它是素数,并把该素数的倍数都取走。这样,第一步以 后,筛子中还留下奇数3、5、7、9:重复上述步骤,再取走最小数3, 宣布它为素数,并取走3的倍数,于是留下5、7。反复重复上述步骤, 直 至筛中为空时,工作结束,求得2至10中的全部素数。程序中用数组 sieve表示筛子,数组元素sievei的值为1时,表示数i在筛子中,值为-1 时表示数i已被取走。 #include const int MAX=22500; void main() unsigned int i , range , factor , k ; int sieveMAX ; coutrange; /*range指出在多大的范围内寻找素数 */ for (i=2 ; iy) z=x; s=a+b; else z=y; cout5) for(i=0;i=0;i-) else cout void main() int a,b,c,; c=2,c+=10; a = 10; b=11; a * = 2; b / = 2; c % = 2; cout void main() int a = 50 , b(0) ; b = +a; cout void main() int i; for(i=4 ; i int add(int x,int y) return x+y; double add(double x,double y) return x+y; void main() int a=4,b=6; double c=2.6,d=7.4; cout class Sample int i; double d; public: void setdata(int n)i=n; void setdata(double x)d=x; void disp() cout void main() int a; int / 变量引用 b=10; cout class Sample int x; public: Sample(); Sample(int a)x=a; Sample(Sample void disp()cout void swap(int temp=x; x=y; y=temp; void main() int x=10,y=20; swap(x,y); cout void main() int a=10,20,30,40,*pa=a; int * pb+; cout class Sample int x; public: Sample(); Sample(int a)x=a; Sample(Sample void disp()cout int f(int a) return +a; int g(int void main() int m=0,n=0; m+=f(g(m); n+=f(f(n); cout void main() struct num int x; int y; sa = 2, 32, 8, 16, 4, 48; struct num *p = sa+1; int x; x = p-y / sa0.x * +p-x; coutx=”xX=9 15#include class A int a; public : A(int aa=0)a=aa; A()cout using namespace std; int GCD (int u, int v) while (u % v) int t= u % v; u = v; v = t; return v; int GCM (int u, int v) int gcd = GCD (u, v); return u * v / gcd; int main () int A = 4, 6,8,16; int gcd = A0, gcm = A0; int i = 1; while (i using namespace std; class CT public : CT () cout void main() int x=3,y=3; switch(x%2) case 1: switch (y) case 0:cout void swap(int *x,int void main() int a(13),b; b=a%5; cout #include void main() int i,j,k,flag; for(i = 2; i void main() int i,j,k,n; for(n=100;n using namespace std; long fac(int n) long f; if (n using namespace std; void main() int s=0; for(int n=1;n using namespace std; void main() int x,max,min,s=0; coutx; max=min=x; for(int n=1;nx; if (xmax) max=x; if (x using namespace std; class Rect public: void SetData(float L=0,float W=0); double GetArea(); private: float Length,Width; ; void Rect:SetData(float Ld,float Wd) Length=Ld; Width=Wd; double Rect:GetArea() return Length*Width; void main() Rect Rect1; Rect1.SetData(10,20); cout class Box float a; float volume; float area; public: Box() Box(float r)a=r; void seta(float r)a=r; void getvolume()volume=a*a*a; void getarea()area=6*a*a; void disp() cout“; obj1.disp(); obj2.getvolume(); obj2.getarea(); cout“; obj2.disp(); 8.编写一个程序,设计一个点类Point,求两个点之间的距离。 解: 设计一个普通函数distance(Point public: Point(int i,int j)x=i;y=j; int getx() return x; int gety() return y; void disp() cout int sum(int p); /声明求和函数 int max(int p); /声明求极大值函数 void main() int a20,i=0; /声明数组 while(iai; i+; coutmaxv)maxv=pi; return maxv; 10.编写一个判断素数的函数,并输出100-300之间的全部素数之和。 #include boo

温馨提示

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

评论

0/150

提交评论