- 前言
- 一、If语句
- 1.if语句的语法
- 二.、关系运算符
- 三、逻辑运算符
- 二、switch多路分支结构
- 1.switch语法
前言
C语言有两种选择语句:if语句、switch语句
一、If语句 1.if语句的语法
if语句进行逻辑判断
== C语言的判断,是非零即真 if(这里面不是0,只写个数字,也为真)==
if中判断条件中,如果书写代码的时候,把常量放在前面,变量放后面,少写一个等于号,语法报错;因为变量不能给常量赋值
第一种
// 第一种形式
if(表达式或判断条件){
//条件为真执行该代码
}
#includeint main(){ int x = 1; if(x>=3) printf("%sd":"bigger than 3"); printf("%sn","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) 表示取反, !假 => 真 , !真 =>假
代码如下(示例):
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



