运算符和表达式

这篇博客详细介绍了C语言中的运算符,包括单目、双目和三目运算符,以及算术、关系和逻辑运算符。重点讲解了自增、自减运算符的用法和不同情况下的行为。还涵盖了算术表达式的运算顺序、类型转换、以及混合运算中的数据类型处理规则。此外,还提到了强制类型转换运算符和运算符的优先级与结合性,帮助读者理解C语言中的表达式计算。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C语言以运算符丰富著称
1.可按不同角度对运算符分类
按操作数个数
单目运算符:-a
双目运算符:a+b
三目运算符:a?b:c
按功能
算术运算符:+-*++
关系运算符:>>===
逻辑运算符:&&||

 

2.表达式的相关概念
表达式就是用运算符把操作数连接起来、符合C语法规则的式子,如 a+8*b
获得表达式的运算结果的过程称为求解表达式
表达式的运算结果称为表达式的值
表达式的值的数据类型称为表达式的类型
每个表达式都有自己的值和类型

 3.基本的算术运算符

加法运算符  a+b

 -  减法运算符  a-b

乘法运算符  a*b

除法运算符  a/b

% 求余运算符  a%b

正号运算符(单目运算符)  +a 

 -  负号运算符(单目运算符)  -a

说明

Ø两个整数相除的结果为整数
u5/3的结果值为1,舍去小数部分
u除数或被除数中有一个为负值-5/3)则商可能会因系统而异。一些系统-5/3=-1,另一些系统-5/3=-2
uVC6.0采取向零靠拢的方法(-5/3=-1)
Ø% 运算符要求操作数必须为整数,结果也是整数。如8%3,结果为2

 

4.自增、自减运算符++     --

Ø用法:int i=3;        ++i  i++

                                 --i              i--

Ø作用使变量i的值1或减1

⑴自增运算符单独使用时

u++i先使i的值增1,再把i的值做为表达式的值
ui++:先把i的值做为表达式的值使i的值增1

在有其它运算符的场合

u5*(++i)先使i的值增1,再用i的值参与其他运算
u5*(i++):先用i的值参与其他运算使i的值增1

 5.算术表达式和运算符的优先级与结合性

Ø用算术运算符和括号将操作数连接起来的、符合C语法规则的式子,称为算术表达式

  10+7/5-15

ØC语言规定了运算符的优先级结合性
u优先级规定了运算符的计算顺序
u结合性规定了同优先级的运算符的计算顺序

 6.不同类型数据间的混合运算

(1)+-*/ 运算中有一个操作数为floatdouble型,结果是double系统将float型数据都先转换为double型,然后进行运算

(2) 如果int型与floatdouble型数据进行运算,先把int型和float型数据转换为double型,然后进行运算,结果是double

(3)字符型数据与整型数据进行运算,就是把字符的ASCII代码与整型数据进行运算

7. 强制类型转换运算符

Ø强制类型转换运算符一般形式为

              (类型名)(表达式)

u(int) (x+y)    (将x+y的值转换成int型)
u(float)(5%3)(将5%3的值转换成float型)
u(int)a      a的值,并将其转换成int类型)
Ø有两种类型转换
u系统自动进行的类型转换
u强制类型转换

8.C语言运算符

(1) 算术运算符     + - * / % ++ --

(2) 关系运算符     (> < == >= <= !=)

(3) 逻辑运算符     (!&& ||

(4) 位运算符        << >> ~ | ∧ &)

(5) 赋值运算符     (=及其扩展赋值运算符)

(6) 条件运算符     (?:)

(7) 逗号运算符                    ,)

(8) 指针运算符                    *和&)

(9) 求字节数运算符               sizeof

(10) 强制类型转换运算符       (类型)

(11) 成员运算符            .->

(12) 下标运算符           ([  ])

(13) 其他                    (如函数调用运算符())

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值