c语言之操作符详解2

目录

1:(条件运算符)三目运算符(表达式1?表达式2:表达式3)        

 2:逗号表达式  ,

3:下标引用,函数调用,结构成员三个操作符

 4:表达式求值

5:算术转换

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

 如果某个操作数的类型在上面这个列表中排名较低,那么首先要转换为另外一个操作数的类型后执行运算。

                        

                        


                本期分享在这里就结束了,谢谢大家的耐心观看!

猜你喜欢

转载自blog.csdn.net/2201_75964502/article/details/130662034
今日推荐