广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C语言分支和循环详解
  • 865
分享到

C语言分支和循环详解

2024-04-02 19:04:59 865人浏览 独家记忆
摘要

目录前言一、什么是语句二、分支语句1.if语句2.switch语句三、循环语句1.while循环2.循环语句中的break与continue3.for循环总结前言 在本章,我会详述分

前言

在本章,我会详述分支和循环语句的概念与使用规范

一、什么是语句

我们常在一条代码的末尾加一个分号 “;” ,C语言中分号前的就是一条语句,例如


int a = 0;//这是一条语句
printf("%d\n",a);这又是一条语句

很简单的概念。

那么,如果单放一个分号,分号前什么也不写,算不算一条语句呢?

答:当然也算,这是需要注意的一个小点。

二、分支语句

分支语句又叫选择结构,就比如你如果认真学习,你就能找到好工作;如果你整天打游戏,那就等于你选择了毕业后失业。是好好学习,还是打游戏,这就是你的选择,你的选择会带来相应的结果,这就是分支语句。

分支语句:

  • if
  • switch

1.if语句

if语句的结构:


if(条件)
    语句(带来的结果);
else
    语句(带来的结果);

如果满足if括号里的条件,则实行if下面的语句,否则执行else下面的语句。

上面是一种结构,还有一种叫多分支结构:


if(条件)
   (语句);
else if(条件)
   (语句);
else(条件)
   (语句);

其实就是在上一种结构上,多了一个选择else if。

接下来我举一个完整的例子,以体重为例


#include <stdio.h>

int main()
{
 int weight = 0;
 scanf(“%d\n”,&weigth);
 if(weight<100)
    {
    printf("瘦子");
    }
 else if(weight>100 && weight<150)
    {
    printf("正常")
    }`在这里插入代码片`
 else
    {
    printf("偏重")
    }
    return 0;
 }

这里就是让你输入体重

  • 如果满足if(体重小于100),那么输出:瘦子
  • 如果满足else if()体重在100至150之间,那么输出:正常

注意:当我们想表达体重大于100,小于150,我们通常会写(100<weight<150),但在C语言中,这是错误的。正确书写应该为(weight>100 && weight<150)。

这个符号&&成为逻辑与运算符,只有当两个式子都为真的时候,它才会表达为真,与高中我们学的“或且非”的原理一样。

在我们这个例子就是,当weight同时满足小于150和大于100的时候,它才会判断为真,然后输出结果

  • 如果上面都不满足,就输出else的语句:偏重。

除此之外,还有个新手常犯的错误,我们看以下代码


#include <stdio.h>
int main()
{
    int a = 0;/第一行
    int b = 2;/第二行
    if(a == 1)/第三行
        if(b == 2)/第四行
            printf("好的\n");/第五行
    else/第六行
        printf("不好\n");/第七行
    return 0;

可见第三行 if 和第六行的 else 是对齐的,想当然的以为这两个是对应的,如果是这两个对应的话,程序执行的步骤应该是

1. 令a = 0,b = 2

2. 到第三行,判断a是否为2,判断为否

3. 执行else打印“不好”

但是当我们执行会发现,它什么都没打印。

因为,else 和 if 对应的原则是,就近原则,其实第六行和第四行它们是挨最近的,所以是这两处的else和if对应。 因此,程序执行的步骤应该是

1. 令a = 0,b = 2

2. 判断a是否为1,判断为否

3. 下一级的if else语句不执行,直接return 0

所以我们平时为避免这类错误,应当注意使用大括号“{ }”


#include <stdio.h>
int main()
{
    int a = 0;
    int b = 2;
    if(a == 1)
       {
         if(b == 2)
            printf("好的\n");
        }
    else
       { 
       printf("不好\n");
       }
    return 0;

这样,它打印出来的就是“不好”。

2.switch语句

switch也是一直分支语句,常用于多分支,例如你输入1,程序就输出一月,你输入2,程序就输出二月,以此类推,用 if 语句写比较麻烦,所以就诞生了switch语句。

switch语句:


switch(整型常量表达式)
{
   语句项
 }

语句项又是什么呢?

语句项是一些case语句,放在例子中为比较好理解


#include <stdio.h>
int main()
{
    int day = 1
	;
    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;
   }
    return 0;
}

该程序执行过程

1.int day = 1 这个值可以随机

2.进入switch语句

3.判断day的值与哪个case相同

4.输出该case下的语句

此外,该代码中的break,为终止语句

何为终于语句?

答: 就是程序执行到break,就终止了,很好理解。在switch语句中,实际上程序是判断执行哪个case,判断到了,就直接跳到那个case那边,之后接着执行下面的代码,是不会终止的。就等于十条斑马线,你一跳,跳到了第三条,但之后你还要走完后面的七条。

所以break语句在这里的作用就是你跳到了第三条斑马线,就让你停下来,不让你走了

还有一种情况:如果表达的值与所有case标签的值都不匹配怎么办?

答:其实不匹配在C语言中也不会被报错,只是什么都不输出。

当 switch表达式的值并不匹配所有case标签的值时,我们可以用default子句 来规定其输出什么,其实和case语句类似


default:
{
}
             break;

三、循环语句

循环语句有以下几种

  • while
  • for
  • do while

1.while循环

循环,顾名思义就是程序去重复执行一个指令,我们可以用此非常简短的写出我们需要的东西。
我们发现生活中很多的实际的例子是:同一件事情我们需要完成很多次。
那我们怎么做呢? C语言中给我们引入了:while语句,可以实现循环。

while的语法结构


while(表达式)
循环语句;

当我们一直循环,直到满足了表达式所规定的条件,程序才会跳出。

比如我们实现在屏幕上打印1-10的数字


#include <stdio.h>
int main()
{
 int i = 1;
 while(i<=10)
 {
 printf("%d ", i);
 i = i+1;
 }
 return 0;
}

它运行的步骤是

1.令i = 1

2.判断 i 是否小于等于10

3.判断为真,则进入循环。

4.先打印 i 的数值

5.再i + 1

6.再判断 i 是否小于等于10

7.以此类推

2.循环语句中的break与continue

break作用:

break在while语句中,起直接终止所有循环的作用。

continue作用:

continue在while语句中,起终止本次循环的作用,就是在本次循环中,碰到continue后面的语句就不执行,直接跳到while判断。

举个例子能更好理解


#include <stdio.h>
int main()
{
 int i = 1;
 while(i<=10)
 {
 if(i == 5)
 continue;
 printf("%d ", i);
 i = i+1;
 }
 return 0;
}

大家猜猜此时程序运行之后 打印的值是多少?

答案是:1、2、3、4

该程序执行步骤:

1.令 i = 1

2.判断 i 是否小于等于10

3.判断为真,进入循环

4.在循环内判断 i 是否等于 5

5.不等于 则跳过 if 的语句项continue

6.打印 i 的值

7.i + 1

8.再次循环

9.当循环到i 等于 5 的时候 进入 if 语句

10.执行continue 跳过本次循环(不执行后面的打印和 i + 1)

11.直接判断 i 是否小于等于 10 (此时 i 还等于5)

12.再次进入 if 重复 9、10、11的动作

相信这样大家能够更加理解continue的作用。

3.for循环

为什么有了 while 循环还要多个 for 循环呢?

首先我们看for循环的语法:


for(表达式1,表达式2,表达式3)
   循环语句:

表达式1

依旧举个例子阐述:

(打印1-10的数字)


#include <stdio.h>
int main()
{
 int i = 0;
 //for(i=1; i<=10; i++)
 for(i=1; i<=10; i++)
 {
 printf("%d ", i);
 }
 return 0;
 }

这段代码首先将 i 初始化为1,之后判断 i 是否小于等于10,是则进入循环,执行完整个代码之后再i++(i自增1),再重复上述动作直到 i 大于10停止循环。

那么可见for与while循环是类似的,但我们应该在什么时候用for什么时候用while呢?

答:对一个数组进行循环时,如果每轮循环都是在循 环处理完后才将循环变量增加的话,使用for循环比较方便。
如果循环处理的过程中就要将循环变量增加时,则使用while循环比较方便。

总结

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

--结束END--

本文标题: C语言分支和循环详解

本文链接: https://www.lsjlt.com/news/154794.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C语言分支和循环详解
    目录前言一、什么是语句二、分支语句1.if语句2.switch语句三、循环语句1.while循环2.循环语句中的break与continue3.for循环总结前言 在本章,我会详述分...
    99+
    2022-11-12
  • 史上最强C语言分支和循环教程详解
    目录3.3 do...while()循环3.3.1 do语句的语法:3.3.2 执行流程3.3.3 do语句的特点3.3.4 do while循环中的break和continue3....
    99+
    2022-11-12
  • C语言的分支和循环语句你了解吗
    目录1、什么是语句?2、分支语句(选择结构)2.1、if语句2.2、switch语句2.2.1、switch语句中的break2.2.2default子句3、循环语句3.1、whil...
    99+
    2022-11-13
  • C语言超详细讲解循环与分支语句基础
    目录写在开始1. 分支语句1.1 if语句1.2 switch2. 循环语句2.1 while()语句2.2 do while()语句2.3 for 语句for语句中表达式的省略br...
    99+
    2022-11-13
  • C语言中分支和循环语句是什么
    这篇文章主要为大家展示了“C语言中分支和循环语句是什么”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“C语言中分支和循环语句是什么”这篇文章吧。1、什么是语句?C语句可分为以下五类:表达式语句函数...
    99+
    2023-06-29
  • C语言的分支和循环语句你真的了解吗
    目录什么是语句?分支语句if语句悬空elseif书写形式的对比练习switch语句default子句循环语句while循环while语句中的break和continue总结什么是语句...
    99+
    2022-11-13
  • C语言基础解析之分支与循环语句
    目录- if语句:if(表达式)悬空else问题- switch语句要注意的细节switch中的的default子句:- while循环语法结构- for循环语法结构- do whi...
    99+
    2022-11-12
  • C语言循环与分支语句实例分析
    本篇内容主要讲解“C语言循环与分支语句实例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C语言循环与分支语句实例分析”吧!写在开始0表示假,非0表示真。1. 分支语句分支语句也叫做条件选择语...
    99+
    2023-06-30
  • python语法之语言元素和分支循环结构详解
    目录一、语言元素1.变量及其类型(1)变量(2)变量类型2.变量命名规则3.变量的使用4.运算符二、分支循环结构1.if2.for…in3.while总结python中严格控制缩进,...
    99+
    2022-11-12
  • C语言循环结构详解
    目录break语句continue语句C语言循环结构一、goto 语句(现在一般很少用) 1.语句介绍: 2.语法结构: 3.goto 语句程序示例: 二、do-while语句 1....
    99+
    2022-11-12
  • C语言中的分支循环其嵌套语句
    目录switch 嵌套1、语法结构2、switch-case 嵌套语句程序示例循环嵌套1、while 循环嵌套 2、do-while 嵌套循环3、for 循环嵌套 ...
    99+
    2023-02-07
    C语言嵌套语句 C语言分支循环 C语言循环
  • C语言分支与循环实例代码分析
    这篇文章主要介绍“C语言分支与循环实例代码分析”,在日常操作中,相信很多人在C语言分支与循环实例代码分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C语言分支与循环实例代码...
    99+
    2022-10-19
  • C语言 分支语句详解分析
    目录分支语句的分类1、单分支结构语法形式:2、双分支结构3、多分支结构注意事项分支语句的分类 在不同的场景,我们常常面临着选择,有时候会在爱情与面包之间选择,有时候会在尊严与生存之间...
    99+
    2022-11-12
  • C语言分支循环其嵌套语句的使用
    目录switch 嵌套1、语法结构: 2、switch-case 嵌套语句程序示例 循环嵌套1、while 循环嵌套2、do-while 嵌套循环 3、for 循环嵌套 总结Hell...
    99+
    2022-11-12
  • C语言的循环小练习详解
    目录1.实现n的阶乘2.计算1!+2!+3!+...+10!的结果3.两端向中间汇聚打印: 总结:1.实现n的阶乘 int main() { int n = 0; pr...
    99+
    2022-11-12
  • 详解C语言中for循环与while循环的用法
    目录一、单层for循环二、for循环与if选择的嵌套三、多层for循环的嵌套四、while循环五、总结一、单层for循环 引例:C语言实现求1到10的和(用for循环实现) #inc...
    99+
    2022-11-13
  • C语言中分支和循环的实现形式有哪些
    本篇内容介绍了“C语言中分支和循环的实现形式有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!真假C语言里,0表示假,非0表示真。比如:-...
    99+
    2023-07-06
  • C语言分支循环其嵌套语句的使用方法
    今天就跟大家聊聊有关C语言分支循环其嵌套语句的使用方法,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Hello,everyone! forever之前给大家介绍了C语言的分支结构和循...
    99+
    2023-06-25
  • C语言详细讲解循环语句的妙用
    目录一、循环语句分析二、do ... while 语句的循环方式三、while 语句的循环方式四、for 语句的循环方式五、break和 continue 的区别六、do 和 bre...
    99+
    2022-11-13
  • C语言之选择分支语句详解
    目录1.if-else语句1.1 例子与总结1.2 if与else的配对问题1.3 if-else代码编写建议2. switch (case)语句2.1例子和总结2.2 switch...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作