- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C++程序设计
数据类型
1.保留字32+29个
2.基本数据类型:wchar_t,bool
3.非基本数据类型:class
4.C++是强类型语言:要求在使用数据之前必须对数据的类型进行声明
5.标识符的拼写方法:
a)下划线连接法
b)骆驼表示法:第一个单词首字母小写,其后每个单词的首字母大写
c)匈牙利标记法:以类型简称为前缀,后跟骆驼表示法
6.同义词:typedef
7.实数默认为double型
8.枚举类型:
形式:enum 类型名 {枚举常量列表};
枚举常量为整型
枚举变量只能取枚举常量值,不能将整数值赋给枚举变量
9.常量:
形式:const 类型 常量名 = 初始化值;
常量定义时必须初始化
常量名不能放在赋值语句的左边
初始化值可以是一个常量表达式,但表达式中不能含有函数
10.I/O流控制
书写格式:输入 cin 变量
输出 cout 表达式
控制符:定义在 iomanip.h 中,可直接插入流中
控制浮点数值显示:setprecision(n),默认为6位
二,表达式
1.左值:能出现在赋值表达式左边的表达式,具有存放数据的空间,且存放是允许的
2.赋值表达式具有值,是左值,其值为赋值符号左边的表达式的值
3.算术类型隐式转换原则:总是朝表达数据能力更强的方向,并且总是逐个运算符进行
4.强制类型转换:类型名(表达式) 或 (类型名)表达式
5.自增自减,操作数必须是左值
a)前增/减,是左值
b)后增/减,不是左值
6.C++中,表达式(无参函数除外)都产生值
7.任何被转换的变量都不是左值
8.当条件运算符后的两个表达式的值类型相同,且均为左值时,该条件表达式可做左值
9.C中条件表达式不可做左值
10.不同的编译器的求值顺序可能不同,从而造成:
a)交换律不再适用
b)使括号失去作用
c)副作用
函数
1.递归的条件:
a)必须有完成函数任务的语句
b)一个确定是否能避免递归调用的测试
c)一个递归调用语句
d)应先测试,后递归调用
2.内联函数
a)目的:解决程序的运行效率
b)形式:inline 函数声明
c)必须先声明,后调用
d)内联函数中不能包含复杂的结构控制语句,不能是递归调用函数
e)其处理方式与宏定义类似
3.重载函数
a)重载:在不同类型上作不同运算而又用同样的名字的函数
b)重载函数至少在参数个数、参数类型、参数顺序上有所不同
c)C++允许int 到 long、double的转换
d)内部实现:采用名字粉碎方法来改变函数名
4.默认参数的函数
a)默认参数在函数声明中提供
b)当既有声明,又有定义时,定义中不允许默认参数
c)默认参数在形参中应从右向左逐渐定义,调用时只能从右向左顺序匹配默认
d)默认参数可将一系列简单的重载函数合并成一个,当同时使用默认参数函数和重载函数时,注意不要引起二义性
e)默认值可以是:全局变量、全局常量、函数
5.外部存储类型
a)构成一个程序的多个源文件之间,通过声明数据或函数为外部的(extern)进行沟通
b)默认的函数声明或定义总是extern
c)带extern的变量说明是变量声明,不是变量定义
6.静态存储类型
a)静态全局变量对组成该程序的其他源文件是无效的
b)静态函数只在所属源文件中可见
c)文件作用域下声明的inline函数默认为static存储类型
d)文件作用域下声明的const常量默认为static存储类型
7.作用域
a)作用域:标识符在程序中有效的范围,作用域开始于标识符的声明处
b)局部作用域:起始于声明处
1.{}块范围
2.语句范围,在if/switch/for 的条件表达式中定义的标识符
c)函数作用域:标号是唯一有函数作用域的标识符,不受声明位置限制
d)函数原型作用域:函数形参,局限于括号内
e)文件作用域:在所有函数定义之外说明的,从说明点开始,一直延伸到源文件结束
8.可见性
a)标识符的可见范围不超过作用域
b)如果被隐藏的是全局变量,可用符号::来引用给变量
9.生命期
a)与存储区域密切相关
b)静态生命期:程序运行期
1.具有文件作用域的变量
2.无显示初始化时,自动初始化为0
3.函数具有静态生命期
c)局部生命期:函数调用期,变量驻留在栈区,不自动初始化
d)动态生命期:变量驻留在堆中,开始于new,结束于delete
四,预编译
1.头文件:源文件之间的接口,
a) 一般包含:类型声明 、函数声明、内联函数定义、常量定义、变量声明、枚举、包含指令、宏定义、注释
b) 不宜包含:一般函数定义、变量定义、常量数组定义
五,数组
1.数组定义
a) 下标识数组元素到数组开始的偏
文档评论(0)