- 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 操作符 表示动作或动作序列的符号,动作有的是表达式计算、有的是声明和定义 实体 指一定大小的内存空间,它具有类型 与实体相关联的名字称为变量、常量、对象、函数、指针等 常量 与变量相对应,是关联于实体的名字,通过它只能对实体进行读访问 表达式 是一些操作符、操作数按规则排列的序列 目的是用来描述一个计算 赋值表达式 =、*=、/=、%=、+=、-=、=、=、=、|=、^= 名词解释2 条件表达式 用在if/for/while/条件操作符(?:)后面描述条件的部分 只要具有值的表达式都可以作条件表达式 结果只有两种:1和0 逗号表达式 若干 个表达式以逗号操作符隔开 逗号表达式的求值过程是从左边第一项开始,逐项进行的,其值为最后一个子表达式的值 左值和右值 是相对赋值表达式而言的 左值是能出现在赋值表达式左边的表达式,有空间实体和读写访问权 右值是可以出现在赋值表达式右边的表达式,可以是不占据内存空间的临时量和字面值,可以是不具有写入权的空间实体 操作符的优先级和结合性 算术运算问题 周而复始的整数 例:一种8位整数类型的表示范围在-128~127之间,而用它定义的变量a超出了表示范围 无符号数和有符号数在计算时都是以256为模的,只不过在显示结果时,对于最高位非0的有符号数要显示一个负号,然后对该数取补 算法局限性 算法总是描述一般的方法,而编程总是考虑语言描述的局限性 中间结果溢出 例:int a=100000,b=100000,c=1000; couta*b/c; 浮点数的比较 使用浮点数进行相等和不相等比较的操作通常是有问题的。浮点数的相等比较,一般总是使用两者相减的值是否落在0的邻域中来判断的 相容类型的转换 类型转换需注意 精度丢失:从高精度向低精度转换的时候,可能会引起精度丢失 显式转换:为了控制计算过程,使得类型转换不按机器隐式类型转换的那样进行,则可以通过显式转换 static_casttype:对被转换的表达式进行type类型的再求值 reinterpret_casttype:什么都不做,只是强制逃避编译的类型检查而已,一般用来转换不同类型的指针。对于需要求值计算的表达式它会拒绝转换 精度丢失实例 #includeiostream using namespace std; void main() { float f=7.0/3; int a=7.0/3; cout.precision(9); coutfixed7.0/3endlfendlaendl; double d=123456789.9*9; a=f=d; coutdendlfendlaendl; } 显式转换实例 #includeiostream #includecmath using namespace std; void main() { double d=sqrt(123456.0); int a=static_castint(d)*8+5; int b=d*8+5; coutdendlaendlbendl; a=2000000000; b=1000000000; int c=(static_castdouble(a)+b)/2; couta+bendlcendl; } 关系操作 关系操作符(比较操作符) == 相等比较 大于比较 小于比较 = 大于等于比较 = 小于等于比较 != 不等于比较 逻辑操作 逻辑操作符 ! 非操作 逻辑与 || 逻辑或 逻辑表达 某任务需要在A、B、
文档评论(0)