C语言操作符总结

    xiaoxiao2022-12-08  46

    C语言操作符分类: 算数操作符、移位操作符、位操作符、赋值操作符、单目操作符、关系操作符、逻辑操作符、条件操作符、逗号表达式、下标引用、函数调用和结构成员。 1.算数操作符:(+ - * \ %) %操作符的两个操作数必须都为整数。 移位操作符:(<<左移 >>右移) 左移:左边抛弃,右边补0。 右移:1、逻辑移位(逻辑右移):右边抛弃,左边补0。 2、算数移位(算数右移):右边抛弃,左边用原该值的符号位填充。 注:1、对于移位运算符,不要移动负数位,这个是标准未定义的。 2num<<1,num的值并未改变,因为计算机计算过程发生在CPU寄存器中,所以只有赋值才会改变num的值。 位操作符:(&按位与 | 按位或 ^按位异或) &:只有同为1结果才为1,其余全为0。 |:任何数和1按位或都为1,任何数和0按位或都为它本身。 ^:相同为0;相异为1。 注:位操作符的操作数必须是整数。 赋值操作符:(=) 1、可连续赋值。eg: a = x = y + 1;(不建议使用,代码不容易被理解) 2、复合赋值符:(使代码简洁) += -= *= /= %= >>= <<= &= |= ^= 注:= 不可与 == 混淆使用 (易错点) 单目操作符: ! (逻辑反操作)

    ( 负值) (正值)

    & (取地址) sizeof (操作数的类型长度(以字节为单位)(不是函数)) ~ (对一个数的二进制按位取反)

    (前置 后置- -(前置:先使用后自增 后置:先自增后使用))

    ++ (前置 后置++(规则同上))

    (间接访问操作符(解引用操作符))

    (类型)(强制类型转换)eg: int a= 9; folat f = (float) a; 注:C语言中没有布尔型,用 1、0 表示 真、假 关系操作符:(> >= < <= != ==) 比较简单没什么说的: 唯一要注意:= 不可与 == 混淆使用 (易错点) 逻辑操作符:(&&逻辑与 ||逻辑或) 1、区分 & 和 && ;| 和 || ; eg: if(a < 10 && a !=0) 2、&&(可理解为 并且);||(可理解为 或者) 条件操作符:(也叫三目运算符) exp ? exp 1 : exp 2 ; eg: a>b? a : b; (如果a>b则a=a,否则a=b) 逗号表达式: exp1,exp2.exp3,…expn; 就是用逗号隔开的多个表达式。逗号表达式,从左向右依次执行。整个表达式的结果是最后一个表达式的结果。 eg: a = get_val(); 可改成 while( a = get_val(); count_val(a); a > 0 ) count_val(a); { while(a > 0) //业务处理 { } //业务处理 a = get_val(); count_val(a); } 优点:代码更简洁 下标引用、函数调用和结构成员: 1、[ ] 下标引用操作符:操作数为 一个数组名 + 一个索引值 eg: arr[ 9 ] = 10; 2、()函数调用操作符,接受一个或者多个操作数:第一个操作数为函数名,剩余的操作数就是传递给函数的参数。 eg: text( n); 3、访问一个结构的成员 . 结构体 . 成员名

    最新回复(0)