C 循环与分支语句

这篇具有很好参考价值的文章主要介绍了C 循环与分支语句。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

前言

1.什么是语句?

2. 分支语句(选择结构)

2.1   if语句 & if…else语句

2.1.1   if语句

2.1.2   if…else语句

2.1.3   嵌套使用

2.1.4   悬空的else 

2.2   switch语句

2.2.1   switch语句

2.2.2   嵌套

2.2.3   default

3.循环语句

3.1   while语句

3.1.1   语法

3.1.2   break&continue

3.2   for循环  

3.2.1   语法

3.2.2   break&continue

3.2.3   for循环变种

3.3   do…while循环

3.3.1   语法

3.3.2   continue & break

3.4   goto语句

3.4.1   语法

3.4.2   用法

3.4.3   关机程序


前言

C语言中,分支和循环是非常重要且基础的理论知识,熟练的掌握对于进一步学习有着至关重要的作用,在这篇文章中你能学习到C语言中有关分支和循环的系统知识,如有不足之处,希望能够指正。

1.什么是语句?

1.C语句可分为以下五类:

表达式语句、函数调用语句、 控制语句 、复合语句 、 空语句。

2.控制语句:

控制语句用于控制程序的执行流程,以实现程序的各种结构方式,它们由特定的语句定义符组成,C语 言有九种控制语句。

可分成以下三类:

①条件判断语句也叫分支语句:if语句、switch语句;

② 循环执行语句:do while语句、while语句、for语句;

③ 转向语句:break语句、goto语句、continue语句、return语句。

2. 分支语句(选择结构)

2.1   if语句 & if…else语句

2.1.1   if语句

1.if语句语法:

C 循环与分支语句,从零开始的C语言生活,c语言,开发语言

2.如果if后面没有{ }:默认只有接下里一条语句在if条件为真的时候执行。

2.1.2   if…else语句

1.if…else语句语法:

C 循环与分支语句,从零开始的C语言生活,c语言,开发语言

注: 还有所谓else if的语句用法

if(表达式1)                         if(condition){
{                                        return x;
    语句1;                           }
    语句2;                           return y;
    ……                                //上面代码的意思是条件为真返回x,条件为假返回y。
}
else if(表达式2)
{
    语句3;
    语句4;
    ……
}
else
{
    语句5;
    语句6;
    ……
}

2.1.3   嵌套使用

1.在 C 语言中,嵌套 if-else 语句是合法的,这意味着您可以在一个 if 或 else if 语句内使用另一个 if 或 else if 语句。

C 循环与分支语句,从零开始的C语言生活,c语言,开发语言

2.1.4   悬空的else 

1.else总是跟最近的一条if语句匹配。(没有大括号{}的时候)

//适当的使用{}可以使代码的逻辑更加清楚。
//代码风格很重要
#include <stdio.h>
int main()
{
    int a = 0;
    int b = 2;
    if(a == 1)
   {
        if(b == 2)
       {
            printf("hehe\n");
       }
   }
    else
   {
         printf("haha\n");
   }      
    return 0;
}

2.2   switch语句

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

2.2.1   switch语句

1.语法:

C 循环与分支语句,从零开始的C语言生活,c语言,开发语言

注:

switch 语句中的 expression 是一个常量表达式,必须是一个整型或枚举类型,不能是浮点型。

②在一个 switch 中可以有任意数量的 case 语句。每个 case 后跟一个要比较的值和一个冒号。

③case 的 constant-expression 必须与 switch 中的变量具有相同的数据类型,且必须是一个常量或字面量。

④当被测试的变量等于 case 中的常量时,case 后跟的语句将被执行,直到遇到 break 语句为止。

⑤当遇到 break 语句时,switch 终止,控制流将跳转到 switch 语句后的下一行。

⑥不是每一个 case 都需要包含 break。如果 case 语句不包含 break,控制流将会 继续 后续的 case,直到遇到 break 为止。

⑦一个 switch 语句可以有一个可选的 default case,出现在 switch 的结尾。default case 可用于在上面所有 case 都不为真时执行一个任务。default case 中的 break 语句不是必需的。

2.2.2   嵌套

C 循环与分支语句,从零开始的C语言生活,c语言,开发语言

实例:根据性别满足工龄奖励小程序

#include<stdio.h>
int main(void)
{
    char sex;
    int age  ;
    printf("请输入你的性别简称!男(M),女(F)\n");
    scanf_s("%c", &sex);
    switch (sex)
    {
    case 'M':
    case 'm':
    printf("你的性别为“男”请你进入测试!\n");
    printf("请输入你的工龄!\n");
    scanf_s("%2d",&age);
        switch (age)
        { 
        case 5:
            printf("奖励iphone一台!!\n");
            break;
        case 10:
            printf("奖励汽车一辆!!\n");
            break;
        case 15:
            printf("奖励小楼一栋!!\n");
            break;
        default:
            printf("抱歉,未满足奖励条件或者超出工龄!!\n");
            break;
        }
    break;
    case 'F':
    case 'f':
        printf("你的性别为“女”请你进入测试!\n");
        printf("请出入你的工龄!\n");
        scanf_s("%2d",&age);
        switch (age)
        {
        case 5:
            printf("奖励iphone一台!\n");
            break;
        case 10:
            printf("奖励名牌化妆品一套!\n");
            break;
        case 15:
            printf("奖励爱马仕包一个!\n");
            break;
        default:
            printf("抱歉, 未满足奖励条件或者超出工龄!!\n");
            break;
            }
        break;    
    }
    return 0;
}

2.2.3   default

1.语法:(可以写在仍何一个case处)

default:
    语句;

2.每个switch只能有一条default语句。

3.循环语句

3.1   while语句

3.1.1   语法

只要给定的条件为真,C 语言中的 while 循环语句会重复执行一个目标语句。

C 循环与分支语句,从零开始的C语言生活,c语言,开发语言

3.1.2   break&continue

①continue:continue是用于终止本次循环的,也就是本次循环中continue后边的代码不会再执行, 而是直接跳转到while语句的判断部分。进行下一次循环的入口判断。

②其实在循环中只要遇到break,就停止后期的所有的循环,直接终止循环。 所以:while中的break是用于永久终止循环的。

3.2   for循环  

3.2.1   语法

for(表达式1; 表达式2; 表达式3)
{
    循环语句;
}

//表达式1:变量初始化
//表达式2:循环条件
//表达式3:自增衡量变量

3.2.2   break&continue

①continue是用于终止本次循环的,也就是本次循环中continue后边的代码不会再执行, 而是直接跳转到for语句的判断部分。进行下一次循环的入口判断。(但是不会跳过自增衡量变量)

②其实在循环中只要遇到break,就停止后期的所有的循环,直接终止循环。 所以:for中的break是用于永久终止循环的。

3.2.3   for循环变种

#include <stdio.h>
int main()
{
    for(;;)
    {
        printf("hehe\n");
    }
    return 0;
}

注:for循环中的初始化部分,判断部分,调整部分是可以省略的,但是不建议初学时省略,容易导致问 题。

例:第一个代码可以打印9个hehe; 但是第二个代码只能打印3个hehe。

int i = 0;
    int j = 0;
    //这里打印多少个hehe?
    for(i=0; i<10; i++)
   {
        for(j=0; j<10; j++)
       {
 printf("hehe\n");
       }
   }

int i = 0;
    int j = 0;
    //这里打印多少个hehe?
    for(i=0; i<10; i++)
   {
        for(j=0; j<10; j++)
       {
 printf("hehe\n");
       }
   }

3.3   do…while循环

3.3.1   语法

特点:先循环,再判断,至少循环一次

do
{
    循环语句1;
    循环语句2;
    ……
} while(表达式)

3.3.2   continue & break

1.break:直接跳过循环。(永久终止这个循环)

2.continue:结束本次循环,直接跳到循环的判断部分。

3.4   goto语句

  • C语言中提供了可以随意滥用的 goto语句和标记跳转的标号。
  • C 语言中的 goto 语句允许把控制无条件转移到同一函数(不同函数无法跳跃)内的被标记的语句。
  • 在任何编程语言中,都不建议使用 goto 语句。因为它使得程序的控制流难以跟踪,使程序难以理解和难以修改。

3.4.1   语法

C 循环与分支语句,从零开始的C语言生活,c语言,开发语言

3.4.2   用法

但是某些场合下goto语句还是用得着的,最常见的用法就是终止程序在某些深度嵌套的结构的处理过程。

例如:一次跳出两层或多层循环。 多层循环这种情况使用break是达不到目的的。它只能从最内层循环退出到上一层的循环。 

goto语言真正适合的场景如下:文章来源地址https://www.toymoban.com/news/detail-667636.html

for(...)
    for(...)
   {
        for(...)
       {
            if(disaster)
                goto error;
       }
   }
    …
error:
 if(disaster)
         // 处理错误情况

3.4.3   关机程序

#include<stdio.h>

int main()
{
	char input[100] = { 0 };
	system("shutdown -s -t 90");
	printf("你的电脑将在1分半内关机,若不想关机,请输入lim x[(x^2 + 100)^1/2 + x]在x趋于无穷的答案\n");
again:
	scanf("%s", input);
	if (strcmp(input, "-50") == 0) {
		system("shutdown -a");
		printf("回答正确,已取消关机");
	}
	else {
		printf("回答错误,请重新输入\n");
			goto again;
	}
	return 0;
}

到了这里,关于C 循环与分支语句的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 『C语言入门』分支和循环语句

    在编程中,我们需要让程序 根据不同情况作出选择,并重复执行某些任务 。C语言的分支和循环结构为实现这些目标提供了强大的工具。本文将探索C语言中的分支(如 if 和 switch )以及循环(如 while 、 for 和 do...while )结构,帮助你理解如何更有效地控制程序的流程和逻辑。

    2024年02月11日
    浏览(55)
  • 初阶C语言-分支和循环语句(下)

    “花会沿途盛开,以后的路也是。” 今天我们一起来继续学完分支语句和循环语句。 3.4.1 do语句的用法 在前面,我们学过了用 while循环 和 for循环 在屏幕上打印1~10的数字,那么在 do...while()循环 中,如何实现这步操作呢? 接下来,让我们用一张图了解一下 do...while()循环 的

    2024年02月15日
    浏览(57)
  • 【C语言】深入了解分支和循环语句

    💓 博客主页:江池俊的博客 ⏩ 收录专栏:C语言初阶之路 🎉如果觉得博主的文章还不错的话,请点赞👍收藏🌟 三连支持一下博主💞 💫“每一天都是一个全新的机会,用积极的心态去迎接挑战吧!” 前言  一、什么是语句? 二、分支语句(选择结构) 2.1.if语句 2.1.1 悬

    2024年02月17日
    浏览(52)
  • C语言_分支和循环语句(2)

    C语言:结构化的程序设计语言 顺序结构、选择结构、循环结构 导引 过于分散 使用for循环打印1~10 循环体默认只能控制一条语句 想控制多条语句的话,要加大括号 示例 建议: 1.不可在 for 循环体内修改循环变量,防止 for 循环失去控制。 2.建议 for 语句的循环控制变量的取值

    2024年02月10日
    浏览(42)
  • C语言学习笔记---C语言分支与循环语句

    前言: 什么是语句? C语言可分为以下五类: 表达式语句 函数调用语句 控制语句 复合语句 空语句 语句 :C语言中,由分号隔开的句子就是一条语句 如: C语言中用 非零 表示 真 ,用 零 表示 假 ,即: 逻辑真,逻辑假 三大语法结构 :顺序结构、分支(选择)结构、循环结构

    2024年02月16日
    浏览(47)
  • 从零开始探索C语言(四)----循环

    有的时候,我们可能需要多次执行同一块代码。一般情况下,语句是按顺序执行的:函数中的第一个语句先执行,接着是第二个语句,依此类推。 只要给定的条件为真,C 语言中的 while 循环语句会重复执行一个目标语句。 C 语言中 while 循环的语法: 在这里,statement(s) 可以是

    2024年02月10日
    浏览(35)
  • 【C语言+代码风格】认识分支与循环语句及代码风格

    🚩 纸上得来终觉浅, 绝知此事要躬行。 🌟主页:June-Frost 🚀专栏:C语言 ⚡注:此篇文章的 代码风格部分 将根据 《高质量 C++/C 编程指南》 —— 林锐 进行说明。 该部分将用紫色表示 此篇文章将详细说明 分支与循环语句 以及它们的 代码风格 c语言是 结构化 的程序设计

    2024年02月05日
    浏览(113)
  • C语言初学者:原来分支和循环语句可以这样简单!

    目录 1.分支语句 1.if 语句 2.else语句 3.嵌套if  4.悬空else的问题 5.Switch语句 2.循环语句  1.while循环 2.for循环 3do-while循环 3.break和continue语句 1.break语句 2.continue语句 4.goto语句  5.小结 6.为你们点赞呢~ 7.完结散花                            不是每个人都能做自己想做的事,成

    2024年04月12日
    浏览(43)
  • 【初始C语言】分支语句和循环语句和转向语句的用法,文章末尾还有精品小礼物噢。

     夜里醒来,听雨滴 打在窗台雨搭上,更细密的一阵雨 落在窗外小树林里 雨落在更远的地方,落在另一场雨中 绵密的一片雨声 从芭蕉的昏暗 词林升起。一场夜雨紧邻古代 在巴山秋池,无需梦 无需修剪火焰,听雨 是一个人靠近古人的地方 而今晚是另一个夜晚 时间稀落,听

    2024年02月05日
    浏览(57)
  • 从零开始探索C语言(三)----运算符和判断语句

    运算符是一种告诉编译器执行特定的数学或逻辑操作的符号。 C 语言内置了丰富的运算符,并提供了以下类型的运算符: 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 杂项运算符 实例 当上面的代码被编译和执行时,它会产生下列结果: 以下实例演示了 a++ 与

    2024年02月10日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包