前言
C语言有两种选择语句:if语句、switch语句
一、If语句
1.if语句的语法
if语句进行逻辑判断
== C语言的判断,是非零即真 if(这里面不是0,只写个数字,也为真)==
if中判断条件中,如果书写代码的时候,把常量放在前面,变量放后面,少写一个等于号,语法报错;因为变量不能给常量赋值
第一种
// 第一种形式
if(表达式或判断条件){
//条件为真执行该代码
}
#include <stdio.h>
int main(){
int x = 1;
if(x>=3)
printf("%s\d":"bigger than 3");
printf("%s\n","litter than 3");
// 结果:litter than 3
}
注意:
- 如果if判断语句只有一行执行代码,则花括号是可以省略不写的
(若if语句没有花括号,判断为假,跳过后面一行,执行下面的代码)
第二种
// 第二种形式
if (表达式或判断条件){
//条件为真执行该代码
}else{
// 为假执行该代码
{
注意:
- 与第一种形式相同,如果if或else的后面仅有一行代码,花括号可以省略
- else永远和他临近的if是一对的
- ?:是if else结构的变体形式,问号前面是判断;== 唯一的一个三目运算==
int x = 1 ;
x==2 ? putchar('2') : putchar('1');
// 结果:1
第三种
//第三种形式
if( 条件表达式A){
//为真代码A
}else if (条件表达式B){
//为真代码B
}else if (条件表达式C){
//为真代码C
}else{
//收尾D
}
注意:
- 以上代码的else是可以不写的,不是语法错误
- if…else结构是可以嵌套的,理论上是没有嵌套层的限制的,但实际上尽量不要超过3层。注意代码的锁紧,避免不必要的麻烦
二.、关系运算符
三、逻辑运算符
&& (and)表示左右两边表达式都必须为真才行
| | (or) 表示左右两边表达式有一个为真就行
! (not) 表示取反, !假 => 真 , !真 =>假
二、switch多路分支结构
1.switch语法
代码如下(示例):
int weekday = 1 ; // 这里的weekday表示星期,1表示星期一
switch (weekday){
case 1:
printf("星期一\n");
break;
case 2:
printf("星期二\n");
break;
case 3:
printf("星期三\n");
break;
case 4:
printf("星期四\n");
break;
case 5:
printf("星期五\n");
break;
case 6:
printf("星期六\n");
break;
default:
printf("星期日\n");
break;
}
注意:
- 注意break的存在;若case中没有break,则顺序执行下面的代码,直到出现break