c++期末复习资料

合集下载

CAD期末考试复习资料

CAD期末考试复习资料

CAD期末考试复习资料一、单项选择1、autocad的坐标体系,包括世界坐标和(d)坐标系。

a、绝对座标b、平面坐标c、相对座标d、用户座标2、autocad无法处置以下哪类信息(d)。

a、矢量图形b、光栅图形c、文字信息d、声音信息3、autocad软件不能用来进行(b)。

a、建筑设计b、文字处理c、电路设计d、零件设计4、采用下面的哪个操作方式可以顺利完成对选好图形的移动(a)a、moveb、rotaec、copyd、mocoro5、用line命令图画出来一个矩形,该矩形中存有(b)图元实体。

a.1个b.4个c.不一定d.5个6、下列选项中,与快速保存“qsave”命令作用相同的是(d)。

a、命令行输出“saveas”b、下拉菜单【文件】/【另存为(a)?】c、命令行输出“save”d、下拉菜单【文件】/【留存(s)】7、在继续执行fillet命令时,先应当设置(a)。

a.圆弧半径rb.距离dc.角度值d.内部块block8、剪切物体需用(a)命令。

a.trimb.extendc.stretchd.chamfer9、当采用line命令半封闭多边形时,最快的方法就是(a)。

a.输入c回车b.输入b回车c.输入plot回车d.输入draw回车10、autocad中的图层数最多可设置为(b)。

a.10层b.没有限制c.5层d.256层11、cp是哪个命令的热键名(b)。

a.cirlceb.copyc.chamferd.splinedit12、circle命令中的t选项就是指以(d)方式画圆弧。

a.端点、端点、直径b.端点、端点、半径c.切点、切点、直径d.切点、切点、半径13、在执行solid命令后,希望所画的图元内部填充,必须设置(a)。

a.fill为onb.fill为offc.ltscaled.color14、offset命令前,必须先设置(c)。

a.比例b.圆c.距离d.角度15、应用倒角命令“chamfer”进行倒角操作时:(c)a、无法对多段线对象展开角b、可以对样条曲线对象展开倒角c、无法对文字对象展开倒角d、无法对三维实体对象展开倒角16、移动圆对象,使其圆心移动到直线中点,需要应用:(d)a、正交b、捕捉c、栅格d、对象捕捉17、拉伸命令“stretch”拉伸对象时,不能:(a)a、把圆弯曲为椭圆b、把正方形弯曲成长方形c、移动对象特定点d、整体移动对象18、无法应用领域浇水命令“trim”展开浇水的对象就是(d)a、圆弧b、圆c、直线d、文字19、autocad中cad标准文件后缀名为(a):a、dwgb、dxfc、dwtd、dws20、多次复制“copy”对象的选项为:(a)a、mb、dc、pd、c21、在autocad中给一个对象选定颜色的方法很多,除了(d):a、轻易选定颜色特性b、随层“bylayer”c、随块“byblock”d、随机颜色22.在cad中在用line命令绘制封闭图形时,最后一直线可敲(a)字母后回车而自动封闭a.cb.gc.dd.023.在cad中单位设置的快捷键就是(b)a.umb.unc.ctrl+ud.alt+u24.cad软件中我们一般都用(c)单位来做图以达到最佳的效果a.米b.厘米c.毫米d.分米25.在cad中文本窗口切换的快捷键是(b)a.f1b.f2c.f3d.f426.在cad中圆弧快捷键就是(b)a.trb.ac.recd.pl27.在cad中绘制圆的直径按(d)键a.bb.wc.pd.d28.在cad中定数等分的快捷键是(d)a.mib.lenc.f11d.div29.在cad中点的快捷键是(c)a.wb.oc.pod.tr30.在cad中图形界限的命令就是(a)a.limitsb.ctrl+0c.alt+1d.alt+231.在cad中查看距离命令是(c)a.bib.cic.did.f332.在autocad中激活其它文件中块的命令快捷键就是(b)a.ctrl+alt+cb.ctrl+cc.ctrl+shift+cd.ctrl+a33.在autocad中写块(存储块)命令的快捷键是(a)a.wb.ic.ld.ctrl+w34.在autocad中粘贴其它文件的块的命令快捷键是(d)a.vb.ctrl+atl+vc.ctrl+shift+vd.ctrl+v35.在cad中文字工具中输出下划线的命令就是(b)a.%%1b.%%uc.%%3d.contentamp;236.在cad中文字工具中输入直径符号的命令是(d)a.%%1b.%%uc.%%3d.%%c37.在cad中以下有关图层锁定的描述,错误的是(b)a.在锁定图层上的对象仍然可见b.在锁定图层上的对象不能打印c.在锁定图层上的对象不能被编辑d.锁定图层可以防止对图形的意外修改38.在cad中当一对象从图形中被删掉时,采用下列哪一个命令恢复正常该对象(a)a.ctrl+zb.cancelc.restod.replace39.在cad中建立一个圆与未知圆同心,可以采用哪个修正命令(c)a.阵列b.复制c.偏移d.镜相40.autocad的英文全称是(b)41.在cad中画回去一幅图后,在留存该图形文件时用(d)做为扩展名。

C语言期末考试复习资料-程序填空部分试题及答案

C语言期末考试复习资料-程序填空部分试题及答案

【程序填空】-——-—----——--—————--—-—-——-—-——----—--—-—-——------———-——- 功能:下面的程序是求1!+3!+5!+……+n!的和。

--——------—-—--——-—----—---——----————-—-———-—-—-—-----—*/#include <stdio.h〉main(){long int f,s;int i,j,n;/***********SPACE***********/【?】;scanf("%d”,&n);/***********SPACE***********/for(i=1;i<=n;【?】){f=1;/***********SPACE***********/for(j=1; 【?】;j++)/***********SPACE***********/【?】;s=s+f;}printf(”n=%d,s=%ld\n",n,s);}/*-—--——-——-—-——---—-----—--——--—-—--—----—---—-—-—--——-—【程序填空】----—---—---—--—-—————-—————-——---—--—----————-—--—--——-—功能:以每行5个数来输出300以内能被7或17整除的偶数,并求出其和。

--———-—--——-—--——-——--—--———--—————-——--—--—-———--—--——*/ #include <stdio.h〉#include <conio.h〉main(){int i,n,sum;sum=0;/***********SPACE***********/【?】;/***********SPACE***********/for(i=1; 【?】;i++)/***********SPACE***********/if(【?】)if(i%2==0){sum=sum+i;n++;printf("%6d",i);/***********SPACE***********/if(【?】)printf(”\n");}printf(”\ntotal=%d”,sum);}/*———-—----———----—----—---———————--—-————----——----—---—【程序填空】——---—————-———-—————---—-—----—--——-—--—--——-—--——————-——功能:求100-999之间的水仙花数说明:水仙花数是指一个三位数的各位数字的立方和是这个数本身。

c语言期末复习资料3

c语言期末复习资料3

1.C程序的源程序由预处理命令和( )组成。

(A)函数(B) 语句(C) 保留字(D) 标识符2. 下面程序段中,与if(x%2)中的x%2所表示条件等价的是( )。

scanf("%d",&x);if(x%2) x++;(A)x%2==0 (B) x%2!=1 (C) x%2!=0 (D) x%2==13. 执行下面的C语句序列后,变量b的值是( )。

int a,b,c; a=b=c=1; ++a||++b&&++c;(A) 错误(B) 0 (C) 2 (D) 14. 设有C语句int a[3][4];,则每次移动过a数组一行元素的指针变量定义形式是( )。

(A)int *p; (B)int **p;(C)int (*p) [4]; (D)int *p[4];5.设有整型变量a, 实型变量f,双精度型变量x,则表达式10+'b'+x*f值的类型为( )。

(A) int (B) float (C) double (D) 不能确定6.C语言中规定,函数调用中用简单变量做实参时,它和对应形参之间的数据传递方式是( )。

(A)地址传递(B)单向值传递(C)有实参传给形参,再由形参传回给实参(D)由用户指定传递方式7.下面程序的输出是()。

#include <stdio.h>void main(){int x=10,y=3;printf("%d\n",y=x/y);}(A)0 (B)1 (C)3 (D)不确定的值8.执行下面的程序段后,B的值为()。

int x=35;char z='A';int B;B=((x&15)&&(z<'a'));(A) 0 (B) 1 (C) 2 (D) 39.以下程序的输出结果为()。

#include <stdio.h>void main(){int i=0;for(;;)if(i++==5)break;printf("%d\n",i);}(A) 0 (B) 5 (C) 6 (D) 前3个选项都错10.已知:char s[4] = "cba"; char *p; 执行语句序列p =s;printf("%c\n",*p+1);后,其输出为()。

c语言期末复习资料

c语言期末复习资料

c语言期末复习资料C语言是计算机科学中非常基础的一门编程语言,是程序员必须掌握的技能之一。

由于其简单易学的特点和广泛的应用范围,越来越多的人开始学习和使用C语言。

期末考试是C语言学习过程中的重要节点,为了帮助考生顺利通过考试,本文整理了一些C语言期末复习资料以供参考。

一、基础知识1.变量和数据类型C语言中的变量用于存储程序中使用的数据,数据类型是指变量所代表的数据的类型。

常见的C语言数据类型包括整型、浮点型、字符型、布尔型等。

掌握变量和数据类型的定义和使用是C 语言学习的第一步。

2.运算符和表达式C语言中的运算符用于对变量进行运算和操作,包括算术运算符、关系运算符、逻辑运算符等。

表达式是由变量和运算符组成的代码段,用于对变量进行操作和计算。

掌握运算符和表达式的使用和规则是C语言学习的基础。

3.条件语句和循环语句条件语句和循环语句是C语言中的两种重要的控制结构。

条件语句根据条件的真假来执行不同的代码段,常见的条件语句包括if语句和switch语句。

循环语句用于重复执行同一个代码段,常见的循环语句包括for循环、while循环和do-while循环。

掌握条件语句和循环语句的使用和应用是C语言学习的重要环节。

二、进阶技巧1.字符数组和字符串字符数组和字符串是C语言中非常常用的数据类型,用于处理字符和文本。

字符数组是由若干个字符组成的数组,字符串是由若干个字符组成的字符串常量。

掌握字符数组和字符串的定义和使用,能够更好地处理文本和数据输入输出等问题。

2.函数和指针函数是C语言中的重要的模块化编程方法,函数将程序的功能分解为若干个具有特定功能的独立模块。

指针是C语言中的重要的数据类型,它存储变量的内存地址,常用于访问复杂数据结构和实现高效的内存管理。

掌握函数和指针的使用和细节能够更好地组织程序和提高程序的执行效率。

3.结构体和文件操作结构体是C语言中用于组织复杂数据结构的数据类型,常用于存储各种类型的数据记录。

整式期末复习资料

整式期末复习资料

第一章 整式及其运算复习一 幂的运算n m n m a a a +=⋅ ;m n n m mn )a ()a (a ==;n n n b a )ab (⋅=;n m n m a a a -=÷ (m ,n 都是正整数)注:1、()=-na ⎪⎩⎪⎨⎧-);(),(为奇数为偶数n a n a nn ()=-na b ⎪⎩⎪⎨⎧---).()(),()(为奇数为偶数n b a n b a nn 2、10=a(a ≠0) (2)pp a a 1=- (a ≠0)针对练习: (1)已知31232m -=,求m=____;(2)如果20a a +=,那么2001200012a a ++的结果为(3)已知3113m n n y y y -+=,146m nx xx --=,求2m n +=__________(4)整数825m N =⨯是一个11位整数,求m___________(5)已知122,62,32===c b a,求a , b , c 之间的关系为_________(6) 若()()()43991003,4,212-=-=⎪⎭⎫ ⎝⎛⋅-=c b a ,试比较a , b , c 的大小为_____________ (7) 1002___753(填>或<) , 比较333444555543、、的大小为___________________(8) 若72=nx,则()()nn x x 322343-=________若y xy x 279,0432⋅=-+求=_______(9) 已知(2x -3)0=1,则x 的取值范围是________(10)()()3200820082125.0⨯-=___________ 78772153187⎪⎭⎫ ⎝⎛-⨯⎪⎭⎫ ⎝⎛+⨯⎪⎭⎫ ⎝⎛-=_____________(11) 若m my x 43,12+=+=,请用含x 的代数式表示y 为________________ (12) 已知,200080,200025==y x则yx 11+的值为( ) A 、1 B 、2 C 、21D 、23二 整式的计算(整式的混合运算) 1、 化简求值:(1)若2(2)10a b +++=,求{})]24(3[2522222b a ab ab b a ab ----的值(2) 已知xyz xA -=32,xyz z y B +-=23,xyz y x C -+-=222,且01)1(2=+-++z y x 求:)32(C B A --的值.(3) 已知:2,1a b a c -=-=,求:()()222a b c c b --+-=___________(4) 若a 3(3a n-2a m+4a k)=3a 9-2a 6+4a 4,求-3k 2(n 3mk+2km 2)=___________ (5) 化简求值: ()()1212-++-b a b a 其中598,987a b ==2、(整体思想)(1)已知535-++=cx bx ax y ,当3-=x 时,7=y ,求当3=x 时y 的值;(2)若22210,24x x x x -+=-=则 (3) 已知:220m m +-=,求:3232000m m ++=___(3) 已知33xx -=1,则43291237x x x x +--+1999=___________(4) 已知:3,4a b b c -=-=,求:222a b c ab bc ca ++---的值 (5) 已知012=++a a ,求200720082009a a a ++的值;(6)已知32-=xy ,求出)(523y y x xy xy -+-的值3、恒等问题:(1)、已知多项式63513212--+-+x xy y x m 是六次四项式,单项式m n y x -523与该多项式的次数相同,则=+n m (2)若多项式1)3(5)1(234-+-+--x b x x a x 中不含3x 和x 项,则=a ,=b ;若)3)(8(22n x x mx x+-++展开后不含x2和x 3项,求m ,n 分别为_____________(3)已知:222321,1A x ax x B x ax =+--=-+-,且B A 63+的值与x 无关,求a 的值(4) 若)3)(8(22b x x ax x+-++的积中不含3x 项和x 项,则a 、b 的值分别为( )A 、0=a ,0=bB 、3-=a ,1=bC 、3=a ,8=bD 、3-=a ,9-=b(5)已知:b x x x a x +-=+-610)25)(2(2恒成立,求a+b=__________(6) C x B x x x+-+-=++)1()1(4322,求B C =__________(7) 若22251(1)(1)xx a x b x c ++=++++,求23a b c +-=___________4、计算题 (1)()()22a b c d a b c d +++-+--(2)()()()()2222222312231233233xx x x x x x x --+---+++-++(3)(-1)2006+(-12)-2-(3.14-π)0; (4)(2x -3)2-(2x+3)(2x -3)(5)运用乘法公式进行简便计算:20052-2004×2006(3)已知b a ,满足()2125224)8(b b a --=÷-,()()2739÷=ab ba(1)求22b a +的值 (2)计算()()()()++++++-+11b a b a ab b a b a ab ()()()()1009921+++++⋯+++++b a b a ab b a b a ab三 平方差(a+b)(a-b)=a 2—b21、计算22112222x x ⎛⎫⎛⎫-+-- ⎪ ⎪⎝⎭⎝⎭(2)()()x y z x y z +-++(3)59.860.2⨯ (4)2200620052007-⨯(5)()()()()()224488a b a b a b a b a b -++++(6)3(22+1)(24+1)(28+1)(162+1)+1 (7)(a+b-c)(a-b+c)-(a-b-c)(a+b+c)(8)(2211-)(2311-)(2411-)…(2911-)(21011-)(9)(x 3+x 2+x+1)(x 3-x 2+x-1)-(x 3+x 2+x+2)(x 3-x 2+x-2)四 完全平方(a+b)2=a 2+2ab+b 2;(a-b)2=a 2-2ab+b 2公式变形:(1)()2222a b a b ab +=+-(2)()2222a b a b ab +=-+(3)()()222222a b a b a b ++-=+(4)()()224a b a b ab +--=1、简单计算和化简(1)()22a b -+ (2)(a+b-c)² (3)(a-b-c)²(4)()()()()22342343232x x x x +++-++-+(5)2202 (7)利用完全平方公式解方程:0161242=-+x x(8)1.23452+0.76552+2.469×0.7655. (9)2、22ab ±、ab 、2()a b ±之间关系的问题:(1)4,2a b ab +==-.则(1)22ab + =______(2)()2a b -=_________(2) 已知实数a 、b 满足(a+b )2=1,(a ﹣b )2=25,求a 2+b 2+ab 的值.(3)设2,122=+=+b a b a ,求33b a +的值3、1x a x±= 求22x y +=?的问题 (1)已知1x x+=3.(1)求221x x +的;(2)求441x x +的值(2)已知:231xx -+=0.(1)求:221x x +的值;(2)求:441xx +的值。

C语言期末复习资料

C语言期末复习资料

D. a = 0
36、下列程序段运行后 x 的值是 A 。
main ()
{ int a, b, c, x ;
a=b=c=0 ; x= 35 ;
if ( !a ) x-- ;
else if ( b ) ;
if ( c ) x =3 ;
printf ( "%d", x ); }
A. 34
B. 0
C. 35
{ case 1: printf ("*\n");
case 1+2: printf ("**\n"); }
case 2: printf ("**\n"); }
32、以下由 while 构成循环的次数是
D。
int i = 1 ;
while ( i == 1 ) i++;
A. 执行无限次
B. 语法错
C. 一次也不执行
17、以下程序的输出结果是 _____A_____。
# include <string.h>
main( )
{ printf ( "%d\n", strlen ("IBM\n012\1\\" ) ) ;
}
A. 9
B. 7
C. 11
D. 10
18、下列叙述中,不是 C 语言特点的是
B。
A. 简洁、紧凑,使用方便、灵活,易于学习和掌握
}
A. 10
B. 11
C. 13
D. 3
8、若以下变量均已正确说明为 char 类型,要给 x、y 和 z 输入数据,正确的是 B 。
A. scanf ( x, y, z );

C语言程序设计A期末考试复习要求

C语言程序设计A期末考试复习要求

(2021.06.07)C语言程序设计A课程期末复习与考试要求(文本)王宇:怎样才能学好程序语言?现在各种程序语言都很多,什么c语言啊,c++啊java ,c#啊,各种语言都很多我们要从什么开始学习,怎么才能学好这些语言呢?以及以后的那个就业需要的知识。

希望老师以及高手给予帮助!??徐孝凯:要学好一门语言,它是学习计算机任何专业的基础.要使用计算机,就必须学会计算机能够理解的语言,以便执行相应的程序或命令.黄乐:徐老师,课件视频只有一可以正常播放,其它都没反应。

徐孝凯:请咨询电大在线的网站!吴耀:C语言很难,我们得好好学习徐孝凯:回复:C语言――对的,要学习和上机操作相结合.谢祚洲:我是新手,先来报到徐孝凯:通过学习,很快会变为老手!殷自胜:这门课考试是以什么形式进行?机试?笔试?徐孝凯:笔试!往届试卷供参考中央广播电视大学C语言程序设计A课程试卷(2)2010.1.13底考一、单选题(每小题2分,共20分)1. 由C语言源程序文件编译而成的目标文件的默认扩展名为( )。

A. cppB. cC. exeD. obj2.设x和y均为逻辑值,则x || y为假的条件是x和y( )。

A. 均为真B. 其中一个为真C. 均为假D. 其中一个为假3. 枚举类型中的每个枚举常量的值都是一个()。

A. 整数B. 浮点数C. 字符D. 记录4. 循环语句“for(i=0; i<=n; i++) S;”中循环体S被执行的次数为( )。

A. 1B. n-1C. nD. n+15. 假定有语句为“int a[4][5]={{1,3,5},{2,8}};”,则a[1][1]的值为()。

A. 3B. 5C. 8D. 106. 在下面的选项中,不能作为函数的返回值类型的是()。

A. voidB. nodeC. intD. long7. 假定x的值为5,y的值为6,则表达式x++*--y的值为()。

A. 25B. 30C. 36D. 428. 用calloc函数创建具有10个整型元素的动态存储空间的正确调用是()。

C语言期末考试复习资料

C语言期末考试复习资料

C语言期末考试复习资料C语言复习摘要一、数据类型:基本类型(整型、实型、字符型、枚举类型),构造类型(数组、结构体、共用体)、指针类型、空类型。

基本类型也叫简单类型,构造类型也叫复杂类型二、标识符:标识符只能由字母、下划线、数字构成,且必须以字母或下划线开头,且对字母的大小写敏感。

三、常量1、整型常量,如:32,0x32,0X32,0x3f,0xea,8L,8l,0672、实型常量,如:3.14,1e23,0.8E8,0.8E-8,0.8E+83、字符常量,如:‘a’,‘\n’, ‘\w’,‘\\’,‘\0’4、字符串常量,如:“windows”,“a”,(其赋值表达式和赋值语句中其本质是一个地址常量)5、地址常量,若有定义:int k,a[10];char s[20];则:&k,a,s,NULL都是地址常量6、符号常量,用宏定义实现,如:#define PAI 3.14159267、以下都是非法常量:0xfg,3.1e2.8,‘aw’,‘w\’,0x,068四、表达式(要点:先确定表达式的类型,再确定表达式的值的类型,最后确定表达式的值):1、算术表达式(应注意变量类型的自动转换——原则:低级向高级转换):(1)、整型表达式:参加运算的都是整型量,结果也是整型数。

如:x+20*9+3(2)、实型表达式:参加运算的都是实型量,运算过程中先转换成double型,结果也是double型。

如:x+20*9+3.0,x+20*9+sqrt(3)2、赋值表达式:将赋值运算符“=”右边的值赋给左边的变量,其值为赋值后左边变量的值,类型为左边变量的类型。

如:x=3(注:若x为整型变量,则该表达式的值为整型,若x实型变量,则该表达式的值为实型)3、逻辑表达式:用逻辑运算符(!,&&,||)连接的整型量,结果为整数(0或1)。

逻辑表达式可认为是整型表达式的一种特殊形式。

如:((x=3)&&(y=0))4、关系表达式:用关系运算符将两个表达式连接起来的式子,结果为整数(0或1)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、面向对象相关概念:类:具有相同属性和行为的对象集合,把数据和操作封装在一起对象:数据+操作。

面向对象特征:抽象,封装,继承,多态2、输入输出:输入cin>>a>>b;输入不能有endl。

输出cout<<a<<b<<endl;3、const修饰符:●指向常量的指针:如const char *p=”abcd”;不允许改变指针所指的常量,如p[3]=’x’是错误的,但是可以改变指针p的值p=“mn”;是对的。

●常指针:char *const p =“abcd”;指针本身是常量,不能移动,但是所指内容为变量,可以更改,如p[3]=’x’是对的。

●常数据成员,常成员函数,常对象:在类中声明的数据或函数可以是常量,对于常数据成员要用初始化列表初始值,在C++类中,const关键字可以修饰对象和成员函数,const对象不能被修改,一个常对象只能调用它的常成员函数,不能调用普通成员函数。

常成员函数格式:类型说明符函数名(参数表)const;常成员函数可以参加重载。

常成员函数不能更新对象的数据成员,也不能调用该类中的普通成员函数,const成员函数不能修改数据成员。

4、内联函数:在函数说明前冠以关键字inline,目的是消除函数调用时的系统开销,提高运行速度。

注意:内联函数体内不能有循环语句和switch语句。

内联函数的声明必须出现在内联函数第一次被调用之前。

类结构中所有在类说明体内定义的函数都是内联函数。

5、带有缺省参数值的函数:在说明函数原型时,可以给一个或多个形参指定缺省值,调用时如给出实参,则采用实参值,否则采用预先给出的默认形参值。

如某一个类point的构造函数原型为point(int x=1, int y=0);则参数x和y的缺省值为1和0.注意:在函数原型中,所有缺省值的参数都必须从右往左缺省,在函数调用时从左往右将实参与形参结合,如point(int x=1, int y=0) {X=x;Y=y;},那么执行point p(3)之后p的X和Y值分别为3,0.6、函数重载:C++允许功能相近的函数在相同的作用域内以相同函数名声明,从而形成重载。

注意:重载函数的形参必须不同: 个数不同或类型不同。

编译程序将根据实参和形参的类型及个数的最佳匹配来选择调用哪一个函数。

例:void add(int m, int n){ cout<<”two integer numbers m+n=”<<m+n<<endl; }void add(float x,float y){ cout<<”two float numbers m+n=”<< m+n<<endl; }int i=1,j=2;float f=1.0,d=2.0;add(i,j);add(f,d);则前者调用第一个函数,后者调用第二个函数输出two integer numbers m+n=3two float numbers m+n=3.07、引用:引用(&)是标识符的别名,例如:int i;int &ri=i; //建立一个int型的引用ri,并将其初始化为变量i的一个别名。

注意:声明一个引用时,必须同时对它进行初始化,使它指向一个已存在的对象,不能声明完成后再赋值,如 int i;int &ri;//错误ri=i;一旦一个引用被初始化后,就不能改为指向其它对象。

如:int i,j;int &ri=i;ri=&j;//错误引用可以作为形参作为传地址调用,效果和指针一样。

void s a, int& b) {...}引用与地址符的区别:引用运算符仅在声明是带有引用运算符&,以后就像使用普通变量一样,其他场合使用&都是地址操作符8、作用域标识符(::)如果希望在局部变量的作用域内使用同名的全局变量,在该变量前加上::,如::a代表全局变量。

9、new和delete运算符new用来内存分配,最基本格式为:指针变量=new 类型名;该语句在程序运行时从自由存储区中为程序分配一类型名字节大小空间,该空间首地址被存于指针变量中。

运算符delete用于释放new分配的存储空间,基本格式:delete 指针名;说明:●可以用new将分配的对象初始化,new和delete都可以重载。

●new分配的空间使用结束后应该也只能用delete显式释放,否则将不能回收而变成死空间●使用new为数组动态分配内存:指针变量=new 类型名[下标值];如int *p=newint[10];释放时:delete []指针变量名;如delete []p;●new可以为简单变量分配内存时同时进行初始化,指针变量=new 类型名(初始化列表);如int *p=new int(10);10、类是一种用户自定义类型,声明形式:class 类名称{public:公有成员(外部接口)private:私有成员protected:保护型成员};类成员中缺省访问方式为私有●公有类型成员:在关键字public后面声明,它们是类与外部的接口,任何外部函数都可以访问公有类型数据和函数。

●私有类型成员:在关键字private后面声明,只允许本类中的函数访问,而类外部的任何函数都不能访问。

如果紧跟在类名称的后面声明私有成员,则关键字private可以省略。

●保护类型:在类的定义中,说明为protected的数据成员称为保护成员。

保护数据成员具有双重作用:对于其派生类而言,是公有的,而对于其外部的程序而言,是私有的●类的成员:成员数据与一般的变量声明相同,但需要将它放在类的声明体中。

成员函数在类中说明原形,可以在类外给出函数体实现,并在函数名前使用类名加以限定。

也可以直接在类中给出函数体,形成内联成员函数。

●类的对象是该类的某一特定实体,即类类型的变量。

声明形式:类名对象名;例:Clock myClock;●类中成员的访问方式:类中成员互访:直接使用成员名类外访问:使用“对象名.成员名”或“对象指针名->成员名“方式访问 public 属性的成员11、构造函数构造函数的作用是在对象被创建时使用特定的值构造对象,或者说将对象初始化为一个特定的状态。

特点:●在对象创建时或new类名时由系统自动调用。

●如果程序中未声明,则系统自动产生出一个默认形式的构造函数,只有程序中定义有构造函数,系统不再自动生成缺省的构造函数缺省构造函数类名::缺省构造函数名(){}●函数名必须与类名相同●不能指定函数返回类型●参数可以有,也可以无,参数可以带默认形参值,所以一个类可以有多个构造函数,从而构造函数可以重载。

如有一个类A,当执行语句A a;时将自动调用该类的无参构造函数或缺省的构造函数或带默认形参值的构造函数,但无参构造函数和带默认形参值的构造函数二者同时出现容易出现调用时引起二义性●允许是内联函数利用构造函数创建对象有两种方法:●用构造函数之间创建对象:类名对象名(实参表);如point p(1,2);●利用构造函数创建对象时,通过指针和new来实现:类名 *指针变量=new 类名(实参表);如A *p=new A(1,2);注意类A声明对象指针并不调用构造函数,而是通过new创建临时对象调用构造函数,所以该语句只调用构造函数1次12、拷贝构造函数拷贝构造函数是一种特殊的构造函数,其形参为本类的对象引用,作用是用已经存在的对象初始化另一个同类的新对象。

类名(类名 &对象名);//拷贝构造函数如类A拷贝构造函数为: A (A &x);拷贝构造函数特点:●也是构造函数,所以其函数名与类名相同,没有返回值●只有一个参数,并且是本类的对象引用,所以一个类只能有一个,不能重载●每一个类都有一个拷贝构造函数,如果没有定义,系统会自动生成一个缺省的调用拷贝构造函数3种情况:●当用类的一个对象去初始化该类的另一个对象时系统自动调用拷贝构造函数实现拷贝赋值。

●若函数的形参为类对象,调用函数时,实参赋值给形参,系统自动调用拷贝构造函数。

●当函数的返回值是类对象时,系统自动调用拷贝构造函数。

深拷贝和浅拷贝:缺省的拷贝构造函数所实现的数据成员逐一赋值就是浅拷贝,当类中有指针时,需要自定义拷贝构造函数,谓深拷贝。

13、析构函数完成对象被删除前的一些清理工作。

特点:●析构函数与构造函数名相同,但它前面必须加一个波浪号~●析构函数没有返回值●析构函数没有参数,所以一个类中只能有一个析构函数,所以析构函数不能重载●当撤销对象时,或delete对象指针编译系统自动调用析构函数●如果没有定义析构函数,系统自动生成一个缺省的析构函数类名::~缺省析构函数名(){}14、成员初始化列表在声明类时,不能在数据成员的声明中对数据成员进行初始化,一般在构造函数中用赋值语句进行,但对于内嵌的对象、常量、引用数据成员需要在构造函数的成员初始化列表中进行。

带有成员初始化列表的构造函数一般格式:类名::构造函数名(参数表):(成员初始化列表){。

}15、this指针隐含于每一个类的成员函数中的特殊指针。

16、对象数组:类名数组名[下标值];该数组中每个元素都是对象,都会自动调用构造函数,当数组中每一个对象被删除时,系统都要调用一次析构函数。

访问方法:数组名[下标].成员名17、对象指针:类名 *对象指针名;定义对象指针不会调用构造函数利用对象指针可以访问单个对象成员,如point *p,ob;p=&ob;p->show();或(*p).show(); 也可以用对象指针访问对象数组,对象可以作为函数参数,对象指针也可以18、指向类成员的指针:通过指向成员的指针只能访问公有成员指向类的非静态成员的指针●指向公有数据成员的指针:类型说明符类名::*数据成员指针名;说明指针应该指向哪个成员:指针名=&类名::数据成员名;通过对象名(或对象指针)与成员指针结合来访问数据成员:对象名.* 类成员指针名或:对象指针名->*类成员指针名●声明指向公有函数成员的指针:类型说明符 (类名::*指针名)(参数表);初始化:指针名=类名::函数成员名;通过对象名(或对象指针)与成员指针结合来访问函数成员:(对象名.* 类成员指针名)(参数表)或:(对象指针名->*类成员指针名)(参数表)指向类的静态成员的指针●对类的静态成员的访问不依赖于对象,可以用普通的指针来指向和访问静态成员19、静态成员●静态数据成员●用关键字static声明,该类的所有对象维护该成员的同一个拷贝,必须在类外定义和初始化,用(::)来指明所属的类。

相关文档
最新文档