您的位置:首页 > 编程语言 > C语言/C++

C++零基础(三):运算符与表达式

2014-10-13 00:00 239 查看
摘要: 主要涉及C++的运算符与表达式

#C++零基础(三):运算符与表达式

##写在前面

别人的总结已经够多了,我何必在这方面在耗费精力?以下全部摘抄于C语言中文网

主要涉及以下内容:

基本运算符——+、-、*、/、%(取余)

自增与自减运算符——++、--

赋值运算符——=

逗号运算符——,

##理解

###基本运算符

基本运算符的运算规则与数学中的运算规则相同,但是在C++中有一些需要注意的地方:

两个整数相除,结果舍去小数部分,如5/3=1。但如果除数或被除数中有一个是负数,则不同编译器舍入方向不同,多数编译器使用“向零取整”的方法,即5/3=1,-5/3=-1,取整后向零靠拢

在运算时对所有float型数据都按double型数据处理

###算术表达式

用算术运算符和括号将运算对象(也称操作数)连接起来的、符合C++语法规则的式子,称C++算术表达式。运算对象包括常量、变量、函数等。例如,下面是一个合法的C++算术表达式:

a*b/c-1.5+'a'

基本运算符优先级与数学运算相同

####表达式间各数值的混合运算

在表达式中常遇到不同类型数据之间进行运算,如:

10+'a'+1.5-8765.1234*'b'

在进行运算时,不同类型的数据要先转换成同一类型,然后进行运算。转换的规则如图所示



###自增与自减运算符

在C和C++中,常在表达式中使用自增(++)和自减(--)运算符,他们的作用是使变量的值增1或减1,如:

符号放在数值前面,是先将数值加1,再使用这个加1后的数值,如C++中:

int a = 0,b = 0;
a = 5 + (++b);

a=6,b=1

符号放在数值后面,是先使用数值,再将数值加1,如C++中:

int a = 0,b = 0;
a = 5 + (b++);

a=5,b=1

###赋值运算符

赋值符号“=”就是赋值运算符,它的作用是将一个数据赋给一个变量。如“a=3”的作用是执行一次赋值操作(或称赋值运算)。把常量3赋给变量a。也可以将一个表达式的值赋给一个变量。

####赋值过程中的类型转换

如果赋值运算符两侧的类型不一致,但都是数值型或字符型时,在赋值时会自动进行类型转换。

将浮点型数据(包括单、双精度)赋给整型变量时,舍弃其小数部分。

将整型数据赋给浮点型变量时,数值不变,但以指数形式存储到变量中。

将一个double型数据赋给float变量时,要注意数值范围不能溢出。

字符型数据赋给整型变量,将字符的ASCII码赋给整型变量。

将一个int、short或long型数据赋给一个char型变量,只将其低8位原封不动地送到char型变量(发生截断)。

将signed(有符号)型数据赋给长度相同的unsigned(无符号)型变量,将存储单元内容原样照搬(连原有的符号位也作为数值一起传送)。

####赋值表达式

由赋值运算符将一个变量和一个表达式连接起来的式子称为“赋值表达式”。它的一般形式为:

<变量> <赋值运算符> <表达式>

如“a=5”是一个赋值表达式。

####逗号表达式

C++提供一种特殊的运算符——逗号运算符。用它将两个表达式连接起来。如

3+5, 6+8

称为逗号表达式,又称为“顺序求值运算符”。逗号表达式的一般形式为:

表达式1, 表达式2

逗号表达式的求解过程是:先求解表达式1,再求解表达式2。整个逗号表达式的值是表达式2的值。如,逗号表达式

a=3*5, a*4

赋值运算符的优先级别高于逗号运算符, 因此应先求解a=3*5(也就是把“a=3*5”作为一个表达式)。经计算和赋值后得到a的值为15,然后求解a*4,得60。整个逗号表达式的值为60。

##应用

将所有例子在程序中试验一遍
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C++ 运算符 表达式