1、关系运算与逻辑运算
C语言中的逻辑值:C语言将
非0
值当做值,0
值当作假
1.1、关系运算
- 关系运算符:
- >,>=,<=,==(等于),!=(不等于)
- 优先级:
前四者高于
后两者 - 结合性:
自左向右
比较
- 关系表达式:
1.2、逻辑运算
- 逻辑运算符:
- !(非),&&(与),||(或)
- 优先级:
!
>&&
>||
- 逻辑表达式:
- &&(与):
0&&0==0 0&&1==0 1&&0==0 1&&1==1 2&&3==1 -2&&-3==0 0&&-1==0
- ||(或):
0||0==0 0||1==1 1||0==1 1||1==1 5||3==1 -5||0==1
- !(非)
!0==1 !1==0 !7==0 !(-2)==0
- &&(与):
- 短路运算:
- &&(与): 左边第一个运算结果为
0
,则停止运算 - ||(或): 左边第一个运算为
1
,则停止运算
- &&(与): 左边第一个运算结果为
2、if语句
一个
if条件
只能控制一条语句
2.1、单分支的if语句
- 形式:
if(条件) 语句;
- 条件为真,执行语句
- 条件为假,不执行语句
2.2、双分支的if语句
就近原则:
else总是和上面的、离它最近的、未配对的
if进行配对
- 形式:if(条件) 语句1;else 语句2;
- 条件为真,执行语句1
- 条件为假,执行语句2
3、条件运算符
- 形式:
条件?值1:值2
- 执行过程:条件
为真
结果为值1(左值)
,条件为假
结果为值2(右值)
- 优先级:
仅
高于赋值与逗号 - 结合性:自右向左
4、switch语句
- 语句结构:
-
switch语句从字面上讲,可以称为开关语句,是一种多分支选择结构,一般与case、break、default配合使用,对流程进行控制。
-
switch语句的语法格式如下:
switch(表达式){ case 常量表达式1: 语句1; case 常量表达式2: 语句2; …… case 常量表达式n: 语句n; default: 语句n+1; }
-
- switch语句规则:
-
switch语句的 执行过程 是
先进入再向下
。 -
只能针对基本数据类型中的
整型类型
使用switch,这些类型包括int
、char
等。对于其他类型,则不能使用switch语句。 -
switch()的参数类型不能为实型 。
-
case标签必须是
常量表达式
,如62
、’8’
或者5+3
等。 -
case标签必须是
唯一的表达式
;也就是说,不允许两个或以上
case具有相同的值。 -
各
case
和default
子句的先后顺序
可以变动,而不会影响
程序执行结果。 -
default子句可以省略不用。
-
break语句的功能是
终止当前
的switch语句。switch(表达式){ case 常量表达式1: 语句1;break; case 常量表达式2: 语句2;break; …… case 常量表达式n: 语句n;break; default: 语句n+1; }
-
- switch嵌套:
- switch语句可以嵌套,也就是在switch语句中的入口处理语句中又包含了switch语句。case与default标号是与包含它的最小的switch相联系的。例如:
int a,b; switch(a) { case 1 : case 2 : switch(b) { //嵌套switch case 1: case 2: default: } case 3: }
- switch语句可以嵌套,也就是在switch语句中的入口处理语句中又包含了switch语句。case与default标号是与包含它的最小的switch相联系的。例如: