0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

从零开始跟我学C语言之分支结构(下)

jf_ZqFkd6Up 来源:Linux迷 2023-02-07 09:27 次阅读

Hi!这里是渔火。今天我们继续来讲C语言的分支结构。在C语言里,可以使用if-else实现分支结构。

1、双分支if语句。其一般形式为:if(表达式)语句1;else 语句2;。 我们来用双分支if语句来做一道简单的题目。

【1.1】使用双分支语句求两个数中较大的数。


#include
//2023.2.1渔火 Linux迷 www.linuxmi.com
int main()
{
  
  int a,b;
  printf("请输入两个整数:"); 
  scanf("%d%d",&a,&b);
  if(a>b)
    printf("两个整数中的最大数为:%d
",a);
  else
    printf("两个整数中的最大数为:%d
",b);
          //2023.2.1渔火 Linux迷 www.linuxmi.com
  return 0;
}
运行结果1:

40c46194-a606-11ed-bfe3-dac502259ad0.png
运行结果2:


41051450-a606-11ed-bfe3-dac502259ad0.png


2、单分支语句。其一般形式为:if(表达式) 语句; 我们用单分支语句来解决一道题目。


【2.1】编写程序任意输入一个实数,输出其绝对值。

#include
//2023.2.1渔火 Linux迷 www.linuxmi.com
int main()
{
  
  float x;
  scanf("%f",&x);
  if(x<0)
    x=-x;
  printf("%f",x);
          //2023.2.1渔火 Linux迷 www.linuxmi.com
  return 0;
}
运行结果如下:
41352474-a606-11ed-bfe3-dac502259ad0.png


分析:无论在双分支还是单分支if语句的格式中,“表达式”都是用来描述判断的条件,语法上可以是任意类型的表达式。表达式的结果如果为“0”,表示“假”;结果为“1”,表示“真”。



无论在双分支还是单分支if语句的格式中,被执行的语句均为单个语句,如果想要执行一组语句时,则必须将这一组语句用{}括起来形成复合语句,但在“}”之后不能再加括号。注意:复合语句中的语句执行时会全部被执行。
我们来看一个复合语句的例子。



【3.1】输入3个实数,要求按从小到大的顺序输出。

#include
//2023.2.1渔火 Linux迷 www.linuxmi.com
int main()
{
  
  float x,y,z,k;
  scanf("%f %f %f",&x,&y,&z);
  if(x>y)
    {k=x;x=y;y=k;}
  if(x>z)
    {k=x;x=z;z=k;}
  if(y>z)
    {k=y;y=z;z=k;}
  printf("%5.2f,%5.2f,%5.2f
",x,y,z);
          //2023.2.1渔火 Linux迷 www.linuxmi.com
  return 0;
}
运行结果如下:



41667f74-a606-11ed-bfe3-dac502259ad0.png



分析:{k=x;x=z;z=k;}的作用是交换变量x和y的值,变量k为中间变量。 使用if语句的基本形式解决分支少于两个的问题十分方便,而经常遇到的是多于两个分支,或者需要再多个不同条件下执行不同语句的问题,这就需要掌握if语句的嵌套以及多分支结果。一个if语句中又包含一个或多个if语句的现象称为if语句的嵌套。if语句的基本形式:if(表达式) 语句1;else 语句2;。其中“语句1”或“语句2”都可以嵌套另一个if语句,在缺省else部分的if语句中的“语句”也可以嵌套另一个if语句。在if语句嵌套的结构中一定要注意else与if之间的对应关系。为了避免二义性,在C语言中规定其对应原则是:else总是与它前面最近的一个未匹配的if相匹配。



【4.1】输入3个任意数,找出其中的最大值。

#include
//2023.2.1渔火 Linux迷 www.linuxmi.com
int main()
{
  
  int x,y,z,max;
  scanf("%d %d %d",&x,&y,&z);
  if(x>y)
    if(x>z)
      max=x;
    else
      max=z;
  else
    if(y>z)
      max=y;
    else
      max=z;
  printf("max=%d
",max);
          //2023.2.1渔火 Linux迷 www.linuxmi.com
  return 0;
}
运行结果如下:
418e7100-a606-11ed-bfe3-dac502259ad0.png



多分支if语句是最常用的实现多路分支的方法,其一般形式为:if(表达式1) 语句1;else if(表达式2)···else if(表达式n-1) 语句n-1;else 语句n;.


在C语言中还提供了一种switch语句也可以实现多分支的选择。switch的一般形式为:switch(表达式){case 常量表达式1;语句1;break;case 常量表达式2;语句2;break;···case 常量表达式n;语句n;break;default:语句n+1;break;}



注意:1、switch后的表达式可以是任何表达式,其值只能为整型、字符型、枚举型。2、每个case后面的常量表达式的值互不相同,否则会出现互相矛盾的现象。3、各个case和default的出现次序不影响执行结果。4、可以让多个case共用一组执行语句。5、switch语句允许嵌套使用。

审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    11225

    浏览量

    208910
  • Switch
    +关注

    关注

    1

    文章

    532

    浏览量

    58159
  • C语言
    +关注

    关注

    180

    文章

    7598

    浏览量

    136169
  • 程序
    +关注

    关注

    116

    文章

    3775

    浏览量

    80843
  • 字符
    +关注

    关注

    0

    文章

    232

    浏览量

    25172

原文标题:从零开始跟我学 C 语言之分支结构(下)

文章出处:【微信号:Linux迷,微信公众号:Linux迷】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    跟我学C语言之顺序结构(上)

    hi!这里是渔火。今天我们来讲讲 C 语言的顺序结构。所谓顺序结构就是按照程序代码的书写顺序,自上而下依次执行。我们来看一个例子,感受顺序
    发表于 02-02 10:06 539次阅读

    从零开始单片机C语言

    本帖最后由 igbt 于 2011-4-21 10:12 编辑 《从零开始单片机C语言》是单片机入门教材。
    发表于 04-21 10:04

    从零开始电路基础》(从零开始电子技术丛书)

    电气控制与PLC技术].刘建清.扫描版.pdf[从零开始电子测量技术].李建清.扫描版.pdf[从零开始CPLD和Verilog.HDL编程技术].李建清.扫描版.pdf[
    发表于 06-05 23:12

    从零开始单片机C语言——PDF

    `下载地址:http://yunpan.cn/QGCsezJtF5mjp[从零开始单片机C语言].李建清.扫描版`
    发表于 09-29 16:28

    从零开始单片机C语言,很全的资料

    `从零开始单片机C语言,很全的资料需要的网盘里取从零开始单片机
    发表于 07-22 09:20

    从零开始电子》丛书全套网盘分享

    从零开始模拟电子技术链接:https://pan.baidu.com/s/13rp09WUy3z_CZMJEZMrzkA提取码:othe【从零开始电子丛书】
    发表于 06-28 18:45

    初学者都在看!!从零开始单片机C语言从零开始电子丛书】

    初学者都在看!!从零开始单片机C语言从零开始电子丛书】
    发表于 07-27 15:32

    跟我学数字电路

    跟我学数字电路
    发表于 04-09 23:09 0次下载

    从零开始单片机C语言 李建清.扫描版

    电子发烧友网站提供《从零开始单片机C语言 李建清.扫描版.txt》资料免费下载
    发表于 08-29 16:59 0次下载

    [从零开始单片机C语言].李建清.扫描版_部分2

    电子发烧友网站提供《[从零开始单片机C语言].李建清.扫描版_部分2.txt》资料免费下载
    发表于 08-31 08:07 0次下载

    从零开始单片机C语言.haozip02

    从零开始单片机C语言.haozip02,论坛只允许上传小于20M的压缩包, 总共分两卷,需要下载两个压缩包才能解压成功。
    发表于 08-16 18:54 0次下载

    从零开始单片机C语言.haozip01

    从零开始单片机C语言.haozip01,论坛只允许上传小于20M的压缩包, 总共分两卷,需要下载两个压缩包才能解压成功。
    发表于 08-16 19:37 0次下载

    从零开始跟我学C语言之分支结构(上)

    今天我们来讲分支结构。计算机在执行程序时,通常都是按照语句的书写顺序执行的,但在许多情况需要根据条件选择所要执行的语句,这就选择所要的语句。C语言
    的头像 发表于 02-06 10:14 883次阅读

    从零开始跟我学C语言之循环结构(上)

    Hi!这里是渔火。今天我们来学校C语言中的循环结构。循环结构结构化程序设计中的基本结构之一。循
    的头像 发表于 02-10 15:30 826次阅读

    从零开始跟我学C语言之循环结构

    C语言中,使用while语句完成不定次数的循环,如果满足循环条件,则反复执行循环体语句,当循环条件不满足时退出循环。while语句在使用时,总是先要判断一个条件,使用可以用while语句实现“当型”循环。while语句的一般形式如下:while(表达式)循环体;。接下来
    的头像 发表于 02-12 17:27 685次阅读