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++算术表达式:
基本运算符优先级与数学运算相同
####表达式间各数值的混合运算
在表达式中常遇到不同类型数据之间进行运算,如:
在进行运算时,不同类型的数据要先转换成同一类型,然后进行运算。转换的规则如图所示
![](http://see.xidian.edu.cn/cpp/biancheng/uploads/allimg/140427/1-14042F22H4560.gif)
###自增与自减运算符
在C和C++中,常在表达式中使用自增(++)和自减(--)运算符,他们的作用是使变量的值增1或减1,如:
符号放在数值前面,是先将数值加1,再使用这个加1后的数值,如C++中:
a=6,b=1
符号放在数值后面,是先使用数值,再将数值加1,如C++中:
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++零基础(三):运算符与表达式
##写在前面
别人的总结已经够多了,我何必在这方面在耗费精力?以下全部摘抄于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'
在进行运算时,不同类型的数据要先转换成同一类型,然后进行运算。转换的规则如图所示
![](http://see.xidian.edu.cn/cpp/biancheng/uploads/allimg/140427/1-14042F22H4560.gif)
###自增与自减运算符
在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++中的数据类型 运算符 和 表达式[c++ 基础(一)]
- C++ 基础知识点 一第2章 基本数据类型、运算符与表达式
- More Effective C++ 读书摘要(一、基础议题 二、运算符)Item1 - 8
- 用《叩响C#之门》复习C#基础知识 第三章 运算符和表达式
- C#基础 结构、枚举、表达式、运算符
- 《C++第八周实验报告1-1(2)》---在方案二的基础上,扩展+、-、*、/运算符的功能,使之能与double型数据进行运算
- 我的C++ 第三章 运算符和表达式
- 强制类型转换运算符—C++基础篇
- 基础-AS3运算符与表达式
- [读书笔记]C++基础知识温习:重载递增/减运算符
- C#基础 结构、枚举、表达式、运算符
- C++:new运算符和new表达式详解
- 重新夯实基础,the c programingn language 再读笔记之类型、运算符与表达式
- 数据类型,运算符和表达式03 - 零基础入门学习C语言04
- 数据类型,运算符和表达式02 - 零基础入门学习C语言03
- 【C#基础知识】之常量、变量、枚举、字符串、转义符、运算符及表达式、try...catch等简单介绍
- 在单链表的基础上用c++实现的链栈,并使用进制转换,表达式求值两个小程序来测试
- 数据类型,运算符和表达式02 - 零基础入门学习C语言03
- 数据类型,运算符和表达式04 - 零基础入门学习C语言05
- Java 入门(二)数据类型 运算符 表达式 -------程序设计的静态基础