C语言的分支结构(if与switch语句)

        在c语言中可以使⽤ if , switch 实现分⽀结构。对于要先做判断再选择的问题就要使用分支结构。分支结构的执行是依据一定的条件选择执行路径,而不是严格按照语句出现的物理顺序。比如在日常生活中周一到周五要上课,周六周日要放假。我们就可以用分支语句判断一下,今天是周几,然后选择是上班还是放假。

        if语句:

在c语言中if语句的语法形式如下:

 if(表达式)

{

     语句;

}

if语句中若表达式成立(为真),则语句执行,表达式不成立(为假),则语句不执行。在c语言中0为假,非0为真。

eg:输⼊⼀个整数,判断是否为偶数

# include <stdio.h>
int main ()
{
    int num = 0 ;
    scanf ( "%d" , &num);
    if (num % 2 == 0 ) //若表达式成立(为真),就执行下一条语句,把偶数打印出来
    printf ( "%d 是偶数 \n" , num);
    return 0 ;
}
if就是如果的意思,if(表达式)就是如果表达式为真执行下一条语句,表达式为假就不执行。
        else语句:
在c语言中else语句是与if语句搭配使用的,语法形式如下:

if(表达式)

{

     语句;

}

else

{

    语句;

}

一个数不是偶数就是奇数,如果我们在上面代码中也想打印出奇数,可以使用 else语句
eg:
# include <stdio.h>
int main ()
{
    int num = 0 ;
    scanf ( "%d" , &num);
    if (num % 2 == 0 )  
        printf ( "%d 是偶数 \n" , num);
      else     //如果if语句中的表达式为假,就会执行else语句的下一条代码
         printf ( "%d 是奇数 \n" , num);
    return 0 ;
}

        当if语句中的表达式为假时,就不会执行if语句的下一条语句,而是会执行else语句的下一条语句。在上述代码中,当num%2==0时,if语句的表达式就为真,就会执行printf("%d 是偶数\n", num);语句,打印出偶数,当num%2!=0时,if语句的表示是就为假,就会执行else语句的下一条语句,printf("%d 是奇数\n", num);从而打印出奇数。

        switch语句:

        除了 if 语句外,C语⾔还提供了 switch 语句来实现分⽀结构。 switch 语句是⼀种特殊形式的 if...else 结构,⽤于判断条件有多个结果的情况。它把多重的 else if 改成更易⽤、可读性更好的形式。
在c语言中switch语句的语法形式如下:
switch (表达式)
{
     case value1: 语句
     case value2: 语句
     default: 语句
}
现在用一个例子来解释switch语句
eg:输入考试成绩,如果成绩在90-100之间为"A",在80-90之间为"B", 在70-80之间为"C",在60-70之间为"D",60以下为"E"。
代码如下:
#include<stdio.h>
int main()
{
    int a;
    printf("请输入你的成绩:");
    scanf("%d",&a);
    a=a/10;
    switch(a)
    {
    case 10:
    case 9:printf("你的成绩为A\n");break;
    case 8:printf("你的成绩为B\n");break;
    case 7:printf("你的成绩为C\n");break;
    case 6:printf("你的成绩为D\n");break;
    default:printf("你的成绩为E\n");
    }
    return 0;
}
        在switch语句 根据表达式不同的值,执⾏相应的 case 分⽀。简单来说, 在上述代码中,当a为8时执行case 8后面的语句,a为7时执行case 7后面的语句,当a为10时由于case 10后面没有语句,就会执行case 9后面的语句,(因为只有当代码遇到break时才会跳出switch语句,没有遇到break时就会一直执行case后面的语句)。
         在上述代码中,首先定义存储成绩变量的a,假设a为95,接着就将95/10(等于9),再将9赋值给a,接着swtich(9)就会找到case 9,并执行case 9后面的语句,打印出" 你的成绩为A",然后遇到break,跳出switch,结束代码。 如果找不到对应的值,就执⾏ default 分⽀。比如a为4,由于没有找到case 4,就会执行 default后面的语句,打印出"你的成绩为E"。
 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Milliliter___

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值