服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - C/C++ - 从头学习C语言之switch语句和分支嵌套

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

2022-09-07 15:16极致猎手 C/C++

这篇文章主要为大家详细介绍了C语言之switch语句和分支嵌套,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助

switch 语句:

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

注意事项:

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

语句形式:

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

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

流程图:

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

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#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;
}

分支结构的嵌套:

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

注意事项:

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

语句形式:

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

}
}
else{

}
…//其他语句

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

流程图:

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

示例:

例一:判断两个数的大小

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
  #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;
}

例二:约小花出门玩:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#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;
}

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#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;                                                                   
}

总结

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

原文链接:https://blog.csdn.net/HICKER_BOY/article/details/122515846

延伸 · 阅读

精彩推荐