我是靠谱客的博主 洁净西牛,最近开发中收集的这篇文章主要介绍零基础玩转c语言系列 | 选择语句前言一、什么是分支语句?二、分支语句的分类三、总结,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文章目录

  • 前言
  • 一、什么是分支语句?
  • 二、分支语句的分类
    • 1. if....else..语句
      • 1.1 if....else..流程
      • 1.2 if....else..语句语法结构
      • 1.3 if..else..语句代码示例
    • 2.switch..case...语句
      • 2.1 switch..case..语句流程
      • 2.2 switch语句语法结构
      • 2.3 switch语句代码实例
  • 三、总结


前言

C语言中选择语句包括if语句和switch语句,本文对这两种语句进行讲解。


一、什么是分支语句?

在C语言中分支语句又叫选择语句,是当程序执行到某条语句时,根据给定的判断条件,控制程序执行流程的语句。

二、分支语句的分类

1. if…else…语句

1.1 if…else…流程

流程如下:
if分支语句流程图

1.2 if…else…语句语法结构

if…else…语句有三种情况,分别是单分支if;双分支if…else…和多分支if…else if…else…
他们的语法结构如下所示:

//单分支:表达式成立则执行语句
if (表达式)
{  
   语句;
}
//双分支:如果表达式为真,则执行语句1,否则执行语句2
if (表达式)
{
   语句1}
else
{
   语句2}

//多分支:先判断表达式1,成立则执行语句1,不成立判断表达式2,表达式2成立执行语句2,否则执行语句3
if (表达式1{
   语句1}
else if (语句2{
   语句2}  
else
{
   语句3}

可能有人会问,如何判断表达式是否为真,在C语言中,表达式的结果只要是非0就是真。

注意:

  1. 在多分支语句中,else if是可以无限加的,并不是只能有一个else if
  2. else不可以单独出现,if可以单独出现,并且else总是和它同级的那个if 相匹配

1.3 if…else…语句代码示例

#include <stdio.h>
int main()
{
   int age=40;
   if (age>=18)
   {
      printf("成年");
   }
return 0}

此时的表达式为age>40?,很明显我们定义的age是满足条件的,表达式成立,执行语句,输出“成年”

int main()
{
   int age=10;
   if (age>=18)
   {
      printf("成年");
   }
   else
   {  
      printf("未成年");
   }
return 0}

此时表达1不成立,直接执行表达式2,程序输出“未成年”。

int main()
{
   int age=50;
   if (age<18)
   {
      printf("未成年");
   }
   else if (age<40)
   {  
      printf("青年");
   }
   else
   {
      printf("中老年")
   }
return 0}

表达式1(age<18)不成立,接着判断表达式2(age<40)不成立,程序将执行语句3,输出“中老年”。

if…else语句语法简单,但是遇到分支较多的情况,我们则要写成if…else if …else if…这样复杂的形式,我们有没有一种表示多分支的选择语句呢?


2.switch…case…语句

switch语句是c语言中另一种常见的选择语句,常常用于多分支的情况

2.1 switch…case…语句流程

流程如下:
在这里插入图片描述
switch…case语句就是,如果judge 1的结果和下面任意一个judge表达式相等,就执行对应的代码块的内容,而其余代码块中的内容不会被执行。

2.2 switch语句语法结构

switch (judge 1)
{
   case (judge 2);
       code 2;
       break;
   case (judge 3):
       code 3:
       break;
   ......
   case (judge n):
       code n;
       break;
   default:
       code;
       break;
}

程序执行时,首先计算judge 1的值,该值与case后面的常量表达式值比较,若相等就执行对应部分的语句块,执行完后利用break语句跳出switch分支语句。若judge1的值与所有的case后的常量表达式均不匹配,执行default项对应的语句,执行后跳出switch分支语句。

注意:

  1. switch后面的judge表达式决定选择语句从哪个case进入,break决定从哪里跳出
  2. case后面的常量表达式只能是整型、字符型或枚举型常量的一种
  3. 各case语句表达式的值各不相同
  4. case和default出现的先后次序,并不影响执行结果。
  5. 每一个switch语句中只能出现一条default语句

2.3 switch语句代码实例

int day=0
scanf(%d",&day)
switch(day)
{
   case 1:
      printf("星期一");
      break;
   case 2printf("星期二");
      break;
   case 3:
      printf("星期三");
      break;
   case 4:
      printf("星期四");
      break;
   case 5:
      printf("星期五");
      break;
   case 6:
   case 7:
      printf("周末");
      break;
   default:
      printf("输入有误");
      break;
}

上述程序是接受一个键盘输入的整型day,然后根据输入的数字输入对应的星期几。程序在执行的过程中,会把switch语句中的day从上到下跟每一个case后面的常量表达式值比较,相等则输入。如果我们键盘输入的值不是1-7,程序在执行过程中,对比所有的case后,仍然没有找到相等的值。则会执行default后面的语句,提示用户输入有误。


三、总结

本文介绍了C语言中常用的两种选择语句if…else…语句和switch…case…语句,其中if…else语句语法简单,多用户单分支或是双分支,switch…case…语句多用于多分支语句
本篇文章就到这里了,希望能够给你带来帮助

最后

以上就是洁净西牛为你收集整理的零基础玩转c语言系列 | 选择语句前言一、什么是分支语句?二、分支语句的分类三、总结的全部内容,希望文章能够帮你解决零基础玩转c语言系列 | 选择语句前言一、什么是分支语句?二、分支语句的分类三、总结所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部