详解C++编程中运算符的使用
C++的运算符十分丰富,使得C++的运算十分灵活方便。例如把赋值号(=)也作为运算符处理,这样,a=b=c=4就是合法的表达式,这是与其他语言不同的。C++提供了以下运算符: 基本的算术运算符 在本章中主要介绍算术运算符与算术表达式,赋值运算符与赋值表达式,逗号运算符与逗号表达式,其他运算符将在以后各章中陆续介绍。 需要说明,两个整数相除的结果为整数,如5/3的结果值为1,舍去小数部分。但是,如果除数或被除数中有一个为负值,则舍入的方向是不固定的。例如,-5/3在有的C++系统上得到结果-1,有的C++系统则给出结果-2。多数编译系统采取“向零取整”的方法,即5/3的值等于1,-5/3的值等于-1,取整后向零靠拢。 如果参加+, -, *,/ 运算的两个数中有一个数为float型数据,则运算的结果是double型,因为C++在运算时对所有float型数据都按double型数据处理。 用算术运算符和括号将运算对象(也称操作数)连接起来的、符合C++语法规则的式子,称C++算术表达式。运算对象包括常量、变量、函数等。例如,下面是一个合法的C++算术表达式: a*b/c-1.5+'a' C++语言规定了运算符的优先级和结合性。在求解表达式时,先按运算符的优先级别高低次序执行,例如先乘除后加减。如有表达式a-b*c,b的左侧为减号,右侧为乘号,而乘号优先于减号,因此,相当于a-(b*c)。如果在一个运算对象两侧的运算符的优先级别相同,如a-b+c,则按规定的“结合方向”处理。 C++规定了各种运算符的结合方向(结合性),算术运算符的结合方向为“自左至右”,即先左后右,因此b先与减号结合,执行a-b的运算,再执行加c的运算。“自左至右的结合方向”又称“左结合性”,即运算对象先与左面的运算符结合。以后可以看到有些运算符的结合方向为“自右至左”,即右结合性(例如赋值运算符)。关于“结合性”的概念在其他一些高级语言中是没有的,是C和C++的特点之一,希望能弄清楚。 表达式中各类数值型数据间的混合运算 在表达式中常遇到不同类型数据之间进行运算,如: 10+'a'+1.5-8765.1234*'b' 在进行运算时,不同类型的数据要先转换成同一类型,然后进行运算。转换的规则按图所示。 假设已指定i为整型变量,f为float变量,d为double型变量,e为long型,有下面表达式: 10+'a'+i*f-d/e 运算次序为: 上述的类型转换是由系统自动进行的。 C++自增和自减运算符(--和++) 正确地使用++和--,可以使程序简洁?清晰?高效。请注意: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- xml 转换conf 基于python
- ruby-on-rails – rails,action mailer不发送
- notepad++ 正则表达式 应用案例3
- AJAX call form.serialize()
- oracle日期格式转换 to_date(),to_char()
- 安装cx_Oracle报错python version 3.4 required,
- objective-c – 使用Instruments测试iOS应用程序
- Developing Portlets
- Flex编译器参数中-swf-version与-target-player之
- ExtJS中Ext.Ajax.request与form1.getForm().subm