C语言中if和switch语句的基本用法

本文介绍了C语言中的三种基本控制结构:顺序结构、分支结构和循环结构。重点讲解了分支结构中的if和switch语句,包括if的三种形式:简单语句、if-else型和if-else-if型。通过实例展示了如何使用if和switch进行条件判断,以及它们在程序流程控制中的应用。此外,还提到了switch语句中case的使用和注意事项,如常量表达式、break关键字的作用等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

顺序结构

分支结构

循环结构

(二)选择中的if和switch语句


(一)首先,在C语言中,分为三大控制结构,分别为顺序结构,分支与循环结构。

顺序结构:按照解决问题的顺序写出相应语句,自下而上,从左至右的运行。

分支结构:依据一定的条件选择执行的路径,不严格按照前后顺序运行。

循环结构:依据一定的条件重复执行某一句或几句代码,为反复做某操作而设置的一种程序结构。

  (二)接下来向大家介绍选择中的if和switch语句

if语句有3种形式

1:if简单语句

if(表达式)

         语句;

下面为一个实例:

#include <stdio.h> 
main()
{
int HP=100;//定义HP即血量的值为100
scanf("%d",&HP);//从键盘输入一个数值,取地址给HP
if(HP<20)判断HP的值是否小于20
{
printf("英雄血量较低,请回城补充血量\n");//若HP的值小于20,则输出printf中的语句
}
return 0;
}

if()括号里面是表达式,一般是用于判断,需要注意的是if括号后不加分号;在语句后才加;

2:if-else型:

if(表达式)

语句1;

else 

语句2;

下面为一个用if-else语句来判断a,b的大小,并输出a,b中最大的数

#include <stdio.h> 
main()
{
int a,b,max;
scanf("%d%d",&a,&b);
if(a>b)//判断输入a,b两数的大小
printf("max=%d\n",a);//如果a大于b,则输出a的值
else//不然的话
printf("max=%d\n",b);//输出b的值
return 0;
}

3:if-else-if语句//如果表达式1不成立,继续判断判断表达式2是否成立,否则执行表达式n

if(表达式1)   语句1;

else  if(表达式2)  语句2;

...

[else                语句n;]    (写代码时不需要写大括号)

继续以英雄的血量为例:

#include <stdio.h> 
main()
{
int HP=100;
scanf("%d",&HP);
if(HP<20)//如果输入的值小于20 
{
printf("英雄血量较低,请回城补充血量\n");//则输出此语句
}
else if(HP>20&&HP<80)//如果输入的值大于20并小于80
{
printf("英雄血量健康,可以继续进行战斗");//则输出此语句
}
else//否则,即输入的值在80以上
{
printf("英雄的状态完好,请参加战斗,捍卫荣耀");//则输出此语句 
}
return 0;
}

第二个选择是switch语句,switch语句中的switch像是一个总闸,控制着各个灯泡(图有点抽象)554c5910c8d940ddaf704420eea5cd74.png

 基本形式:

switch(表达式)

{

case 常量表达式1:  语句组1;  break;

case 常量表达式2:  语句组2:  break;

...

default:      语句组n;     break;                  (default可以当作或者理解)

#include <stdio.h>
main ()
{
int a=3;定义a的值为3
switch(a)
{
case 1: printf("1号灯泡亮\n");      break;若a的值为1,则1号灯泡亮
case 2: printf("2号灯泡亮\n");      break;若a的值为2,则2号灯泡亮
case 3: printf("3号灯泡亮\n");      break;若a的值为3,则3号灯泡亮
default:  printf("其他灯泡亮\n");   break;若a的值不为1,2,3,为其他值,则4号灯泡亮
}
return 0;
}

需要注意的是case后面必须是常量,而这个常量应跟switch括号里面的表达式有关联,‘a’也是一个常量;case的语句组后应加上break,break表示的是一个语句的结束,阻断当前语句的继续进行,若不加break,则继续执行下一条语句。

这就是if语句和switch语句的基本用法及注意事项,若有什么错误或者不同意见,望各位大佬指点,毕竟我还是一个小白,哈哈。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值