目录
1:(条件运算符)三目运算符(表达式1?表达式2:表达式3)
1:(条件运算符)三目运算符(表达式1?表达式2:表达式3)
1:条件运算符(三目操作符)
它的语法形式是(表达式1?表达式2:表达式3)用法为:>
如果表达式1成立则整个表达式的值就是表达式2,否则整个表达式的值为表达式3
还有一种理解方式为,如果表达式1成立,表达式2就执行,否则表达式3执行,这里我们举具体的列子:>
其实三目运算符其实可以用if...else语句来表示比如:
2:逗号表达式 ,
它的语法为若出现了逗号表达式,表达式则从左往右执行,但是表达式最后的结果为最后的值
下面我们通过2个具体的实例来举例:
这里就告诉我们逗号表达式最终结果就是,最右边表达式的结果.
3:下标引用,函数调用,结构成员三个操作符
1:下标引用操作符[],这个操作符在使用数组的时候会经常使用,且具体的列子我们也在之前讲过了,在这里就不重复了,但要注意的一点是在使用下标引用操作符的时候,我们一定不能越界使用。
2:函数调用操作符(),本质上就是用一对括号()来表示,比如说strlen(”abcd“),这里的括号,就是函数调用操作符,且函数调用的操作数,只要把它的()去掉就行,及操作数为strlen
与字符串”abcd“.
3结构成员操作符 . ->
这两个操作符都是用来引用结构体里面的成员,在打印结构体的时候经常使用,
语法:结构体变量.成员名,下面我们通过实例来介绍它
接下来就是->操作符的使用,这个操作符要借用结构体指针来使用,其使用方法为,
结构体指针->结构体成员,下面通过列子来讲解。
4:表达式求值
1:表达式求值中隐式类型转换:C的整型算术运算总是至少以缺省整型类型的精度来进行的。 为了获得这个精度,表达式中的字符和短整型操作数在使用之前被转换为普通整型,这种转换称为整型 提升
简单来说就是但我们程序中纯在字符型与短整型时,我们计算机最少只有计算整形类型的精度,而字符型与短整型在计算的时候会发生整形提升,但是提升完后如果还是用整形来接受的,那么又会发生整形截断:
//整数在内存中有三种存储方式,原码,补码,反码
负数的整形提升,在前面补符号位,1
无符号整形提升,在前面补0.
5:算术转换
如果某个操作符的各个操作数属于不同的类型,那么除非其中一个操作数的转换为另一个操作数的类 型,否则操作就无法进行。下面的层次体系称为寻常算术转换。
他们的关系是:>
long double
double
float
unsigned long int
long int
unsigned int
int
如果某个操作数的类型在上面这个列表中排名较低,那么首先要转换为另外一个操作数的类型后执行运算。
本期分享在这里就结束了,谢谢大家的耐心观看!