从零开始的循环之旅(上)

发布于:2023-02-19 ⋅ 阅读:(425) ⋅ 点赞:(0)

总述

在我们日常生活中处处都面临着选择,每个选择都会或多或少的影响我们的未来。C语言中便有两种选择结构来实现选择,它们是 if els / switch case ,下面我们就来介绍一下吧。

1、分支语句

1.1、if语句

if语句的语法结构:

if(表达式)        
	语句;   
	    
if(表达式)         
    语句1;
else
    语句2;  
        
if(表达式1)    //多个分支
    语句1;
else if(表达式2)    
    语句2;
else
    语句3;  

如果表达式中的语句为真,则语句执行。
那么我们如何判断语句是否为真呢?

在C语言中,0表示假,非零表示真。

我们来看看代码:

#include <stdio.h>
int main()
{
  int age = 0;
    scanf("%d", &age);
    if(age<18)
   {
        printf("未成年\n");
   }
    else if(age>=18 && age<45)
   {
        printf("壮年\n");
   }
   else if(age>=45 && age<59)
   {
   		printf("中年/n");
   }
   else 
   		printf("老年\n");
  return 0;	
}

提示:如果条件成立,要执行多条语句就需要使用代码块,即{ };如果条件成立,若只需执行一条则可不加。

下面我们来看一个有趣的代码:

#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;   
}

相信大家都有答案了吧,其实结果啥也不打印,为啥呢?

因为 else 是和它离的最近的 if 匹配的。
所以 else 其实是与下面的 if 匹配,而 a= 0 ,所以 a==1 为假,说以程序进不去,也就无法完成下面的 if else 了。这就是我们所说的悬空 else。
当然了,我们也可以加代码块来使 else 与上面的 if 对齐。

1.2、switch 语句

switch 语句也是一种分支语句,常常用于多分支的情况。

switch(整型表达式) 
{
    语句项;
}

这就是一个简单的 switch 语句。
下面我们来看一段代码:

#include <stdio.h>
int main()
{
    int day = 0;
    scanf("%d",day);
    switch(day)      //根据day的值来执行语句
   {
        case 1printf("星期一\n");
            break;            //break;是为了退出switch语句
        case 2:               //如果没有break;则程序往下走,执行下一条语句
            printf("星期二\n");
            break;
        case 3:
            printf("星期三\n");
            break;    
        case 4:
            printf("星期四\n");
            break;    
        case 5:
            printf("星期五\n");
            break;
        case 6:
            printf("星期六\n");
            break;
        case 7:
            printf("星期天\n");     
            break;               //default 就像if else 里的 else
        default:                 //当day不等于1~7时,程序进入default
            printf("请输入有效星期(1~7)\n")
            break;
   }
    return 0; 
}

break 语句的实际效果是把语句列表划分为不同的分支部分。
在每个 switch 语句中都放一条default子句是个好习惯,甚至可以在后边再加一个 break 。

总结

当碰到的选择较少时,优先使用 if else
当碰到多种选择,且需控制语句表达时,便使用 switch

本文为个人见解,如有误导,还请见谅。

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到