C语言操作符详解(二)

简介: C语言操作符详解(二)

一.条件操作符

    三目操作符:

举例子:下面是一段正常比大小的代码,接下来可以尝试使用三目操作符来编写。

 

二.逗号表达式

举例子:

这题我们可以知道d才是真正判断的关键 ,不过有时候前面的式子也可能会影响到最终结果。

这段代码重复性过高,我们可以用逗号表达式来尝试优化。

 

 

三.下标引用、函数调用和结构成员

 

当上传结构体的地址时,用指针接收的同时,也可以用(*pb)解引用来找到结构体。

 

 

四.表达式求值

 

4.1 隐式类型转换

这句话说白了就是自身大小小于整型的,都要进行整型提升。

 

我们先列出5与126的二进制序列,因为char是8bit位,所以截取8位出来。又因为是char类型两个数相加,所以我们需要整型提升。

 

 

 

因为是正数,所以整型提升的时候看符号位,char又是signed char有符号。a与b的符号位都是0,所以补0至32位。最后相加得到新的32bit位,因为要存储在char c中,故再截取8位下来,c是数字相加的整型,所以还要整型提升,符号位为1,故补1至32位(此处为补码)。因为我们要打印整型c,所以需要原码。对补码取反+1得到原码,结果为-125.

例1:

这里打印后只有c不用整型提升(因为大小刚好就是等于整型)。而a与b整型提升后已经不满足打印条件了。

 

 

有了符号后默认计算,也发生了整型提升。

 

 

4.2 算术转换

就是说当大小已经大于整型了,那么改考虑的不是整型提升,而是算术转换。

 

 

 

4.3 操作符的属性

 

相关文章
|
3月前
|
存储 C语言 索引
【C语言篇】操作符详解(下篇)
如果某个操作数的类型在上⾯这个列表中排名靠后,那么⾸先要转换为另外⼀个操作数的类型后执⾏运算。
74 0
|
3月前
|
程序员 编译器 C语言
【C语言篇】操作符详解(上篇)
这是合法表达式,不会报错,但是通常达不到想要的结果, 即不是保证变量 j 的值在 i 和 k 之间。因为关系运算符是从左到右计算,所以实际执⾏的是下⾯的表达式。
254 0
|
26天前
|
存储 缓存 C语言
【c语言】简单的算术操作符、输入输出函数
本文介绍了C语言中的算术操作符、赋值操作符、单目操作符以及输入输出函数 `printf` 和 `scanf` 的基本用法。算术操作符包括加、减、乘、除和求余,其中除法和求余运算有特殊规则。赋值操作符用于给变量赋值,并支持复合赋值。单目操作符包括自增自减、正负号和强制类型转换。输入输出函数 `printf` 和 `scanf` 用于格式化输入和输出,支持多种占位符和格式控制。通过示例代码详细解释了这些操作符和函数的使用方法。
34 10
|
1月前
|
存储 编译器 C语言
【C语言】简单介绍进制和操作符
【C语言】简单介绍进制和操作符
160 1
|
1月前
|
存储 编译器 C语言
初识C语言5——操作符详解
初识C语言5——操作符详解
170 0
|
3月前
|
C语言
C语言操作符(补充+面试)
C语言操作符(补充+面试)
45 6
|
3月前
|
存储 编译器 C语言
十一:《初学C语言》— 操作符详解(上)
【8月更文挑战第12天】本篇文章讲解了二进制与非二进制的转换;原码反码和补码;移位操作符及位操作符,并附上多个教学代码及代码练习示例
57 0
十一:《初学C语言》—  操作符详解(上)
|
4月前
|
C语言
五:《初学C语言》— 操作符
本篇文章主要讲解了关系操作符和逻辑操作符并附上了多个代码示例
44 1
五:《初学C语言》—  操作符
|
5月前
|
C语言
C语言逻辑操作符的短路问题
C语言逻辑操作符的短路问题
|
5月前
|
编译器 C语言
【C语言】:中移位操作符,位操作符详运算规则详解
【C语言】:中移位操作符,位操作符详运算规则详解
44 1