运算符和表达式
1. 运算符 (使用bool类型定义变量时,需要包含stdbool.h头函数。)
- 优先级 同数学中的四则混合运算,有运算优先级之分;优先级是指一个表达式中有多个运算符时,先算哪一个运算符,后算哪一个运算符。
- 结合性是指一个表达式中有多个同优先级的运算符时,是从左向右计算还是从右向左计算。
A. 算数运算符:+ - */ %
B. 关系运算符:主要用来表示两个或多个数、变量、表达式之间的关系。
• 关系运算符也可以用于比较整数和浮点数,也允许混合类型操作数。
• C语言中,关系运算符和数学上的>、<</span>、>=、<=相对应,==等于、!=不等于,表达式产生结果,1(成立)或0(不成立)。
C. 逻辑值:逻辑值只有“ 真”和“ 假”两个值。
• C语言中,,逻辑真对应的数字值为1;逻辑假对应的数字值为0;
• 逻辑真也可以对应其它非零值。
D. C99中的bool类型
•1999年修订版的C99标准出现sCool类型的变量
• Cool类型的变量占)h字节
• Cool类型变量的值为true和false
• 使用Cool类型定n变量时,需包含OtdCool&h头函数
E. 逻辑运算符&&与、||或、!非
• 通常用来表示表达式之间的关系
• 逻辑运算符产生的结果:逻辑结果0(不成立、假)或者1(成立、真)。
• 当操作数处理结果不是1或者0时,逻辑运算符将非零操作数作为真值处理。 1真非0真0假
F. 关于“短路逻辑问题”
短路运算
- 短路与:若第一个表达式的值为假,后面的表达式不再计算
- 短路或:若第一个表达式的值为真,后面的表达式不再计算
G. 条件(三目)运算符
- 语法格式 条件表达式?表达式1:表达式2;
- 执行过程:-若条件表达式的值为真值,则条件表达式的值为表达式1的值;
-若条件表达式值为假,则条件表达式的值为表达式2的值
-表达式1和表达式2为不同的基本类型,会自动转换二者精度较高的类型。
-嵌套是指在一个表达式中有多个条件运算符,结合性是从右向左;执行过 程为:先计算表达式中右边的条件运算符,将右边的条件运算符的值作为左边条件运算符的一个表达式参与运算。
H. &取地址运算符与*寻址运算符(指针)
- &取地址运算符可以得到一个变量在内存中的位置;
- *寻地址运算符可以操作一个内存区域(存/取)
操作一个内存有两种方式:1)通过变量名 2)通过变量地址