C语言if switch 语句
1.if语句
if语句雏形
if(判断条件1)
{
语句列表1;
}
else if(判断条件2) //else if 可以有多个
{
语句列表2;
}
......
else
{
语句列表3;
}
代码解释: 如果
判断条件
1
\color{red}{判断条件1}
判断条件1为真,那么进入
语句列表
1
\color{blue}{语句列表1}
语句列表1,执行完后,跳出剩下的选择语句。
而
判断条件
1
\color{red}{判断条件1}
判断条件1为假,则判断
判断条件
2
\color{red}{判断条件2}
判断条件2是否为真,如果为真,则直接进入
语句列表
2
\color{blue}{语句列表2}
语句列表2,执行完后,跳出剩下的选择语句。
而
判断条件
2
\color{red}{判断条件2}
判断条件2为假时,直接进入
e
l
s
e
\color{blue}{else}
else循环,进行
语句列表
3
\color{blue}{语句列表3}
语句列表3,执行完后,跳出选择语句。
例题1: 理解if语句
#include<stdio.h>
int main()
{
int a=1,b=2;
if(a>b)
{
printf("最大值为a");
}
else
{
printf("最大值为b")
}
return 0;
}
**以上代码,因为2大于1,所以打印的结果为 z 最大值为 b \color{red}{z最大值为b} z最大值为b。
例题2 理解if语句中大括号的含义
#include<stdio.h>
int main()
{
int a=0;
int b=2;
if(a==1)
if(b==2)
printf("hehe\n");
else
printf("haha\n");
return 0;
}
小知识:1.当语句列表只有一句的时候,可以省略大括号,但当语句列表有多句的时候,省略大括号会出现逻辑混淆。
2.此处的if后面没有跟大括号,所以else与最近的if进行匹配。
大家觉得会打印什么呢?是hehe呢,还是haha呢?大家先别往下划,先自己想一想。
答案: 不打印 \color{red}{不打印} 不打印。
解释:代码先进入, i f ( a = = 1 ) \color{purple}{if(a==1)} if(a==1)中,进行判断,发现此判断语句为假,直接结束程序,所以不打印。
2.switch语句
switch语句雏形
switch(整形表达式)
{
case 整形常量表达式: //case 表达式可以有多个
语句列表1; break;
......
default:
语句列表2; break;
}
case后面只能跟整型
当case后面的表达式都没被选中的时候,会触发default后面的表达式。
学的不仅是技术,更是梦想。