ImageVerifierCode 换一换
格式:DOCX , 页数:157 ,大小:351.80KB ,
资源ID:12876904      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12876904.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C++学习要点完全版.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C++学习要点完全版.docx

1、C+学习要点完全版目录1.基本知识 4(1)C语言的关键字 4(2)C语言的标识符 4(3)C语言注释 4(4)C语言基本数据类型 4(5)C语言的变量 5(6)C语言的常量 5(7)简单的输入输出 6(8)C+运算符和表达式(以优先级排列) 6(9)C+数据类型转化 82.C+的控制语句 8(1)选择结构 8(2)循环结构 9(3)break语句 9(4)continue 语句 10(5)goto 语句 103.C+数组 11(1)数组的定义与初始化 111)定义数组 112)字符数组和字符串 11(2)指针 121)定义和使用指针 122)指针和数组 143)数组指针与指针数组 15(3)

2、使用操作符new和delete进行动态储存分配 151)创建动态变量 152)创建动态数组 163)释放动态创建的变量 164)释放动态创建的数组 16(4)引用的定义与使用 164.枚举和结构 16(1)枚举 16(2)结构 17(3)typedef的用法 17(4)指针与结构 185.定义和调用函数 19(1)定义函数: 19(2)函数的调用 20(3)传递参数 20(4)局部变量和全局变量 21(5)内联函数 21(6)参数的默认值 21(7)可变参数 22(8)作用域 221)块作用域 222)文件作用域 233)函数原型作用域 244)程序运行期的存储区域 24(9)储存类 241)

3、静态局部变量 242)静态全局变量 253)extern变量 26(10)编译预处理 26(11)指针函数 276.C+的一些函数 28第九章 类和对象 299.1类 299.1.1 类的定义 299.1.2类成员的可见性 299.1.3类的数据成员 299.1.4类的成员函数 309.2 对象 329.2.1对象的创建 329.2.2 访问对象的成员(与结构相似) 329.3 this指针 33第10章构造函数与析构函数 3310.1构造函数 3310.2 析构函数 3410.3 拷贝构造函数与单参构造函数 3410.3.1 拷贝构造函数 3410.3.2 赋值操作函数 3410.3.3 单

4、参构造函数 3510.4 复合对象与成员对象 3610.5 对象数组 3610.6 静态成员 3910.6.1 静态数据成员 3910.6.2 静态成员函数 4010.7 const和volatile修饰符 4010.7.1 const修饰符 4010.7.2 volatile修饰符 4010.8 指针成员 4010.9 引用成员 4410.10 类成员的指针 4810.10.1 数据成员的指针 48第11章 类的继承 4911.1 继承与派生 4911.1.1 基类与派生类 4911.1.2 派生类的定义与构成 4911.1.3 继承方式与访问控制 4911.3.1 多继承造成的二义性 55

5、11.3.2 支配规则 5511.4 虚基类 5611.4.1 共同基类造成的二义性 5611.5 子类型关系 5711.6 虚函数 5811.6.1 定义和使用 5811.6.2 成员函数中调用虚函数 5911.6.3 构造函数中调用虚函数 6011.6.4 虚析构函数 6011.6.5 纯虚函数与抽象类 60第十二章 运算符重载 6212.1 一般运算符重载 6212.1.1 运算符重载函数 6212.1.2 双目运算符的重载 6212.1.3 单目运算符的重载 6312.2 用友元函数实现运算符重载 6512.3 特殊运算符的重载 6712.3.1 赋值操作函数 6712.3.2 类型转

6、换函数 67第十三章 模板 6813.1 模板的概念 6813.2 函数模板 6813.2.2 实例化 68文件专题 691.文件的概念 691.1 691.2 701.3文件和文件流 702.文件的使用 702.1 702.2文件处理的一般过程 712.3文件的打开与关闭 712.3.1打开文件 712.3.2关闭文件 743.编程实践 743.1文本文件的使用 743.3文件的随机访问 754. 774.1文本文用件的使用 774.2二进制文件的使用 781.基本知识(1)C语言的关键字auto bool breakcase catch char class const const_cas

7、t continue default delete do double dynamic_cast else enum explicit extern false float for friend goto if inline int long mutable namespace new operator private protected public register reinterpret_cast return short signed sizeof static static_cast struct switch template this throw true try typedef

8、 typeid typename union unsigned using virtual void volatile while(2)C语言的标识符第一个字符必须是大小写英文字母或下划线;由大小写英文字母,数字和下划线组成;不能与C+关键字相同。C+关键字区分大小写。(3)C语言注释/j是一个全局变量/*j是一个全局变量*/(4)C语言基本数据类型数据类型类型名字节长度取值范围bool布尔型1true ,falsechar字符型1-128127signed char有符号字符型1-128127unsigned char无符号字符型10255short int有符号短整型2-327683276

9、7signed short int有符号短整型2-3276832767unsigned short int无符号短整型2065535int有符号整型4-21474836482147483647signed int有符号整型4-21474836482147483647unsigned int无符号整型404294967295long int长整型4-21474836482147483647signed long int有符号长整型4-21474836482147483647unsigned long int无符号长整型404294967295float单精度浮点值4double双精度浮点值8lo

10、ng double长双精型8(5)C语言的变量定义变量实例:int a,b,cdouble a,b=100(6)C语言的常量数值常量:(1)整型常量整型常量的数据类型默认为int型,后加字母后缀L(或l)表示长整型;后加字母U(或u)表示无符号整型。(2)浮点常量分为一般形式的浮点常量和指数形式的浮点常量。默认为double型,后加字母f或F,将其转化为float型。(3)字符常量和字符串常量字符常量是以单引号扩住的单个字符,如 a 、G。字符串常量以双引号扩住如 “Hello world” 、”i=”(4)布尔常量 True或False转义字符的C+编码ASCII码值字符名称?63问号92反

11、斜杠39单引号”34双引号00空字符,字符串结束符a7响铃b8退格f12换页n10换行符ooo13位八进制数r13回车t9水平制表符v11垂直制表符xhh12位十六进制数对于int和short这样的整形数据,可以使用控制符改变它们的输出进制:coutocti; /将i输出为八进制couthexi; /将i输出为十六进制coutdeci; /将i输出为十进制符号常量const 数据类型 符号常量名 = 常量值;const double PI = 3.14159;(7)简单的输入输出#include 或者#includeusing namespace std;标准输出流 coutcout”welc

12、ome to C+!n”; /向显示器输出字符串cout”i=”iij /从键盘输入i和j的值(8)C+运算符和表达式(以优先级排列) : 域解析运算符 . - ( ) 后置+ 和 后置- - sizeof 前置+ 前置- - *(解引用)&(取地址)+(正号)-(符号) ! new delete(强制类型转换)* / %+ -(右移位) = = != &(按位与) (按位异或)(12) | (按位或)(13) &(14) |(15) ?:(条件运算符)(16) = *= /= %= += -= = &= |= =(17) ,#include stdafx.husing namespace s

13、td;void main() cout运算的演示 算术运算符endl; cout1233*37462= 1233*37462endl; cout23.0/2398= 23.0/2398endl; cout79/8= 79/8endl; cout79.0/8= 79.0/8endl; cout23%4= 23%4endl; cout运算的演示 位运算符endl; cout(int)123= (int)123)endl; cout3= 3)endl; cout(short)12)= (short)12)endl; cout(0x12A)&(0xC6)= (0x12A)&(0xC6)endl; co

14、ut(0x12A)|(0xC6)= (0x12A)|(0xC6)endl; cout(0x12A)(0xC6)= (0x12A)(0xC6)endl; cout运算的演示 条件运算符b?a:b);coutb?a:b)= cendl; c=(a+3)(b-4)?(a-3):(b*7); cout(a+3)(b-4)?(a-3):(b*7)= cendl; cout运算的演示 赋值运算符endl; couta=a b=b d=dendl; cout(a+=2) (a+=2)endl; cout(b*=3) (b*=3)endl; cout(d-=d+2) (d-=d+2)endl; d=10;co

15、ut(d-=2+2) (d-=2+2)endl; cout运算的演示 自增自减运算符endl; int m=1; coutm+ m+ m mendl; m=1;cout+m +m m mi;(9)C+数据类型转化1.自动类型转化(1).两个不同类型的操作数进行运算时,先将较小范围的数转化为另一个较大范围的数,然后再进行计算。各种基本数据类型的范围从小到大的排列次序如下:char, bool short int float doubleunsigned char unsigned short unsigned int float double(2).对于bool ,char ,short ,in

16、t ,类型,任意两个值之间进行算术运算,位运算,其结果都是一个int值。任意两个值之间进行逻辑运算,其结果都是一个bool值。(3).对于bool,char,short,int类型,任一个类型值(无论是否带符号)与 unsigned int 之间进行算数运算,其结果都是 unsigned int 类型。四个强制类型转换操作符static_cast dynamic_cast const_cast reinterpet_cast如:static_cast(数值表达式)double d=1234.5678;int i=10* static_cast(d)2.C+的控制语句(1)选择结构IF语句if

17、(表达式) 语句1;else 语句2;*if (表达式1) if (表达式2) 语句1 else 语句2else if (表达式3) 语句3 else 语句4if (i!=j) if(ij) coutj”endl; else cout”ij”endl;else cout”i=j”endl;*if (表达式1) 语句1;else if (表达式2) 语句2;else if (表达式3) 语句3;else 语句n或者写成这样的嵌套形式if (表达式1) 语句1;else if (表达式2) 语句2; else if (表达式3) 语句3; else 语句n*switch 结构switch(变量名或

18、表达式)case 常量表达式1: 语句1; break;case 常量表达式2: 语句2; break;case 常量表达式n: 语句n; break;default: 语句n+1;(2)循环结构while循环while(表达式) 循环语句;*do-while循环do 循环体语句;while(表达式);*for 循环for(表达式1;表达式2;表达式3) 循环语句;(1)计算表达式1的值(2)计算并判断表达式2的值,若表达式2的值非0或为True,则接着执行第(3)步;否则跳转到第4步。(3)执行循环语句,计算表达式3的值,返回第2步。(4)跳出循环,接着执行后面的语句。*for each 循

19、环int temp,a10=1,8,9,0,7,9,6,7,8,9;for each (int n in a) coutnendl; temp=n+1; couttemp=tempendl; (3)break语句它用在switch语句和循环语句中,功能是:立即从它包含的switch语句体或包含它的最内层的循环体中退出,开始按顺序执行后面的语句。(4)continue 语句continue 语句用在循环语句中,功能是:立即结束本次循环的执行,转到判断循环条件的语句用来判断是否进行下一次循环。(5)goto 语句无条件转移语句例子1void main() int x=3; do cout(x-=2

20、) ; coutx= xj;运行结果:1 x=1-2 x=-2这是因为while(!(-x) 当x=0时 !x就是1,而当x为非零值时!x为0。例子2void main() int x=1,i=1; int m; for (;x50;i+) coutx=x=10) break; if (x%2!=0) x+=3;continue; x-=-1; coutx im;显示结果:3.C+数组(1)数组的定义与初始化数组可以由除void型以外的任何类型构成,定义数组的格式为 :C+里面的数组虽然说是下标从0开始,但是就像:int yy10=它仍然是定义了一个有10个元素的整型数组,不是11个元素,但是

21、我们还要使用从09来访问这个数组里面的十个元素数据类型 标识符常量表达式1常量表达式2;1)定义数组 定义数组时可以对全部的元素进行初始化:int a3=1,2,3;int b22=23,12,0,4; 或者 int b22=23,12,2,4;也可以仅对一部分元素初始化:float a5=1,2,3,4float b33= 23,12,0,2,6,9;如果对全部元素初始化,数组元素个数不必给出:int tt=1,2,3,4,5;定义二维或多维数组时,如果同时对全部元素初始化,第一维的下标可以不给出。 int nn22=1,2,3,4,5,6,7,8,9,0,11,12;2)字符数组和字符串c

22、har str20char str =W,e,l,c,o,m,e,t,o,C,+,+上面的语句只是定义并初始化了一个包含14个字符的普通字符数组,而不能构成C+字符串。若想使字符数组构成一个字符串,则必须在初始化字符数组或给字符数组赋值时,使其中的某个字符元素的值为空字符 0 。例如:char str =W,e,l,c,o,m,e,t,o,C,+,+,0#include stdafx.husing namespace std;void main() /字符串与普通的字符数组 int i; char str=W,e,l,c,o,m,e, ,t,o, ,C,+,+; for each (char

23、m in str) coutm; coutendl; /但是这样语句是错的: /coutmm; coutmmendl; for each (char v in mm) coutv; couti;用户输入的字符在储存到字符数组中时,会自动的加上 0 但是输入的字符不可以超过所定义的数组长度。(2)指针1)定义和使用指针数据类型 *标识符int *ptr1float *ptr2使用指针之前必须给它赋值,使它确实指向某个对象。使用符号&给指针赋值,这里&是取值运算符。int i,*ptr1;ptr1=&i;可以将一个指针赋值给另一个指针,使两个指针指向同一个变量。为指针赋值之后,就可以使用指针和解引

24、用指针操作符*来操作它所指向的对象。语法格式为: *指针名这时表达式“*指针名”和指针所指向的对象或变量名,是等价的。(1)一种类型的指针不能指向另一种类型的变量(2)可以把数值0赋给任何类型的指针变量,表示该指针为空指针,即不指向任何对象。(3)不能将一个整型变量或非零整数常量直接赋值给指针变量。(4)C+提供一种VOID类型的指针,可以保存任何类型变量(对象)的地址。可以使用VOID型指针和其他指针进行比较,但不允许使用VOID型指针操作它所指向的对象。当把VOID型指针赋值给其他类型指针时,需要使用强制类型转换。指针的运算1.赋值运算int a=16,b=28;float x=32.6f

25、,y=69.1f;int *pa,*pb=&b;float *px,*py=NULL;px=&x;pa=pb; /pa和pb都指向了同一个变量。2.间接引用运算int a=16,b=28;int *pa,*pb=&b;cout*pbendl; /输出28pa=&a;coutaendl; /输出16*pa=32;coutaendl; /输出32“&”求址运算与“*”间接引用运算是一对互逆的运算。对于任意一个变量v,*&v=v。对于任意一个指针变量p,&*p=p。3.与整数的运算使指针移动,与整数的加减运算和自增自减运算。如:int a=11,22,33,44,55,66,77,88; couta=aendl; int *p=a; for(int i=0;i=7;i+) coutai=aendl; p+; int *pa=&a4; coutpa-2 pa-2 *(pa-2)*(pa-2)endl; coutpa+3 pa+3 *(pa+3)*(pa+3)endl;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1