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

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

3天内不再提示

C语言的循环与分支

汽车电子技术 来源:微亮笔记 作者: PASSION 2023-02-21 15:32 次阅读

我们大家都知道,c语言是一门** 结构化 **的程序设计语言,程序的运行都是以某种结构和顺序为骨架去执行的,那么本期就向大家介绍一下c语言的几种结构。

本期主要介绍分支与循环语句

1.什么是语句

2.if语句

3.switch语句

  • 什么是语句

c语言中用一个分号 ;隔开的就是一条语句。例如:

int main()
{
   int a=0;//语句由分号隔开,一条语句由分号表示结束
   printf ("%d\\n" , a);
   ; //这也是一种语句
   return 0;
}

一个程序基本的组成单位就是语句,值得一提的是 即使一个语句中只有一个分号(如上所示),它也是一条正确的语句,我们后面会有特殊的用法。

  • 分支语句

图片

如上图,我们在编程中常会遇到上述的结构,它们含有两个或多个分支,如果想准确表达上图所表示的意思,我们就要使用分支语句,其中包含if语句和switch语句。

  • lf语句

if语句的语法结构

if(表达式){
   语句;
}


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

以上三种结构几乎可用于一切的分支情况。

  • if语句如何执行

对于这种结构的分支语句来说:

if(表达式){
   语句;
}

只需要判断表达式的值是否为真,若表达式为真则执行语句,否则跳出分支语句。

如何判断表达式是否为真?

表达式为零则为假,表达式为非零则为真

对于这种结构的分支语句来说:

if(表达式){
  语句1;
}
else
{
  语句2;
}

只需要判断表达式的值是否为真,若表达式为真则执行语句1,否则执行语句2。

对于这种结构的分支语句来说:

if(表达式1){
  语句1
}
else if(表达式2){
  语句2;
}
else {
  语句3;
}

首先判断表达式1的值是否为真,如果为真则执行语句1,否则判断表达式2的值是否为真,若表达式2的值为真则执语句2,否则执行语句3。

值得一提的是,if自动匹配之后的一条语句,但若超过两条,则需要用”{}“括起来。如下图所示,程序返回了”4“,验证了我们的说法。

#include
int  test(int a)
{
  if (a)
    return 2;//若if包含下一条语句,程序会打印4,若包含两条以上,程序会打印2
  return 4;
}
int main()
{
  int a = 1;
  int b=test(a);
  printf("%d\\n", b);
  return 0;
}
  • switch语句

switch也是一种分支语句。常常用于多分支的情况,例如,下面这种情景:

输入1,输出星期一
输入2,输出星期二
输入3,输出星期三
输入4,输出星期四
输入5,输出星期五
输入6,输出星期六
输入7,输出星期日

switch语句的语法结构

switch(整型表达式)
{
  case 整型表达式值1:
    语句1;
  case 整型表达式值2:
    语句2;
  case 整型表达式值3:
    语句3;
  case 整型表达式值4:
    语句4;
…
  default :
    语句5;
}
  • switch语句如何执行

    switch语句首先判断整型表达式的值,当整型表达式与某个case后的值i相等时,则执行语句i至最后一条语句,当整型表达式的值与任意一个case后的值均不相等,则执行default语句至最后一条语句。

  • switch中的break

    switch语句只能选择从某条语句开始执行,并不能选择只执行某条case后的语句。也就是说,switch语句在开始执行后,除非遇到break或return,否则语句会逐个执行接下来的case语句直到语句结束。这里可以借用break语句来实现多分支。

那么上面打印星期几的问题就可用以下代码来解决:

# include 
int main()
{
  int day;
  printf("请输入day的值\\n");
  scanf_s("%d", &day);
  switch (day) {
  case 1:printf("星期一\\n");break;
  case 2: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;
  }
}
  • switch语句的特殊应用场景

那么如果我们的需求变成了”输入15,输出工作日,输入67,输出休息日“的话,我们可以通过调整输出语句和break 语句的位置来实现。如下所示

#include
#include
#include
int main()
{
  int day;
  printf("请输入day的值\\n");
  scanf_s("%d", &day);
  switch (day) {
  case 1:
  case 2:
  case 3:
  case 4:
  case 5:printf("工作日\\n");break;
  case 6:
  case 7:printf("休息日\\n");break;
  }
}
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • C语言
    +关注

    关注

    180

    文章

    7597

    浏览量

    136117
  • 结构化
    +关注

    关注

    0

    文章

    27

    浏览量

    10302
  • 程序设计语言

    关注

    0

    文章

    3

    浏览量

    6615
收藏 人收藏

    评论

    相关推荐

    C语言基础知识(5)--循环语句

    C语言基础知识(5)--循环语句
    的头像 发表于 06-15 10:18 2078次阅读
    <b class='flag-5'>C</b><b class='flag-5'>语言</b>基础知识(5)--<b class='flag-5'>循环</b>语句

    C语言中for循环的用法和应用 C语言中for循环与while循环的区别

    C语言中的循环结构时,for循环是最常用的一种。它允许重复执行一段代码,直到满足特定条件为止。
    发表于 08-18 16:33 3114次阅读
    <b class='flag-5'>C</b><b class='flag-5'>语言</b>中for<b class='flag-5'>循环</b>的用法和应用 <b class='flag-5'>C</b><b class='flag-5'>语言</b>中for<b class='flag-5'>循环</b>与while<b class='flag-5'>循环</b>的区别

    C语言循环结构的使用方法

    详细介绍了C语言while循环结构、do-while循环结构、for循环结构、循环退出语句的语法
    发表于 11-02 11:26 1583次阅读
    <b class='flag-5'>C</b><b class='flag-5'>语言</b><b class='flag-5'>循环</b>结构的使用方法

    C语言for循环的用法和注意事项

    C 语言是一种广泛使用的编程语言,它具有简洁、高效、灵活的特点。C 语言中有很多控制流程的语句,其中 for
    的头像 发表于 11-20 18:27 2253次阅读
    <b class='flag-5'>C</b><b class='flag-5'>语言</b>for<b class='flag-5'>循环</b>的用法和注意事项

    C语言入门教程-if语句和while循环

    if语句和while循环 C语言中,if语句和while循环都会用到布尔表达式。下面是一个使用if语句的简单例子: #include
    发表于 07-29 10:48 8521次阅读

    C++语言基础讲解视频do while循环语句

    C++语言基础讲解视频do while循环语句
    发表于 01-14 15:32 5次下载

    C++语言基础讲解视频Switch分支条件判断语句

    C++语言基础讲解视频Switch分支条件判断语句
    发表于 01-14 08:00 7次下载

    C++语言基础讲解视频while循环语句

    C++语言基础讲解视频while循环语句,喜欢的朋友可以下载来学习。
    发表于 01-14 15:31 3次下载

    C语言教程之循环显示随机数问题

    C语言教程之循环显示随机数问题,很好的C语言资料,快来学习吧。
    发表于 04-25 15:03 0次下载

    C语言教程之使用循环结构设计C语言程序的资料说明

    本文档详细介绍的是C语言教程之使用循环结构设计C语言程序的资料说明主要内容包括了:1.while循环
    发表于 02-15 11:27 3次下载
    <b class='flag-5'>C</b><b class='flag-5'>语言</b>教程之使用<b class='flag-5'>循环</b>结构设计<b class='flag-5'>C</b><b class='flag-5'>语言</b>程序的资料说明

    C语言的3种循环结构分析

    C语言循环结构有for循环、while循环、do循环和goto
    的头像 发表于 05-20 13:43 1.1w次阅读
    <b class='flag-5'>C</b><b class='flag-5'>语言</b>的3种<b class='flag-5'>循环</b>结构分析

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

    Hi!这里是渔火。今天我们继续来讲C语言分支结构。在C语言里,可以使用if-else实现分支
    的头像 发表于 02-07 09:27 782次阅读

    C语言循环分支-2

    而在c语言中我们经常会需要重复地进行一些指令,但是不断的编辑重复代码不仅很繁琐,还容易出现bug,因此循环语句的使用就非常有必要。今天要介绍的就是循环语句相关的知识。
    的头像 发表于 02-21 15:35 669次阅读
    <b class='flag-5'>C</b><b class='flag-5'>语言</b>的<b class='flag-5'>循环</b>与<b class='flag-5'>分支</b>-2

    C语言基础篇--选择/顺序/循环结构

    读取更多技术文章,请扫码关注前言在C语言中,按照程序的执行流程不同,分为顺序结构、分支结构和循环结构。多么复杂的逻辑事物都是由这三个结构组成。顺序结构顺序结构是最简单的一种流程结构,它
    的头像 发表于 04-02 11:00 1497次阅读
    <b class='flag-5'>C</b><b class='flag-5'>语言</b>基础篇--选择/顺序/<b class='flag-5'>循环</b>结构

    c语言在while中嵌套if循环

    C语言是一种广泛使用的面向过程编程语言,它提供了许多控制结构来帮助程序员实现复杂的逻辑和流程控制。其中,while循环和if语句是非常常见和重要的控制结构。本文将详细介绍
    的头像 发表于 11-22 10:09 5702次阅读