欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

C语言学习2

程序员文章站 2022-05-12 16:15:14
...
运算符优先级和结合性:

C语言学习2优先级:共有15级
结合性:分为两种,左结合(自左向右)、右结合(自右向左)
注意点:
1、运算符的功能对应
2、对运算量的关系(对应的个数、类型)
3、多个运算符间的优先级
4、结合方向
5、结果的输出类型
算数运算符:+ - * / %
注意:对于/ 两边为整数结果为整数 有一边为实数结果为实数
数据转换:
规则1:char、short→ int、float→double 结果类型与转换后的类型相同
规则2:相同类型(除char、short、float型外)的操作数作算术运算的结果为同一类型。
规则3:不同类型,先按规则1转换,还有不同类型,则再按低级别→高级别,其结果类型与转换后的类型相同。
char < short ≤ int ≤ unsigned ≤ long ≤ unsigned long < float < double
若整数,双目运算符的两边一个是有符号另一是无符号数。转换规则如下:
首先看,有符号数的类型能否表示无符号数类型的所有取值范围,若可以,则都变成有符号数的类型;否则都变成无符号数的类型。转 换的方法和赋值转换的规则相同。
unsigned int +short/char/int/>>>unsigned int
unsignef char 或unsigned short会转北为int
输出转换规则:
printf把char、short提升到int型,再传给printf。把float提升到double类型再传给printf
在用%x输出十六进制数时如果十六进制数最高位为1则前面会补ff
比如0x34 输出为34 如果是0x80则输出为0xffffff80
printf函数从右向左输出

自增自减运算符++ --:
种类:1、前缀:++x,–x;
2、后缀:x++,x–;
注意:不能用于常量,函数返回值,表达式

逻辑运算符: ! && ||
在C语言中,0表示假,非0表示真
条件表达式:
形式:表达式1?表达式2:表达式3
意义:若表达式1为真,则运行表达式2;反之运行表达式3

逗号表达式:
形式:表达式1,表达式2,…表达式n;
运行顺序:从左向右,先执行完左边的表达式,再执行右边的表达式
逗号表达式的值为表达式n的值

相关标签: c语言