从头学习C语言之switch语句和分支嵌套

 更新时间:2022年01月27日 10:47:41   作者:极致猎手  
这篇文章主要为大家详细介绍了C语言之switch语句和分支嵌套,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助

switch 语句:

一个 switch 语句允许测试一个变量等于多个值时的情况。每个值称为一个 case,且被测试的变量会对每个 switch case 进行检查。

注意事项:

  • 在case每一行的语句或程序块后面要加上break;(否则程序将会把所有程序块从前到后运行一遍。
  • default是可选的,如果上面的case中没有符合的才会选择default(属于备选情况),但是如果不加default则switch语句则不会做出任何响应。

语句形式:

…//其他语句
switch(表达式)
{
case 常量表达式1:语句或程序块1
case 常量表达式2:语句或程序块2

case 常量表达式n:语句或程序块n
default:语句或程序块n+1
}
…//其他语句

流程图:

流程图

示例:根据评级查分数区间:

   #include<stdio.h>
   int main()
   {
     char grade;
     printf("请输入你的成绩:");
     scanf("%c",&grade);
     switch (grade)
    {
      case'A':printf("你的成绩大于九十。\n");break;
      case'B':printf("你的成绩在八十分到九十分之间。\n");break;
      case'C':printf("你的成绩在七十分到八十分之间。\n");break;
      case'D':printf("你的成绩在六十分到七十分之间。\n");break;
      case'E':printf("你的成绩在六十分以下。\n");break;
      default:printf("请输入正确的评级。\n");                                    
    }
   return 0;
  }

分支结构的嵌套:

套娃,一个if语句套一个if语句或者一个else语句套一个if语句。

注意事项:

  • else总是与其最近的if匹配:无论是switch或if语句,一定要保持写花括号的习惯,否则容易出bug。
  • 在if嵌套时,要加入getchar()来屏蔽回车键,防止在判断下一个表达式时,将回车键算作一个常量。
  • 用if判断单个字符时要加单引号,比如例三。

语句形式:

…//其他语句
if(表达式)
{
if(表达式){
…}
else{

}
}
else{

}
…//其他语句

上方语句为简写形式,讲花括号的前者放到if后面也可以。

流程图:

流程图2

示例:

例一:判断两个数的大小

   #include<stdio.h>
   int main()
   {
     int a,b;
     printf("请输入两个数,以供于判断大小:");
     scanf("%d %d",&a,&b);
     if(a<b)
     {
     printf("%d<%d\n",a,b);
    }
    else
    {
      if(a==b)
     {
        printf("%d=%d\n",a,b);
      }
      else
      {
        printf("%d>%d\n",a,b);                                                   
      }
    }
    return 0;
 }

例二:约小花出门玩:

   #include<stdio.h>
   int main()
   {
     char israin,isfree;
     printf("是否有空?(Y/N)\n");
     scanf("%c",&isfree);
     if(isfree=='Y')
     {
     printf("这就很好喽!\n");
    getchar();//这里是用getchar()来频屏蔽回车键
    printf("是否下雨?(Y/N)\n");
    scanf("%c",&israin);
      if(israin=='Y')
   {                                                                          
        printf("记得带伞哦!!!\n");
      }
      else
      {
       printf("那你快出来吧!!!\n");
    }
    }
    else
    {
      printf("那算了!\n");
    }
    return 0;
  }
 

例三:小花做我女朋友!!

   #include<stdio.h>
   int main()
   {
     char a,b;
     printf("小花,你有男朋友吗?(Y/N)\n");
     scanf("%c",&a);
    if(a=='Y')
    {
       printf("那你们在一起吧!\n");
    }
    else
    {
      getchar();
      printf("做我女朋友好不好?(Y/N)\n");
     scanf("%c",&b);
    if(b=='Y')
      {
        printf("oh Yeah!\n");
      }
      else 
      {
       printf("啊这!!!\n");
      }
    }
    return 0;                                                                    
  }

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!

相关文章

  • Qt 事件处理机制的深入理解

    Qt 事件处理机制的深入理解

    本文主要介绍了Qt 事件处理机制的深入理解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • C++实现LeetCode(23.合并k个有序链表)

    C++实现LeetCode(23.合并k个有序链表)

    这篇文章主要介绍了C++实现LeetCode(23.合并k个有序链表),本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-07-07
  • C语言练习题:求1到10的阶乘之和简单实例

    C语言练习题:求1到10的阶乘之和简单实例

    下面小编就为大家带来一篇C语言练习题:求1到10的阶乘之和简单实例。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-05-05
  • C++获取本机登陆过的QQ号码示例程序

    C++获取本机登陆过的QQ号码示例程序

    这篇文章主要介绍了使用C++获取本机登陆过的QQ号码列表的程序示例,大家可以参考使用
    2013-11-11
  • 使用C++程序获取新浪行情数据的方法

    使用C++程序获取新浪行情数据的方法

    这篇文章介绍了在一定的周期范围内去抓取新浪中行情数据,通过更新数据来缓解构造模拟数据与真实数据差异性,感兴趣的朋友可以了解一下
    2015-07-07
  • 基于C语言实现五子棋游戏完整实例代码

    基于C语言实现五子棋游戏完整实例代码

    这篇文章主要介绍了基于C语言实现五子棋游戏完整实例代码,相信对于学习游戏开发的朋友会有一定的帮助与借鉴价值,需要的朋友可以参考下
    2014-08-08
  • 在iOS中给视频添加滤镜的方法示例

    在iOS中给视频添加滤镜的方法示例

    这篇文章主要介绍了在iOS中给视频添加滤镜的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • C语言中回调函数的使用详情

    C语言中回调函数的使用详情

    这篇文章主要介绍了C语言中回调函数的使用详情,阅读下文我们将学习到架构的核心理念和需、回调函数的作用、回调函数的程序编写等内容,需要的小伙伴可以参考一下
    2022-03-03
  • C++多态特性之派生与虚函数与模板详细介绍

    C++多态特性之派生与虚函数与模板详细介绍

    这篇文章主要介绍了C++多态的特性派生与虚函数与模板,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2022-09-09
  • C++ lambda闭包消除类成员变量的解决思路

    C++ lambda闭包消除类成员变量的解决思路

    在面向对象编程中,类成员变量过多可能会造成干扰,可以采用函数式编程的思想,通过闭包和lambda表达式减少不必要的类成员,增强代码的可控性和减少干扰,注意要正确使用mutable修饰符和值捕获,以及合理安排lambda的初始化时机,感兴趣的朋友跟随小编一起看看吧
    2024-09-09

最新评论