


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGEPAGE34C++面向对象程序设计期末复习题一、单项选择题源程序文件的默认扩展名(A )。cpp B.exe C.obj D.lik由C++源程序文件编译而成的目标文件的默认扩展名(C )。cpp B.exe C.obj D.lik由C++目标文件连接而成的可执行文件的默认扩展名( B )。cpp B.exe C.obj D.lik程序从上机到得到结果的几个操作步骤依次( B 。编译、编辑、连接、运行编辑、编译、连接、运行编译、运行、编辑、连接编辑、运行、编辑、连接以下标识符中不全关键字的是(B 。A.caseforintB.defaultthenwhileC.boolclasslongD.gotoreturnchar能作为C++程序的基本单位(C )。字符 B.语句 C.函数 D.源程序文件程序中主函数的名字为(A 。main B.MAIN C.Main D.任意标识符程序的基本模块为(D 。表达式 B.标识符 C.语句 D.函数可用作C++语言用户标识符的一组标识符(B 。A.voiddefine+WORDB.a3_b3_123YNC.for-abcCaseD.2aDOsizeof存储以下数据,占用存储字节最多的是(D 。A.0 B.‗0‘ C.―0‖ D.0.0程序运行中需要从键盘上输入多于一个数据时各数据之间应使( D )符号作分隔符。空格或逗号 B.逗号或回车 C.逗号或分号 D.空格或回车‖inta=12;‖,则执行完语‖a+=a*a;‖后,a的值( C)A.12 B.144 C.156 D.288假设在程序中b、c1,则下列能正确表示代数式1 的表达式(D )。abcA.1.0/a*b*c B.1/(a*b*c) C.1/a/b/(float)c D.1.0/a/b/c设x是一个bool型的逻辑量的值为10,则表达式x&&y的值为(C 。1 B.0 C.与x值相同 D.与x值相反x>0&&x<=10的相反表达式为(A 。A.x<=0||x>10 B.x<=0&&x>10C.x<=0||x<=10 D.x>0&&x>10x>0||y==5的相反表达式为(B 。A.x<=0||y!=5 B.x<=0&&y!=5C.x>0||y!=5 D.x>0&&y==5设x和y均为bool量,则x&&y为真的条件(A 。它们均为真 B.其中一个为真C.它们均为假 D.其中一个为假设x和y均为bool量,则x||y为假的条件( C )。它们均为真 B.其中一个为真C.它们均为假 D.其中一个为假字符a+b=12\n的长度为(B 。A.6 B.7 C.8 D.9假定下列x和y均为int型变量,则不正确的赋值为(B 。A.x+=y++ B.x++=y++ C.x=++y D.++x=++y下列的符号常量定义中,错误的定义是(C 。constM=10; B.constintM=20;C.constcharch; D.constboolmark=true;循环语―for(inti=0;i<n;i++)cout<<i*i<<‘‘;中循环体执行的次数(C )。1 B.n-1 C.n D.n+1在下面循环语句中循环体执行的次数为(B 。for(inti=0;i<n;i++)if(i>n/2)break;A.n/2 B.n/2+1 C.n/2-1 D.n-1在下面循环语句中内层循环体S语句的执行总次数为(D 。for(inti=0;i<n;i++)for(intj=i;j<n;j++)S;A.n2 B.(n+1)/2 C.n(n-1)/2 D.n(n+1)/2在下面循环语句中循环体执行的次数为(C 。inti=0,s=0;while(s<20){i++;s+=i;}A.4 B.5 C.6 D.在下面循环语句中循环体执行的次数为(A 。inti=0;doi++;while(i*i<10);A.4 B.3 C.5 D.2当处理特定问题时的循环次数已知时,通常采用(A )来解决。for循环 B.while循环 C.do循环 D.switch语句循环体至少被执行一次的语句为(C 。for循环 B.while循环 C.do循环 D.任一种循环switch语句能够改写为(B )语句。for B.if C.do D.whiledo语句能够改写为(D )语句。复合 B.if C.switch D.while在下面的一维数组定义中,哪一个有语法错误(C )A.inta[]={1,2,3}; B.inta[10]={0};C.inta[]; D.inta[5]; 在下面的二维数组定义中,正确的( C )A.inta[5][]; B.inta[][5];C.inta[][3]={{1,3,5},{2}}; D.inta[](10);33.假定一个二维数组的定义语句为staticinta[3][4]={{3,4},{2,8,6}};‖,则元素a[1][2]的值为(C 。A.2 B.4 C.6 D.834.假定一个二维数组的定义语句为staticinta[3][4]={{3,4},{2,8,6}};‖,则元素a[2][1]的值为(A 。A.0 B.4 C.8 D.6以下说法中正确的是(B 。C++程序总是从第一个定义的函数开始执行C++程序总是从main函数开始执行C++函数必须有返回值,否则不能使用函数C++程序中有调用关系的所有函数必须放在同一个程序文件中以下叙述中不正确的是(C 。在一个函数中,可以有多条return语句函数的定义不能嵌套,但函数的调用可以嵌套函数必须有返回值不同的函数中可以使用相同名字的变量函数重载是指(A 。两个或两个以上的函数取相同的函数名,但形参的个数或类型不同两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同两个以上的函数名字不同,但形参的个数或类型相同两个以上的函数取相同的函数名,并且函数的返回类型相同以下关于函数模板叙述正确的是(C 。函数模板也是一个具体类型的函数函数模板的类型参数与函数的参数是同一个概念通过使用不同的类型参数,函数模板可以生成不同类型的函数用函数模板定义的函数没有类型下列(C )的调用方式是引用调用。形参和实参都是变量 B.形参是指针,实参是地址值C.形参是引用,实参是变量 D.形参是变量,实参是地址值为了提高程序的运行速度可将不太复杂的功能用函数实现此函数应选(A 。内联函数B.重载函数C.递归函数D.函数模板函数原型语句正确的是(B 。intFunction(voida); B.voidFunction(int);C.intFunction(a); D.voidint(doublea);中函数返回值的类型是由(B )决定的。return语句中表达式的类型 B.该函数定义时的类C.调用函数时的调用语句 D.系统根据结果函数调用不可以(D 。出现在一个表达式中出现在执行语句中作为一个函数的实参作为一个函数的形参以下正确的描述是(B 。函数的定义可以嵌套,函数的调用不可以嵌套函数的定义不可以嵌套,函数的调用可以嵌套函数的定义和函数的调用均可以嵌套函数的定义和函数的调用均不可以嵌套若用数组名作为函数调用的实参,传递给形参的是。数组的首地址 B.数组中第一个元素的值C.数组全部元素的值 D.数组元素的个数以下正确的描述是(C 。不允许设置参数的默认值设置参数的默认值只能在定义函数时设置设置参数的默认值时,应该从最右边的参数设置设置参数的默认值时,应该全部参数都设置采用重载函数的目的是。实现共享 B.减少空间C.提高速度 D.使用方便,提高可读性以下叙述中正确的( B 。使用#define可以为常量定义一个名字,该名字在程序中可以再赋另外的值使用const定义的常量名有类型之分,其值在程序运行时是不可改变的在程序中使用内联函数使程序的可读性变差在定义函数时可以在形参表的任何位置给出缺省形参值下面的标识符中C )是文件级作用域。函数形参B.语句标号C.外部静态类标识符D.自动类标识符语言的编译系统对宏命令的处理(D )。在程序运行时进行在程序连接时进行C++程序的其它语句同时进行编译在对源程序中其它成分正式编译之前进行#include后面的文件名用双引号括起来时,寻找被包含文件的方式(B )。直接按系统设定的标准方式搜索目录先在源程序所在目录搜索,再按系统设定的标准方式搜索目录仅仅搜索源程序所在目录搜索当前逻辑盘上的所有目录#include后面的文件名用尖括号括起来时,寻找被包含文件的方式( A )。直接按系统设定的标准方式搜索目录先在源程序所在目录搜索,再按系统设定的标准方式搜索目录仅仅搜索源程序所在目录搜索当前逻辑盘上的所有目录关于局部变量,下面说法正确的(C )。定义该变量的程序文件中的函数都可以访问定义该变量的函数中的定义处以下的任何语句都可以访问定义该变量的复合语句中的定义处以下的任何语句都可以访问定义该变量的函数中的定义处以上的任何语句都可以访问文件包含命令中被包含的文件的扩展名(C 。必须.h B.不能.h C.可以.h或.cpp D.必须.cpp预处理命令在程序中都是( B )符号开头的A.* B.# C.& D.@设有定义static intdata[5][6];‖,设该数组在静态存储区中的起始地址为十进制的100,若每个int型数占4个字节,则数组元素data[2][3]的地址(D )A.115 B.124 C.130 D.160下列对引用的陈述中不正确的是(C 。因此必须初始化形式上针对引用的操作实际上作用于它所引用的对象一旦定义了引用,一切针对其所引用对象的操作只能通过该引用间接进行不需要单独为引用分配存储空间关于封装,下列说法中不正确的是(D 。通过封装,对象的全部属性和操作结合在一起,形成一个整体通过封装,一个对象的实现细节被尽可能地隐藏起来(不可见)通过封装,每个对象都成为相对独立的实体通过封装,对象的属性都是不可见的面向对象方法的多态性是指(C 。一个类可以派生出多个特殊类一个对象在不同的运行环境中可以有不同的变体针对一消息,不同的对象可以以适合自身的方式加以响应一个对象可以是由多个其他对象组合而成的软件产品在需求发生变化、运行环境发生变化或发现软件产品本身的错误或不足进行相应的软件更新的难易程度叫做软件的(A 。可维护性 B.可复用性 C.兼容性 D.正确性软件产品可被全部或部分地再用于新的应用的能力叫做软件的(B 。可维护性 B.可复用性 C.兼容性 D.正确性软件产品与其他软件产品组合成一个整体的难易程度叫做软件的(C 。可维护性 B.可复用性 C.兼容性 D.正确性软件产品准确执行软件需求规格说明书中所规定的任务的能力叫做软件的(D 。可维护性 B.可复用性 C.兼容性 D.正确性假定AB为一个类,则该类的拷贝构造函数的声明语句为C 。A.AB&(ABx); B.AB(ABx) C.AB(AB&x); D.AB(AB*x)对于结构中定义的成员,其隐含访问权限为 A 。public B.protected C.private D.static下列关于构造函数的描述中,错误的是(D)A.构造函数可以设置默认参数; B.构造函数在定义类对象时自动执C.构造函数可以是内联函数; D.构造函数不可以重载67.定义析构函数时,应该注意(C)A.其名与类名完全相同 B.返回类型是void类型C.无形参,也不可重载 D.函数体中必须有delete语句友元的作用是 (A)A.提高程序的运用效率 B.加强类的封装性;C.实现数据的隐藏性; D.增加成员函数的种类69.21.有如下类声明:classFoo{ intbar; };则Foo类的成员bar是 (C)A.公有数据成员 B.公有成员函数 C.私有数据成员 D.私有成员函数70.34.类的析构函数是一个对象( B )时自动调用A.建立 B.撤消 C.赋值 D.引用71(D )不是构造函数的特征A. B.;C. 构造函数可以设置缺省参数; D.构造函数必须指定类型说明。二、填空题语言是C 语言的基础上发展起来的。
.cpp
的 程序 文件。行尾使用注释的开始标记符// 。多行注释的开始标记符和结束标记符分别_/* */ 。_cout
。cin 。
main
的函数。一个函数的函数体就是一条复合
语句。当执行cin_才能继续输入下一个数据。
符,然后在C++程序中包含一个头文件或程序文件的预编译命令为#include 。程序中的预处理命令是指以
字符开头的命令。一条表达式语句必须以 分
作为结束符。#include命令中所包含的头文件可以是系统定义的头文件也可以用(或编程者) 定义的头文件。#include一个函数定义函数头 和 函数体 两部分组成。
文件。若一个函数的定义处于调用它的函数之前,则在程序开始可以省去该函数的_原型(或声明) 语句。C++头文件和源程序文件的扩展名分别为 .h 和 .cpp 。
警告(warning)
和致命(error)
两类。
void
保留字作为函数类型时,该函数不返回任何值。当函数参数表void 保留字表示时,则表示该参数表为空从一条函数原型语int fun1(void);‖可知,该函数的返回类型为
int
,该函数带有_0
个参数。当执行cout语句输出endl数据项时将使C++显示输出屏幕上的光标从当前位置动到 下一行 的开始位置。假定x=5,y=6,则表达式x++*++y的值为 35 。假定x=5,y=6,则表达式x--*--y的值为 25 。假定x=5,y=6,则执行表达式y*=x++计算后和y的值分别为 6 和 30 。假定x=5,y=6,则执行表达式y+=x--计算后,x和y的值分别为 4 和 11 。0x1450345对应的十进制值为
325 。229 。十进制常数245对应的十六进制的C++表示0xf5 。十进制常数245对应的八进制的C++表示为 0365 。signedchar类型的值域范围-128 至 +127 之间的整数。int和float类型的数据分别占4 和 4 个字节。float和double类型的数据分别占用 4 和 8 个字节。bool和char类型的数据分别占1 和 1 个字节。unsignedshortint和int类型的长度分别2 4 。字符This\‘sa的长度15 。字符串\nThis\‘sa的长度15 。在C++中存储字符abcdef 至少需7 个字节。在C++中存储字符a+b=c 至少需6 个字节。假定x和y为整型,其值分别为16和5,则x%y和x/y的值分别1 和3 。假定x和y为整型其值分别为16和5则x/y和double(x)/y的值分别为 3和 3.2 。假定x是一个逻辑量,则x&&true的值为 x 。假定x是一个逻辑量,则x||true的值为 或1) 。假定x是一个逻辑量,则x&&false的值false(或0) 。假定x是一个逻辑量,则x||false的值为 x 。假定x是一个逻辑量,!x||false的值为 !x 。假定x是一个逻辑量,则x&&!x的值为 false(或0) 。假定x是一个逻辑量,则x||!x的值true(或1) 。数学算式x2xy
的C++表达式为
(x+y)/(2*x*y) 。数学算式3xyxy
C++
3*x*y/(x+y) 。数学算式 1 的C++表达式
1/(a*x*x+b*y*y) 。ax2
by2设enumPrintstatus{ready,busy,error};则cout<<busy的输出结果_1 。设enumPrintstatus{ready=2,busy,error};则cout<<busy的输出结果是3 。常-4.205和6.7E-9分别具有 4 和 2 位有效数字。枚举类型中的每个枚举值都是一个 。
枚举常量
,它的值为一个 整数常数100和3.62的数据类型分别int 和 double 。若x=5,y=10,则计算y*=++x表达式后和y的值分别_ 6
60 。假定x和ch分别为int型和char型,则sizeof(x)和sizeof(ch)的值分别为 4 和 1 。59.假定x=10,则表达式x<=10?20:30的值为20 。表达式sqrt(81)和pow(6,3)的值分别9 和 216 。对一个类中的数据成员的初始化可以通过构造函数中初始化表 实现也可以通过构造函数中函数体 实现。switchcase_常量。在if语句中,每个else关键字与它前面同层次并且最接近if 关键字相配套。作为语句标号使用的C++保留字case和default中。
switch
语句的定义体switch语句时,在进行作为条件的表达式求值后,将从某个匹配的标号位置起向下执行,当碰到下一个标号位置时
不停止
执行。若while循环的头为while(i++<=10) ,并且i的初值为0,同时在循环体中不会改i的值,则循环体将被重复执11 次后正常结束。若do循环的尾为while(++i<10) ,并且i的初值为0,同时在循环体中不会修改I的值,则循环体将被重复执行
次后正常结束。当在程序中执行break 语句时将结束本层循环类语句或switch语句的执行。当在程序中执行continut 语句时,将结束所在循环语句中循环体的一次执行。数的位置。
return
语句时,将结束所在函数的执行过程,返回到调用该函在程序执行主(或main)函数后,将结束整个程序的执行过程,返回到作系统下的C++集成开发窗口。元素类型为int的数组a[10]共占用
字节的存储空间。元素类型为double的二维数组a[4][6]
字节的存储空间。元素类型为char的二维数组a[10][30]
300
字节的存储空间。存储字‘a‘和字符a 分别需要占用 1 和
个字节。空串的长度0 ,存储它需要占1 个字节。字符串\‘a\‘xy=4\n的长度为8 。78.假定对二维数组a[3][4]{{3,5,6},{2,8},{7}}a[1][1]a[2][3]分别被初始化为 8 和 0 。在C++语言中,一个函数由函数头函数体 组成。名函数有所不同。
上与其它同如果一个函数只允许同一文件中的函数调用,则应在该函数定义前加上static 保留字。定义一个函数模板要用到的第一个修饰符是 template 。如果一个函数直接或间接地调用自身,这样的调用称为 递
调用。已知intcubin(intn){returnn*n*n;}和doublecubin(doublen){returnn*n*n;}是一个数模板的两个实例,假定类型参数用T 表示,则该函数模板的定义是template<classT> Tcubin(Tn){returnn*n*n;} 。
void
修饰函数类型。如果一个函数中有多个默认参数,则默认参数必须全部处在形参表的 右边或(后面) 部分。#include命令包含该系统函数的原型语句所在的 。
头文件程序的编译是以 文
为单位进行的。程序运行时的内存空间可以分成全局数据区,堆区,栈区代码区(程序区) 。
全局数据
区中。局部变量具有局部生存期,存放在内存栈 区中。ama[0][0]位于数组的第一个位置上,则计算任一元素a[i][j]在数组中位置序号的公式为
i*m+j+1 。若有定义double a[3][5];‖,则a数组中行下标和列下标的最大值分别为 2_和4 。总和。假定对数组a[]{2,7,9,6,5,7,10},则a[2]和a[5]分别被初始化为9和7。在C++语言中作为双目运算符时表示的是 按位与 ,而作为单目算时表示的引用 。C++语言规定调用一个函数时实参数变量与形参数变量之间的数据传递值。结构体变量中的成员的引用一般形式:结构变量名.成员名 。三、程序填空,对程序、函数或类中划有横线的位置,根据题意按标号把合适的内容填写到程序下面相应标号的后面。1100200之间的所有素数(1和它本身再没有其他约数的数#include<iostream.h>#include<math.h>voidmain(){inti,j;for(i=100;i<=200;i++){inttemp=int(sqrt(i));for(1) ;j++)if(i%j==0) (2) ;if( (3) ) cout<<i<<'';}cout<<'\n';}j<=temp (2) break (3) j>temp21201205个数。#include<iostream.h>voidmain(){intf,f1,f2,i;cout<<”斐波那契数列:\n”;f1=0;f2=1;cout<<setw(6)<<f1<<setw(6)<<f2;for(i=3;i<=20;i++){f= (1) cout<<setw(6)<<f;if( (2) )cout<<endl;f1=f2;f2= (3) ;}cout<<endl;}(1) f1+f2 (2)i%5==0 (3)f10 xi3、计算 (1)i1 的值。i!i1#include<iostream.h>voidmain(){doublex,p1=1,p2=1,s=0;inti,j=1;cout<<"输入x的值:";cin>>x;for(i=1;i<=10;i++)p1*= (1) p2*= (2) s+=j*p1/p2; //j的值为(-1)i+1j= (3) ;}cout<<s<<endl;}(1)x (2)i (3)-j4、采用辗转相除法求出两个整数的最大公约数。#include<iostream.h>voidmain(){inta,b;cout<<"请输入两个正整数:";cin>>a>>b;while(a<=0||(1) ){cout<<":";cin>>a>>b;}while(b){intr;r=a%b; (2) ;(3) ; //分别修改ab的值}cout<<a<<endl; //输出最大公约数}(1)b<=0 (2)a=b (3)b=r5、把从键盘上输入的一个大于等于3的整数分解为质因子的乘积。如输入242223‖50255‖3737‖。#include<iostream.h>voidmain(){intx;cout<<"请输入一个整数,若小于3则重docin>>x;while( (1) );inti=2;do{while( (2) ){cout<<i<<'';x/=i;} (3) ;}while(i<x);if(x!=1)cout<<x;cout<<endl;}(1)x<3或x<=2) (2)x%i==0 (3)i++6、下面函数是求两个整型参数a和b的最小公倍数。intf2(inta,intb){inti=2,p=1;do{while(a%i==0&& (1) )p*=i;a/=i;b/=i;} (2) ;}while(a>=i&& (3) returnp*a*b;}(1)b%i==0 (2)i++或++i) (3)b>=i7、在输出屏幕上打印出一个由字符‘*‘组成的等腰三角形,该三角形的高为5行,从上到下每行的字符数依次为1,3,5,7,9。#include<iostream.h>voidmain(){inti,j;for(i=1; (1) ;i++)for(j=1;j<=9;j++)if(j<=5-i|| (2) )cout<<‘‘;else (3) cout<<endl;}}(1)i<=5 (2)j>=5+i (3)cout<<‘*‘8、统计字符串中英文字母个数的程序。#include<iostream.h>intcount(charstr[]);voidmain(){chars1[80];cout<<‖Enteraline:‖;cin>>s1;cout<<‖count=‖<<count(s1)<<endl;}intcount(charstr[]){intnum=0; //for(inti=0;str[i];i++)if(str[i]>=‘a‘&&str[i]<=‘z‘|| (1) ) (2) ; (3) ;}str[i]>=‘A‘&&str[i]<=‘Z‘ (2)num++ (3)returnnum9、主函数调用一个fun#include<iostream.h>#include<string.h> (1) ;voidmain()chars[80];cin>>s; (2) ;cout<<‖逆序后的字符串:‖<<s<<endl;}voidfun(charss[]){intn=strlen(ss);for(inti=0; (3) ;i++)charc=ss[i];ss[i]=ss[n–1–i];ss[n–1–i]=c;}}(1)voidfun(charss[]) (2)fun(s) (3)i<n/210最后输出该二进制数。注意二进制数的存放是按照从低位到高位的次序进行的。#include<iostream.h>voidmain(){intx;cout<<"输入一个整数:";cin>>x;inta[20],k=0,r;do{r=x%2;a[k++]=r;x= (1) ;}while( (2) );for(--k;k>=0;k--) (3) cout<<endl;}(1)x/2 (2)x!=0 (3)cout<<a[k]、对数组a[n]按升序进行的选择排序算voidSelectSort(inta[], (1) ){inti,j,k;for(i=1;i<n;i++){ //n-1k=i-1;for(j=i;j<n;j++)if(a[j]<a[k]) (2) ;intx=a[i-1];a[i-1]=a[k]; (3) ;}}(1)intn (2)k=j (3)a[k]=x四、写出程序运行结果#include<iostream.h>#include<stdlib.h>voidmain(){inta[8]={25,48,32,85,64,18,48,29};intmax,min;max=min=a[0];for(inti=0;i<8;i++)if(max>a[i])max=a[i];if(min<a[i])min=a[i];}cout<<"max:"<<max<<endl;cout<<"min:"<<min<<endl;}答案:max:85min:18#include<iostream.h>voidmain(){inta,b;for(a=1,b=2;b<50;){cout<<a<<''<<b<<'a=a+b;b=a+b;}cout<<endl;cout<<a<<''<<b<<''<<endl;}答案:123581321345589#include<iostream.h>constintM=3,N=4;voidmain(){inti,j,s=0;for(i=1;i<=M;i++)for(j=1;j<=N;j++)s+=i*j;cout<<‖s=‖<<s<<endl;}答案:s=60#include<iostream.h>voidmain(){}答案:121
inta=2,b=5,c=0;if(a+b>10)c=a*b;elsec=3*a+b;if(c<=20)cout<<c*c;elsecout<<4+c-5;cout<<endl;a=a+b;b=a+b;c+=a+b;cout<<"a,b,c="<<a<<','<<b<<','<<c<<endl;a,b,c=7,12,30#include<iostream.h>voidmain(){intx=5;switch(2*x-3){case4:cout<<x<<‘‘;case7:cout<<2*x+1<<‘‘;case10:cout<<3*x-1<<‘‘;break;default:cout<<"default"<<endl;}cout<<"switchend."<<endl;}答案:1114switchend.#include<iomanip.h>#include<math.h>inta[4]={36,-5,73,8};voidmain(){inti,y;for(i=0;i<4;i++){if(a[i]<0)y=1;elseif(a[i]<10)y=a[i]*a[i]+3;elseif(a[i]<60)y=4*a[i]-5;elsey=int(sqrt(a[i])); //sqrt(x)x的平方根函数cout<<setw(5)<<a[i]<<setw(5)<<y;}}答案: 36 139 -5 1 73 8 8 67#include<iostream.h>inta[8]={36,25,20,43,12,70,66,35};voidmain(){ints0,s1,s2;s0=s1=s2=0;for(inti=0;i<8;i++){switch(a[i]%3){case0:s0+=a[i];break;case1:s1+=a[i];break;case2:s2+=a[i];break;}}cout<<s0<<‘‘<<s1<<‘‘<<s2<<endl;}答案:11413855constintM=20;voidmain(){intc2,c3,c5;c2=c3=c5=0;for(inti=1;i<=M;i++){if(i%2==0)c2++;if(i%3==0)c3++;if(i%5==0)c5++;}cout<<c2<<''<<c3<<''<<c5<<endl;}答案:1064#include<iomanip.h>voidmain(){inti,j;for(i=0;i<5;i++)for(j=i;j<5;j++)cout<<‘*‘;cout<<endl;}}答案:
***************#include<iostream.h>voidmain(){for(inti=1,s=0;i<20;i++){if(i%2==0||i%3==0)continue;cout<<i<<‘‘;s+=i;}答案:
}cout<<s<<endl;157111337#include<iostream.h>constintT=6;voidmain(){inti,j;for(i=1;i<=T;i+=2)for(j=2;j<=T;j+=2)if(i+j<T)cout<<‘+‘;elsecout<<‘*‘;}}答案: ++*+*****#include<iostream.h>voidmain(){inta,b,c=0;for(a=1;a<4;a++)for(b=6;b>1;b-=2){if((a+b)%2==0)c+=a+b;elsec+=a*b;if(b==2)cout<<a<<‘‘<<b<<‘‘<<c<<endl;}}答案:121222303266#include<iostream.h>constintB=2;voidmain(){intp=1,s=1;while(s<50){p*=B;s+=p;}cout<<"s="<<s<<endl;}答案: s=63#include<iostream.h>voidmain(){intx=24,y=88;inti=2,p=1;do{while(x%i==0&&y%i==0){p*=i;x/=i;y/=i;}i++;}while(x>=i&&y>=i);cout<<p*x*y<<endl;}答案: 264#include<iomanip.h>constintN=3;voidmain(){inta[N][N]={{7,-5,3},{2,8,-6},{1,-4,-2}};intb[N][N]={{3,6,-9},{2,-8,3},{5,-2,-7}};inti,j,c[N][N];for(i=0;i<N;i++) //计算矩阵for(j=0;j<N;j++)c[i][j]=a[i][j]+b[i][j];for(i=0;i<N;i++){ //输出矩阵for(j=0;j<N;j++)cout<<setw(5)<<c[i][j];cout<<endl;}}答案: 10 1 -64 0 -36 -6 -9#include<iostream.h>inta=5;voidmain(){intb=a+20;inta=10;cout<<a<<''<<b<<endl;{ inta=0,b=0;for(inti=1;i<6;i++){a+=i;b+=a;}cout<<a<<''<<b<<endl;}cout<<a<<''<<b<<endl;}答案:102515351025#include<iostream.h>intf1(intx,inty){x=x+y;y=x+y;cout<<"x="<<x<<",y="<<y<<endl;returnx+y;}voidmain(){intx=5,y=8;intz=f1(x,y);cout<<"x="<<x<<",y="<<y;cout<<",z="<<z<<endl;}答案:
x=13,y=21x=5,y=8,z=34#include<iostream.h>voidf2(int&x,int&y){intz=x;x=y;y=z;}voidf3(int*x,int*y){intz=*x;*x=*y;*y=z;}voidmain(){intx=10,y=26;cout<<"x,y="<<x<<","<<y<<endl;f2(x,y);cout<<"x,y="<<x<<","<<y<<endl;f3(&x,&y);cout<<"x,y="<<x<<","<<y<<endl;x++;y--;f2(y,x);cout<<"x,y="<<x<<","<<y<<endl;}答案:x,y=10,26x,y=26,10x,y=10,26x,y=25,11#include<iostream.h>voidf4(inta[],intn,int&s){s=0;for(inti=0;i<n;i++)s+=a[i];}voidmain(){intb[8]={4,8,6,9,2,10,7,12};intx;f4(b,5,x);cout<<x<<'';inty;f4(b+3,4,y);cout<<y<<'';cout<<x+y<<endl;}答案:292857#include<iostream.h>voidmain(){inta[8]={36,25,48,14,55,40,50,24};intb1,b2;b1=b2=a[0];for(inti=1;i<8;i++)if(a[i]>b1){b2=b1;b1=a[i];}elseif(a[i]>b2)b2=a[i];cout<<b1<<''<<b2<<endl;答案:
}5550#include<iostream.h>voidmain(){chara[]="abcdabcabfgacd";inti1=0,i2=0,i=0;while(a[i]){if(a[i]==‘a‘)i1++;if(a[i]==‘b‘)i2++;i++;}cout<<i1<<‘‘<<i2<<‘‘<<i<<endl;}答案: 4314#includeclassA{public:A();A(inti,intj);~A(){cout<<"Donstructor.\n";}voidprint();private:inta,b;};A::A(){ a=b=10;cout<<"Defaultconstructor.\n";}A::A(inti,intj){a=i,b=j;cout<<"Constructor.\n";}voidA::print(){cout<<"a="<<a<<",b="<<b<<endl;}voidmain(){Am,n(15,18);m.print();n.print();}#includeclassAA{ public:AA(inti,intj){A=i;B=j;cout<<"Constructor\n";}AA(AA&obj)
答:DefaultconstructorConstructora=10,b=10a=15,b=18DestructorDestructor{A=obj.A+1;B=obj.B+2;cout<<"Copy_Constructor\n";}~AA(){cout<<"Destructor\n";}voidprint(){cout<<"A="<<A<<",B="<<B<<endl;}private:intA,B;};voidmain(){ AAAAa2(a1);a2.print();AA*pa=newAA(5,6);pa->print();deletepa;}答:ConstructorCopy_ConstructorA=3,B=5ConstructorA=5,B=6DestructorDestructorDestructor24、#include<iostream.h>classAA{ public:AA(inti,intj){A=i;B=j;cout<<"Constructor\n";}AA(AA&obj){A=obj.A+1;B=obj.B+2;cout<<"Copy_Constructor\n";}~AA(){cout<<"Destructor\n";}voidprint(){cout<<"A="<<A<<",B="<<B<<endl;}private:intA,B;};voidmain(){ AAAAa2(a1);a2.print();AA*pa=newAA(5,6);pa->print();deletepa;}#includeclassA{ public:A();A(inti,intj);~A(){cout<<"Destructor.\n";}voidprint();private:inta,b;};A::A(){ a=5;b=10;cout<<"Defaultconstructor.\n"; A::A(inti,intj){a=i,b=j;cout<<"Constructor.\n";}voidA::print(){cout<<"a="<<a<<",b="<<b<<endl;}voidmain(){Aobj1,obj2(15,18);obj1.print();obj2.print();}#include<iostream.h>classsample{inti;doubled;public:voidsetdata(intn){i=n;}voidsetdata(doublex)voiddisp(){cout<<i=<<i<<,d= <<d<<endl;}};voidmain(){samples;s.setdata(10);s.setdata(15.6);s.disp();}答案:#include<iostream.h>double&fn(constdouble&pd){staticdoublead=32;ad+=pd;cout<<fnbeingcalled…thevalueis:<<pd<<endl;returnad;}voidmain(){doublea=345.6;double&pa=fn(a);cout<<pa<<endl;a=55.5;fn(a);cout<<pa<<endl;}答案:五、指出程序或函数的功能#include<iostream.h>voidmain(){inti,s=0;for(i=2;i<=30;i+=2)s+=i*i;cout<<"s="<<s<<endl;}计算并输出22+42+62+...+302的值。#include<iostream.h>#include<stdlib.h>#include<math.h>voidmain(){inti=10,a;while(i>0){a=rand()%90+10;intj,k=int(sqrt(a)+1e-5); //sqrt(x)x的平方根函数for(j=2;j<=k;j++)if(a%j==0)break;if(j>k){cout<<a<<'';i--;}}}随机产生出10个10至99之间的素数并显示出来。voidtrans(intx){chara[10];inti=0,rem;do{rem=x%16;x=x/16;if(rem<10)a[i]=48+rem; //‘0‘ASCII48elsea[i]=65+rem; ASCIIi++;}while(x!=0);while(i>0)cout<<endl;}此函数用于把十进制整数x转换为十六进制数字串输出。#include<iostream.h>#include<math.h>voidmain(){intx,y;cin>>x;y=int(sqrt(x)); //sqrt(x)x的算术平方根for(inti=1;i<=y;i++)if(x%i==0)cout<<‖x=‖<<i<<‘*‘<<x/i<<endl;}把从键盘上输入的一个整数x分解为所有可能的每两个因子之积。#include<iostream.h>voidmain(){inti,p=1,s=0;in
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年古典占星测试题及答案
- 2025年海南省历史试题及答案
- 2025-2030年中国蓖麻粕蛋白粉数据监测研究报告
- 2025-2030年中国波峰棉数据监测研究报告
- 2025年幼儿园音乐教学标准教案
- Unit 3 I'm more outgoing than my sister.知识点(1) 训练(无答案)2025年人教版英语八年级上册
- 金融行业区块链技术在供应链金融中的应用方案
- 辽阳大口井降水施工方案
- 外浮顶罐正装法施工方案
- 西樵镇窗台防水施工方案
- 九年级物理上册22内燃机省公开课一等奖新课获奖课件
- 2025年个人向企业借款合同协议样本
- (二调)武汉市2025届高中毕业生二月调研考试 英语试卷(含标准答案)+听力音频
- 数学-湖北省武汉市2025届高中毕业生二月调研考试(武汉二调)试题和解析
- 中学家长学校工作方案(10篇)
- 高考地理二轮复习【知识精研】大气运动规律-大气受热过程与气温
- 2025年湖南环境生物职业技术学院单招职业倾向性测试题库完整版
- 日内交易策略(TBQ版)
- 煤矿常用机电设备的日常管理-培训课件
- 2025年新执业医师定期考核真题库附参考答案
- 部编版九年级道德与法治上册《第二课创新驱动发展》同步测试题(附答案)
评论
0/150
提交评论