- 1、本文档共57页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据类型与表达式讲义
例: int i = 15; float f; f = i / 10; 结果为:f = 1 如果希望 f 的结果为1.5 ,则可将第三条语句改为: 例:在C++中, (7/3+1)+5/6 的值是( ) 3 f = (float) i /10 ; 或 f = i /10.0; 要求 % 的两操作数必须为整数,不允许对浮点数操作。 例:3 % 4=3 4 % 4=0 - 4 % 3= - 1 4 % -3=1 (2) % (取余) 余数的符号与被除数相同。 n = 40 % 5 n = 40 % 7 n = - 40 % 7 n = - 40 % - 7 0 5 -5 -5 运算对象包括常量(数值常量、字符常量,不能对字符串常量进行运算) 、变量、函数等。 a*b/c-1.5+’a’ a*b/c-1.5+’ab’ 2.5.2 算术表达式和运算符的优先级与结合性 书后附录B:运算符与结合性 在求解表达式时,先按一个运算对象两侧的运算符的优先级别高低次序执行。 a-b*c 如果在一个运算对象两侧的运算符的优先级别相同, 则按“自左至右”结合,如 a-b+c ? ? 在表达式中常遇到不同类型数据之间进行运算,如: 10 + ’ a’+1.5 - 1.4 * ’A’ 2.5.3 表达式中各类数值型数据间的混合运算 在进行运算时,不同类型的数据要先转换成同一类型,然后进行运算。转换的规则按图所示。 假设已指定i为整型变量,f为float变量,e为long型,有下面表达式: 10+‘a’+ i * f – i / e (上述的类型转换是由系统自动完成的) 10+‘a’+ i * f – i / e ? ? ? ? 1 ? 例: 1.5+ 32/5 的值是( ) 7.5 例: (1.5+ 32)/ 5的值是( ) 6.7 (1)、a++ :先取a的值作为表达式的值,然后a=a+1 例:int a; a = 2 ; j = a++ 2.5.4 自增和自减运算符( ++ 、-- ) 结果为:j=2 , a=3 (2)、++ a :先a=a+1 , 然后取a的值作为表达式的值。 例:int a; a = 2 ; j = ++a 结果为:j=3 , a=3 (3)、 a -- :先取a的值作为表达式的值,然后a=a-1 例: int a; a = 2 ; j = a-- 结果为:j=2 , a=1 (4)、 -- a :先a=a+1 , 然后取a的值作为表达式的值。 例: int a; a = 2 ; j = --a 结果为:j=3 , a=3 例:写出下列程序运行结果: int a = 3; int b = ++a; couta bendl; int c = a++; couta cendl; 答案:4 4 5 4 #includeiostream using namespace std; int main() { int i , j , m , n; i=8; j=10; m=++i+j++; n=i+++j; couti\tj\tnendl; return 0; } 答案:10 12 20 注意: 后置++、--的优先级高于前置++、-- 正确地使用++和--,可以使程序简洁、清晰、高效。 请注意: (1)自增(减)运算符只能用于变量,而不能用于常量或表达式。(5++ 、(a+5)++、a++) ? ? ? (2)自增(减)运算符使用十分灵活,但在很多情况下可能出现歧义性,产生“意想不到”的副作用。 (3) 自增(减)运算符在C++程序中是经常见到的,常用于循环语句中,使循环变量自动加1。也用于指针变量,使指针指向下一个地址。 在表达式中不同类型的数据会自动地转换类型,以进行运算。 2.5.5 强制类型转换运算符 强制类型转换的一般形式为: (类型名)(表达式) 利用强制类型转换运算符将一个表达式转换成所需类型。例如: (double)a (将a的值转换成double类型) (int)(x+y) (将x+y的值转换成整型) (float)(5/2) (2.0) (float)5/2 (2.5) 如int(x) 、int(x+y)、float(5)/2 C+
您可能关注的文档
- 我国刑法法律制度.ppt
- 我们的班委,我们的班。.ppt
- 我的家乡-同心.ppt
- 我的登上地球之巅.ppt
- 成功心态及职业发展专题讲座.ppt
- 成本管理会计讲义.ppt
- 我的情绪我控制.ppt
- 户外帐篷选择锦囊.ppt
- 房地产代理公司销售培训指南.ppt
- 战略管理重点复习课件.ppt
- 2025年广西中考地理二轮复习:专题四+人地协调观+课件.pptx
- 2025年广西中考地理二轮复习:专题三+综合思维+课件.pptx
- 2025年中考地理一轮教材梳理:第4讲+天气与气候.pptx
- 第5讲+世界的居民课件+2025年中考地理一轮教材梳理(商务星球版).pptx
- 冀教版一年级上册数学精品教学课件 第1单元 熟悉的数与加减法 1.1.6 认识1-9 第6课时 合与分.ppt
- 2025年中考一轮道德与法治复习课件:坚持宪法至上.pptx
- 2025年河北省中考一轮道德与法治复习课件:崇尚法治精神.pptx
- 八年级下册第二单元+理解权利义务+课件-2025年吉林省中考道德与法治一轮复习.pptx
- 精品解析:湖南省娄底市2019-2020学年八年级(上)期中考试物理试题(原卷版).doc
- 2025年中考地理一轮教材梳理:第10讲+中国的疆域与人口.pptx
文档评论(0)