![C++程序作业答案_第1页](http://file2.renrendoc.com/fileroot_temp3/2021-4/26/bcea5e94-bd70-47a0-bf67-c1cb51c91cf5/bcea5e94-bd70-47a0-bf67-c1cb51c91cf51.gif)
![C++程序作业答案_第2页](http://file2.renrendoc.com/fileroot_temp3/2021-4/26/bcea5e94-bd70-47a0-bf67-c1cb51c91cf5/bcea5e94-bd70-47a0-bf67-c1cb51c91cf52.gif)
![C++程序作业答案_第3页](http://file2.renrendoc.com/fileroot_temp3/2021-4/26/bcea5e94-bd70-47a0-bf67-c1cb51c91cf5/bcea5e94-bd70-47a0-bf67-c1cb51c91cf53.gif)
![C++程序作业答案_第4页](http://file2.renrendoc.com/fileroot_temp3/2021-4/26/bcea5e94-bd70-47a0-bf67-c1cb51c91cf5/bcea5e94-bd70-47a0-bf67-c1cb51c91cf54.gif)
![C++程序作业答案_第5页](http://file2.renrendoc.com/fileroot_temp3/2021-4/26/bcea5e94-bd70-47a0-bf67-c1cb51c91cf5/bcea5e94-bd70-47a0-bf67-c1cb51c91cf55.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、计算机应用专业“C+语言程序设计”课程作业第一次作业一、填空题1 . C+语言中的每条基本语句以 _; _作为结束符,每条复合语句以_ 作为结束符。2 .用于输出表达式值的标准输出流对象是_cout _,用于从键盘上为变量输入值的标准入流对象是_ in 。3 .当不需要函数返回任何值时,则应把该函数类型定义为_void _。4 .执行 “ cout143 + 18 = 143+18endl ; ”语句后得到的输出结果为43+18=161。5 .执行“ cout “ ning ” “ chen ” 38e;dl语句后得到的输出结果为 _nin gche n38。6 .在每个C+程序中都必须包含有
2、这样一个函数,该函数的函数名为_main 。7 . C+源程序文件的缺省扩展名为cpp _,由C+源程序文件编译而成的目标文件的缺省扩展名为_obj ,由C+目标文件连接而成的可执行文件的缺省扩展名为xe8 .程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用_空格或逗号符号作为分隔符。9 .十进制数25表示成符号C+语言规则的八进制和十六进制数分别为_31_ 和_ 19符号。10 .在C+语言中,用转义字符序列_n或操纵符_endl 表示输出一个换行符。11 .执行“ coutchar ( b )+endl ;语句后得到的输出结果为_d。12 .执行“ coutchar ( K) e
3、ndl ;语句后得到的输出结果为 H_。13 .已知A 的 ASCII码为6590 ,当执行“ intx= H +5”语句后x的值为 _77。14 .已知A 的 ASCII 码为 6590 ,当执行 “ charch=16*5+2; coutchendl;语句序列后,得到的输出结果为_R。15 .假定一个枚举类型的定义为“ enum RAxa,xb,xc,xd ;则执行“ cout ” xc= ”xcendl;语句得到的输出结果为_xc=2 。16 .假定一个枚举类型的定义为“ enum RBab,ac=3,ad,aex=ad;则x的值为 417 . Char、short和int类型的大小分别
4、为 _ 1字节 、2字节和_4字节。18 . float和double类型的大小分别为 _4字节和_ 8字节。19 .十进制数128和-3.26的类型分别为型和双精度型。20 .若需要定义一个标识符常量,并且使 C+能够进行类型检查,则应在定义语句的开始用保留字_define 。21 .使用con st语句定义一个标识符常量时,则必须对它同时进行始化 _。22 .执行 “int x=45,y=16; coutx/y x%yz的相反表达式为 x+y5&x10 的相反表达式_x=10。34 .逻辑表达式ab | | b= =5的相反表达式为_ y 和x=y 的逻辑值分别为 false和true。3
5、6 .假定x=5,则执行“ a=(x? 10:4*2); ”语句后a的值为_J0 _。37 .假定a=5,则条件表达式“ a=0? 10:20 ”的值为_20 _。38 .执行“ typedef int Data Type ;语句后,在使用int定义整型变量的地方都可以使用_DataType 定义整型变量。39 .设x和y均为bool量,x & & y为真的条件是 x=truey=true 。40 .设x和y均为bool量,则x | | y为假的条件是 _x、y都为false 。二、写出下列程序运行后的输出结果1 . #includevoid SB (char ch) switch (ch)
6、case A6ase a:cout ” well” ;! break;caseBcaseb:cout ” good!”;break;caseCcasec:cout ” pass!”reak;defaultcout“ bad! break;void main()char al=b ,a2=c ,a3=SB(al);SB(a2);SB(a3);SB( A);Cout endl;good!pass!bad!well!2、#clude #in cludedouble SD(int a,int b,char op) double x;switch (op) case x :x=double(a) + b
7、; break;case- :x=double(a)-b; break;case *x=double(a)* b;break;case/ (b:i)f x=double(a)/b;else exit(1); break;default:exit(1);return x;void main ()int x=20 ,y=12;cout SD(x,y, - ) ;cout SD(x,y, * ) ; cout SD(x+y,y- 2, / )endl;8 240 3.23、#include void main () int s=0; for (int I=1;I6;I+) s+=I*I;cout ”
8、 s=” sendl;s=554、# include void main () int s=0; for (int I=1;I+) if (s50) break; if (I%3= =0) s+=I;cout ” I,s= ” I ” , ” sendl; I,s=19,635、# include void main () int s1=0,s2=0; for (int I=0;I10;I+) if (I%2) s1+=I; else s2 +=I;cout s1 s2endl;25 206、# include void main ()int n=10,y=1;while (n-)y+;+y;
9、 cout ” y*y= ” y*yendl;y*y=441三、写出下列每个函数的功能1 includeint SA(int a,int b) if(ab) return 1 ;else if(a= =b) return 0 ;else return T ; 比较两个整数 a 和 b ,如果 a 大于 b 则返回 1 ;如果 a 等于 b 则返回 0;如果 a 小于b 则返回 -1 。2 intSC(inta,intb,int c)if(a=b&a=c)return a;if(b=a&b=c)return b ;if(c=a&c=b)return c;返回 a、b、c 三个数中的最大数。3 i
10、nt SE(int n) / /n 为大于等于 1 的整数int x; cinx ; if(n= =1) return x;int m=x ;while( n) cinx ; m+=x ;return m ;求输入的 n 个数之和。4 double SF (double x,int n) / /n 为大于等于 0 的整数double p=1,s=1;for(int i=1 ; i=n ; i+ +) p* =x ; s+ =p/(i+1);return s;计算 1+x/2+x2/3+x 3/4+ +xn/(n+1)5 includebool SG(int x) / /x为大于等于2的整数in
11、t a=int(sqrt(x) ; / /取 x 的平方根int i=2 ;while(i=a) if(x%i= =0) break ;i+ + ; if(i=a)return 0; else return 1 ;判断整数x是否为质数,若为质数返回true,若不是则返回false。6. float FH( ) float x,y=0,n=0;cinx ;while(x ! = 100) n+ + ; y+=x ;cinx ;if(n= =0) return y; else return y/n ;求键盘输入的数的平均值,输入-100结束(不计在平均值内),若没有数输入则返回0。计算机应用专业“
12、C+语言程序设计”课程作业第二次作业一、填空题1 假定一个一维数组的定义为“ char* a5; ”,则该数组所含元素的个数为_5_,所占存储空间的字节数为_20 _。2 假定一个二维数组的定义为“in ta4 6; ”,则该数组所含元素的个数为24,所占存储空间的字节数为_96 _。3 假定一个二维数组的定义为“ char a88; ”,则该数组所含元素的个数为 64,所占存储空间的字节数为_64 _。4 .执行“ typedef float ABC10; ”语句把ABC定义为具有10个单精度元素的 _数组。5在函数外定义的变量称为_全局变量,若没有被初始化则系统隐含对它赋初值_0。6 函数
13、中的形参变量的初值由用该函数时获得。7 函数调用时,实参向形参的传送分为传值 _和传址两种传送方式。8 .变量分为全局和局部两种,局部_变量没有赋初值时,其值是不确定的。二、给出下列程序运行后的输出结果1 . # includevoid mian () int a10=12,39,26,41,55,63,72,40,83,95;int i0=0,i 1=0,i2=0;for(inti=0; i10 ;I+ )switch (ai%3 )case0: i0+ + ;break ;case1: i1+ + ;break ; coutcase2: i2+ + ;i0 i1 i2endl4242 in
14、cludechar * a5 = ” studentJ? 1 ” 1” worker ” , ” cadrechar * p1,*p2;p1=p2= a0;for ( int i=0 ;i0 )p1=ai;if ( strcmp(ai,p2 )0 )p2=ai; include void main () appl;epeasant ”coutp1 p2endl ;worker apple3 includevoid main () int a8= 36,73,48,14,55,40,32,66 int b1,b2 ; b1=b2= a0 ;for (int i=1 ; ib1 ) if( b1b
15、2 ) b2=b1 ; b1= ai ;coutb1 b2endl ;73 364 include void main () char a = ” aabcdaabacabfgacd int i1=0, i2=0, i=0 ; while ( ai )if (ai = = )a i1+ + ; if (ai = = )b i2+ + ; i + + ;couti1i2endl735 include void main () char a = ” int b5= while ( ai ) switch (abcdabcdbdaeaf0 ,i=0 ;case a:b0+;,breakcase b:
16、b1+;,breakcase c:b2+;,breakcase d:b3+;,breakdefault: b4+;,ai ) 6for ( i=0 ; coutendli5 ; i + + )coutbi;43232include void main () a10 b4 c4 (intintintintfor= 73,83,54,62,40,75,80,92,77,84 = 60,70,90,101 = 0 ; i=0 ;i10 ; i +21617 forint j = while cj +i =0 ;coutendlinclude void main () a3 4 = mintintin
17、tforforcout =bj+;)j + + ;4 ; i + + ) coutci ii jji3jmi + +)j + +)m= ai j ;ii=i ; jj=j aii jjendl);2 0 248 includevoid main () int a =10,b =20 ;couta bendl ;a*=4;int b =a +35;couta bendl ;couta bendl ;10 2040 7540 20三、写出下列每个函数的功能 1int WC (int a ,int n,int k) int c = 0 ; for (int i = 0;i = k)c + + ; r
18、eturn c ;返回有 n 个元素的整型数组 a 中大于等于整数 k 的元素个数。2 includevoid WA (int a ,int n) for (int i = 0; in ;i + + ) int k = i;for (int j = i+1 ; jn ; j + + )if (ajak )k = j;int x = ai ;ai = ak ;ak = x ;函数功能是将有 n 个元素的整型数组从小到大排列。3 includetemplate int WG (TT a,TT b) if (ab ) return 1; else if (a = = b) return 0; els
19、e return 1 ;比较两个任意类型的数 a和b,若a大于b则返回1,若a等于b则返回0,若a小 于b否则返回1 。4 include templateType WD (Type a ,int n) Type m= a0;for (int i = 0 ; i m ) m = ai;Commenth1:可能不正确return m ;返回有n个元素的任意类型数组中最大的数。5. Templatevoid WE (Type a ,Type b ,int n) for (int i = 0 ; ib)。二、给出下列程序运行后的输出结果 以下结果中空格以表示1 . # includevoid mai
20、n () int a8=7,9,11,13,3,8,15,17;int *p = a;for(int i=0 ;i8;i + +)coutsetw(5) * p + + ;if (i+1 )%4=0 )coute ndl;7 9 1113-3 8 15172 . # includevoidmain () int a5=3,6,15,7,20;int *p = a;for (int i =:0 ;i5 ; i+ + )coutsetw(5)* p + + ;coute ndl;for (i =0 ;i5;i + +)coutsetw(5) * p ;coute ndl;3 6 157202071
21、5633 . # includevoid main () int a8 = 4,8,12,16,20,24,28,32;int *p = a;do cout *p p + =3 ; while (pa+8 ); coute ndl ;4 16 284 includevoid main () int x=20,y =40,* p ;p=&x; cout* p ;*p=x +10 ;p=&y; cout* pendl ;*p=y +20 ; cout x y endl204030605 includeint LA( int * a,int n)int s = 0;for ( int i =0 ;
22、in ;i + + )s + =ai ;return s ;voidmain ()int a = 5,10,15,20,25,30;int b =LA( a,5 );int c =LA( a+3,2 );cout b c b +2 * cendl75 45 1656 includevoid LC ( int a,int b)int x = a ;a = b;b = x;cout a b endlvoid main()intx =15,y=36 ;LC( x,y ); cout x y endl36 1515 367 includevoid LF ( int & x, int y)x = x +
23、 y ;y = x + y ;cout ”x=” x ” ,y=” y endlvoid main ()int x =5,y =8 ; cout ”x=” x ” ,y =” y endl LF( x,y );cout ”x=” x ” ,y =” y endl x=5,y=8 x=13,y=21 x=13,y=88 includevoid LG (int * & a, int & m ) a = new intm ; int * p = a ;for ( int i = 0; im ;i + + )* p + + =2 * i+1 ;void main ()int * p, n =5 ; L
24、G( p,n ); for ( int i = 0; in ;i + + ) cout pi;coutendl ; delete p ;13579 9 includevoid LH (int * a, int n )int * p = a + n 1; whlie ( ap ) int x = * a;* a = * p ;* p = x;a + +;p ;void main ()int * d = new int5 ;int i;for ( i = 0;i5 ; i + + ) di=2* i +3 ;coutsetw ( 5 ) di;coutendl ; LH(d,5 ); for (
25、i = 0;i5 ; i + + ) coutsetw(5 ) di;coutendldelete d ;115 -7 -9 -119 -7 -5 -一一310 includestruct Worker char name15;/ / 姓名int age ;/ / 年龄 float pay ;/ / 工资void main (),55,640;agey. payendl age+5Worker x = ” weirong ” Worker y, * p ; y = x ; p =&x ;cout y. namey.coutnamepay 10endl;weirong55 640weirong6
26、0 63011 include includestruct Worker char name15 ;/ / 姓名int age ;/ / 年龄float pay ;/ / 工资;void main ()Worker x ;char * t =” liouting ;x. payendlint d =46 ; float f =725 ; strcpy ( x. name, t); x. age = d ;x. pay = f; cout x. namex. ageliouting 46 725 三、写出下列每个函数的功能1 includevoid LI ( int n)int*anew int
27、n,* p = a + n ;for(inti =0 ; i ai ;for( i =n 1 ; i =0;i ) cout * ( p)cout n ; delete a ;输入 n 个数并以相反的顺序显示出来。2 includevoid LK(inta , intn,int * & b, int& m )floats=0 ; int i;for (i =0; in ;i+)s + = ai ;s/=n;m=0;for (i =0; i =s)m + + ;b=newintm ;int* p =b;for (i =0; i= s) * p + + = ai ;将数组 a 中大于平均数的元素存
28、放到动态申请的数组 b 中,数组 b 的大小由 m 返回。3. / /struct Worker / char name15 ;/ / 姓名/ int age ; / / 年龄/ float pay ;/ / 工资/ / ;istream & operator(istream&istr ,Worker& x )cout ”请输入一个职工记录:姓名、年龄、工资 ” x. namex. agex. pay ;return istr ;重载 istream 的 操作符以输入 Worker 结构对象。4. / / structStrNode /char name15 ;/ / 字符串域/StrNode
29、 * next ;/ / 指针域/ / ;void QB( StrNode * & f, int n)if (n = = 0)f =NULL ;return ;f =new StrNode ; cinf name ; StrNode * p = f; whlie ( n )p = p next=new StrNode ;cinp name ;p next=NULL ;创建有 n 个结点的 StrNode 类型的链表,并从键盘输入每个结点的 name 值。5. / / struct StrNode char name15; StrNode * nextvoid QC (StrNode * f)
30、whlie ( f)coutnamenext ; 遍历链表并输出所有结点的 name 数据成员计算机应用专业“C+语言程序设计”课程作业第四次作业一、填空题1. 在定义类对象的语句执行时,系统在建立每个对象的过程中将自动调用该类的_ 构造函数 使其初始化。2. 当一个类对象被撤消时将自动调用该类的 _析构函数 。3. 对基类数据成员的初始化是通过执行派生类构造函数中的_初始化表 来实现的。4. 对一个类中的数据成员的初始化可以通过构造函数中的_ 初始化表 _ 实现,也可以通过构造函数中的 _ 赋值语句 实现。5. 在一个派生类中,对基类成员、类对象成员和非类对象成员的初始化次序的先基类成员,后
31、 类对象成员 ,最后 非对象成员 。6. 当撤消一个含有基类和类对象成员的派生类对象时,将首先完成 派生类本身 的析构函 数定义体的执行,接着完成 类对象成员 的析构函数定义体的执行,最后完成 基类成员 的析 构函数定义体的执行。7. 设 PX 是指向一个类动态对象的指针变量,则执行 “ delete px ; ”语句时,将自动调用 该类的 析构函数 。8. 当一个类对象离开它的作用域时,系统将自动调用该类的 析构函数 。9. 假定一个类对象数组为 AN ,当离开它的作用域时,系统自动调用该类析构函数的 次数为 N 次 。10. 假定 AB 为一个类,则执行 “ ABa10 ; ”语句时,系统
32、自动调用该类构造函数的次数 为 10 次 。11. 假定拥护没有给一个名为 AB 的类定义构造函数,则系统为其隐含定义的构造函数为 空构造函数 。12. 假定用户没有给一个名为 AB 的类定义析构函数,则系统为其隐含定义的析构函数为 空析构函数 。13. 若需要把一个函数 “ void f(); ”定义为一个类 AB 的友元函数,则应在类 AB 的定义中 加入一条语句: friend void f(); 。14. 若需要把一个类 AB 定义为一个类 CD 的友元类,则应在类 CD 的定义中加入一条语 句: friend class AB; 。15. 假定一个类 AB 中有一个静态整型成员 bb
33、 ,在类外为它进行定义并初始化为 0 时,所 使用写法为 AB:bb = 0; 。16. 假定类 AB 中有一个公用属性的静态数据成员 bb ,在类外不通过对象名访问该成员 bb 的写法为 AB:bb 。17. 当类中一个字符指针成员指向具有 n 个字节的储存空间时,它所能储存字符串的最大 长度为 n-1 。18. 假定 AB 为一个类,则该类的拷贝构造函数的声明语句为 AB:AB(AB &) 。19. 对类对象成员初始化是通过执行构造函数中的 初始化表 完成的。20. 对于类中定义的成员,其隐含访问权限为 private ,对于结构中定义的成员,其隐含 访问权限为 public 。21. 一
34、个类的友元函数或友元类能够通过成员操作符访问该类的 所有数据成员和函数成员 。22. 假定要对类 AB 定义加号操作符重载成员函数,实现两个 AB 类对象的加法,并返回 相加结果,则该成员函数的声明语句为: AB operator +(AB, AB); 。23. 在 C+ 流类库中,根基类为 ios 。24. 在 C+ 流类库中,输入流类和输出流类的名称分别为 istream 和 ostream 。25. 若要在程序文件中进行标准输入输出操作,则必须在开始的#inlude 命令中使用iosteam.h 头文件。26. 若要在程序文件中进行文件输入输出操作,则必须在开始的#inlude 命令中使
35、用fstream.h 头文件。27. 当从字符文件中读取回车和换行两个字符时,被系统看作为一个 换行符 。28. 当使用 ifstream 流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式 为 读取的文本文件 ,当使用 ofstream 流类定义一个流对象并打开一个磁盘文件时,文 件的隐含打开方式为 写入的文本文件 。29. 当需要使用 istrstream 流类定义一个流对象并联系一个字符串时,应在文件开始使 用 #include 命令,使之包含 strstrea.h 文件。二给出下列程序运行后的输出结果1 #includeclassAint a,b;public:A() a=b=
36、0;A(int aa,int bb)a=aa;b=bb;couta bendl; ;void main( )A x,y(6,3), z(8,10);638 102 #includeclass Aint a, b;public:A(int aa= 0, int bb= 0): a(aa),b(bb) coutConstructor ! a + bendl;void main()A x, y(2,5), z(y); Constructor!0 Constructor!73 #include class A int * a;public:A(int aa= 0)a = new int(aa);cou
37、tConstructor ! * aendl;void main()A x2;A * p = new A(5); delete p;Constructor!0Constructor!0Constructor!54 #include class Aint a; public:A(int aa= 0): a(aa)A()coutDestructor! a endl;void main()A x(5);A * p = new A(10); delete p;Destructor!10Destructor!55 #include class A int * a;public:A(int x) a =
38、new int(x); coutConstructor ! * aendl;A()delete a;coutDestructor ! endl; ;void main()A x(9),* p;p = new A(12); delete p; Constructor!9 Constructor!12 Destructor!Destructor!6 #include class Aint a;public:A(int aa= 0): a(aa)A! aendl;coutConstructor;class B:public A int b;public:B(int aa, int bb): A(aa
39、), b(bb) ;void main()B x(2,3),y(4,5);Constructor A!2Constructor B!3Constructor A!4Constructor B!57 #include class Aint a;public:A(int aa= 0)a = aa; A()coutDestructor ;A ! aendl;class B:public Aint b;public:B(int aa= 0, int bb= 0):A(aa)b= bb;B()coutDestructorB! bendl;voidmain()B x(5),y(6,7)DeconstructorB!7DeconstructorA!6DeconstructorB!0Deconstruct
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 智研咨询-2025年中国艺术品拍卖行业市场规模、行业集中度及发展前景研究报告
- 医学CT影像设备与应用介绍课件
- Unit+1+Meeting+new+people+Part+A+Let's+learn+Listen+and+chant【知识精研】人教PEP版(2024)英语三年级下册+
- Unit 2 My class Lesson 1【知识精研】三年级英语下学期同步备课(人教精通版·2024)
- 《玩具行业分析》课件
- 《导波与波导》课件
- 《dn技术原理介绍》课件
- 2025年哪吒精神开学收心第一课课件
- 《护理与法律》课件
- 《比划动作猜成语》课件
- 视频会议室改造方案
- 2024年新人教版七年级上册历史全册课件 第1课 远古时期的人类活动
- 四川省2024年中考数学试卷十七套合卷【附答案】
- 北师大版二年级数学下册全册10套试卷(附答案)
- 数字出版概论 课件 第六章 数字内容加工、管理技术
- 【中考真题】广东省2024年中考语文真题试卷
- 糖尿病并发症的早期筛查
- 2025年湖南省长沙市中考数学模拟试卷(附答案解析)
- 五级人工智能训练师(初级)职业技能等级认定考试题库(含答案)
- 2022年内蒙古呼和浩特市中考化学真题(解析版)
- 2024-2025学年华东师大版数学七年级上册计算题专项训练
评论
0/150
提交评论