C语言:分支语句和循环语句(超详解)

2023-11-09

目录

​编辑

什么是语句?

 分支语句(选择结构)

if语句:

应该注意的是:

switch语句:

运用练习:

循环语句

while循环:

for循环:

break和continue在for循环中:

for循环的变换使用:

do...while()循环

do while循环中的break和continue:

goto语句

以上就是个人学习见解和学习的解析,欢迎各位大佬在评论区探讨!

感谢大佬们的一键三连! 感谢大佬们的一键三连! 感谢大佬们的一键三连!


什么是语句?

C语句可分为以下五类:
1. 表达式语句
2. 函数调用语句
3. 控制语句
4. 复合语句
5. 空语句
本章介绍的是控制语句。
        控制语句用于控制程序的执行流程,以实现程序的各种结构方式(C语言支持三种结构:顺序结构、选择结构、循环结构),它们由特定的语句定义符组成,C 语言有九种控制语句
可分成以下三类:
1. 条件判断语句也叫分支语句: if 语句、 switch 语句;
2. 循环执行语句: do while 语句、 while 语句、 for 语句;
3. 转向语句: break 语句、 goto 语句、 continue 语句、 return 语句。

 分支语句(选择结构)

         这就是选择!

if语句:

//语法结构:
if ( 表达式 )
    语句 ;
if ( 表达式 )
    语句 1 ;
else
    语句 2 ;
// 多分支    
if ( 表达式 1 )
    语句 1 ;
else if ( 表达式 2 )
    语句 2 ;
else
    语句 3 ;
#include <stdio.h>
//代码1
int main()
{
 int age = 0;
    scanf("%d", &age);
    if(age<18)
   {
        printf("未成年\n");
   }
}

//代码2
#include <stdio.h>
int main()
{
 int age = 0;
    scanf("%d", &age);
    if(age<18)
   {
        printf("未成年\n");
   }
    else
   {
        printf("成年\n");
   }
}

//代码3
#include <stdio.h>
int main()
{
 int age = 0;
    scanf("%d", &age);
    if(age<18)
   {
        printf("少年\n");
   }
    else if(age>=18 && age<30)
   {
        printf("青年\n");
   }
    else if(age>=30 && age<50)
   {
         printf("中年\n");
   }
    else if(age>=50 && age<80)
   {
        printf("老年\n");
   }
    else
   {
        printf("老寿星\n");
   }
    
}

应该注意的是:

        else的匹配else是和它离的最近的if匹配的。

switch语句:

switch ( 整型表达式 )
{
    语句项;
}
语句项:
// 是一些 case 语句:
default: switch 表达式的值并不匹配所有 case 标签的值时,这个 default 子句后面的语句就会执行。
// 如下:
case 整形常量表达式 :
    语句 ;
default  整形常量表达式 :
    语句 ;
语句:
break 语句 的实际效果是退出一个循环。
continue语句 的实际效果是回到一个循环的开头处。

运用练习:

#include <stdio.h>
int main()
{
  int n = 1;
  int m = 2;
   switch (n)
   {
    case 1:
            m++;
    case 2:
            n++;
    case 3:
            switch (n)
            {
             //switch允许嵌套使用
             case 1:
                    n++;
             case 2:
                    m++;
                    n++;
                    break;
            }
    case 4:
            m++;
            break;
    default:
            break;
   }
    printf("m = %d, n = %d\n", m, n);
    return 0;
}

循环语句

        由于我们发现生活中很多的例子是:同一件事情我们需要完成很多次。

        所以C语言中给我们引入了: while 语句,可以实现循环

while循环:

//while 语法结构
while ( 表达式 )
循环语句 ;

//continue 和 break 代码实例
#include <stdio.h>
int main()
{
	int i = 1;
	int j = 10;
    //break实现
	while (i <= 10)
	{
		if (i == 5)
		{
			break;
		}
		printf("%d ", i);
		i = i + 1;
	}
    //continue实现
	while (j >= 10)
	{
		j = j + 1;
		if (j == 15)
		{
			continue;
		}
		printf("%d ", j);
	}
	return 0;
}
总结:
break while 循环中的作用:
         其实在循环中只要遇到break,就停止后期的所有的循环,直接终止循环
所以:while中的break是用于永久终止循环的。
continue while 循环中的作用就是:
         continue是用于终止本次循环的,也就是本次循环中continue后边的代码不会再执行
而是直接跳转到while语句的判断部分。进行下一次循环的入口判断。

for循环:

for ( 表达式1 ; 表达式2 ; 表达式3 )
        循环语句 ;
表达式 1
表达式 1 初始化部分 ,用于初始化循环变量的。
表达式 2
表达式 2 条件判断部分 ,用于判断循环时候终止。
表达式 3
表达式 3 调整部分 ,用于循环条件的调整。
#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;
}

breakcontinuefor循环中:

        for循环中也可以出现breakcontinue,他们的意义和在while循环中是一样的。

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

for循环的变换使用:

#include <stdio.h>
int main()
{
 //代码1
 for(;;)
 {
 printf("hehe\n");
 }
    //for循环中的初始化部分,判断部分,调整部分是可以省略的,但是不建议初学时省略,容易导致问
题。
    
    //代码2
    int i = 0;
    int j = 0;
    //这里打印多少个hehe?
    for(i=0; i<10; i++)
   {
        for(j=0; j<10; j++)
       {
 printf("hehe\n");
       }
   }
    
    //代码3
    int i = 0;
    int j = 0;
    //如果省略掉初始化部分,这里打印多少个hehe?
    for(; i<10; i++)
   {
        for(; j<10; j++)
       {
 printf("hehe\n");
       }
   }
    
 //代码4-使用多余一个变量控制循环
 int x, y;
    for (x = 0, y = 0; x<2 && y<5; ++x, y++)
   {
        printf("hehe\n");
   }
 return 0;
}

do...while()循环:

do
循环语句 ;
while ( 表达式 );

特点:循环至少执行一次,使用的场景有限,所以不是经常使用。

do while循环中的breakcontinue:

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

goto语句:

一般用于一次跳出两层或多层循环

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

以上就是个人学习见解和学习的解析,欢迎各位大佬在评论区探讨!

感谢大佬们的一键三连! 感谢大佬们的一键三连! 感谢大佬们的一键三连!

                                              

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C语言:分支语句和循环语句(超详解) 的相关文章

随机推荐

  • c++ uint32转为int_轻松实现C/C++各种常见进制相互转换

    这篇文章主要介绍了轻松实现C C 各种常见进制相互转换 文中通过示例代码介绍的非常详细 对大家的学习或者工作具有一定的参考学习价值 需要的朋友们下面随着小编来一起学习学习吧 adsbygoogle window adsbygoogle pu
  • 融云「百幄」之视频会议和直播,让办公桌无限延伸

    2020 年 为避免人员流动造成聚集性感染 全世界各地不少企业开始允许员工居家办公 跨地域 跨终端协同办公行业迎来井喷式增长 视频会议 疫 外爆发 关注 融云 RongCloud 了解协同办公平台更多干货 2022 年 全球疫情仍在蔓延 对
  • Qt,QEvent

    QEvent Class The QEvent class is the base class of all event classes Event objects contain event parameters More include
  • Gabor滤波器与特征提取

    一 Gabor滤波器 Gabor滤波器 最主要使用优势体现在对物体纹理特征的提取上 二维Gabor基函数能够很好地描述哺乳动物初级视觉系统中一对简单视觉神经元的感受野特性 随着小波变换和神经生理学的发展 Gabor变换逐渐演变成二维Gabo
  • HTTP项目常见状态码笔记(200,302,400,403,404,405,500...),

    目录 认识 状态码 status code 出现200 403 Forbidden 出现404 404 Not Found 出现 405 Method Not Allowed 出现 500 Internal Server Error 504
  • windows如何让电脑朗读你的文字

    在使用电脑的过程中 常常需要文字能够自动朗读 那么你是如何解决的呢 其实可以不借助任何外部软件 而使用windows记事本就能简单将任意文字转化成语音朗读 步骤1 新建一个记事本 注意记事本的默认后缀名为 txt 步骤2 打开记事本 在记事
  • python库和模块的区别_python中模块、包、库的区别和使用

    模块 就是 py文件 里面定义了一些函数和变量 需要的时候就可以导入这些模块 包 在模块之上的概念 为了方便管理而将文件进行打包 包目录下第一个文件便是 init py 然后是一些模块文件和子目录 假如子目录中也有 init py 那么它就
  • Docker 数据迁移

    问题描述 docker存储目录磁盘空间不够了 需要迁移到新的磁盘 忒扣了 迁移分析 迁移数据前向客户说明时间 提前告知业务部门系统维护相关事宜 查看中间件状态 应用服务是否正常 正常情况下才可停止服务进行下一步 停止应用 中间件等程序 停止
  • 解决问题记录10:JAVA调用,kettle资源库连接mysql8小时后报错问题

    先说解决方法 最终我的解决方式是使用心跳机制 创建了一个很简单的查询作业 让它每3小时执行一次 这几天在凌晨1点是跑kettle作业时遇到了一个问题 报错如下 The last packet successfully received fr
  • Python爬取ppt工作项目模板

    前言 ppt模板爬取 大约有一百多套工作项目ppt模板 需要的小伙伴可以通过以下程序来下载 1 爬取程序 author 爱分享的山哥 import requests from bs4 import BeautifulSoup import
  • 服务器上的网站突然打不开了,网站突然打不开是什么情况!

    对于一个网站来说 宣传企业 发展业务是根本目的 保证网站能打开却是最基本的需求 如果一个网站隔三差五就打不开 对于用户体验和网站排名都有很大的影响的 也是让很多站长非常烦恼的地方 下面小编就来跟大家聊一下网站突然打不开是什么情况 第一 域名
  • 【译】无缓冲 I/O 会让你的 Rust 程序变慢

    文章标题 译 无缓冲 I O 会让你的 Rust 程序变慢 Unbuffered I O Can Make Your Rust Programs Much Slower 译文 原文链接 https era co blog unbuffere
  • WPFPasswordBox绑定问题

    PassWordBox的Password属性为什么不能绑定 Introduction WPF中的PassWordBox是用于输入密码的控件 它的Password属性是用于获取或设置PassWordBox中的密码 但是 有很多开发者在使用WP
  • 【CSS】回流/重排与重绘

    回流 重排与重绘 回流 重排 回流的基本概念 会引起浏览器回流的操作 重绘 重绘的概念 浏览器优化机制 如何减少回流和重绘 隐藏元素的方法 浏览器使用流式布局模型 Flow Based Layout 浏览器会把HTML解析成DOM 把CSS
  • 虹软24届校招--AIGC&;图像处理&;产品经理&;算法优化

    比亚迪求职意向分类 8 19美团笔试 外卖骑手一面面经 外卖骑手一面面经 比亚迪求职意向分类 比亚迪开了但没完全开 比亚迪已开 外卖骑手一面面经 比亚迪 地平线校招正式批 美团测开校招一面 2023 华为笔试题 0830 美团 测开 到店事
  • Python中的map()函数

    前言 今天做题时遇到了map 函数 来学习一下 如果感觉博主的文章还不错的话 还请关注 点赞 收藏三连支持一下博主哦 目录 map函数 描述 语法 返回值 实例 map函数 描述 map在这里不是地图的意思 在编程领域 map一般作 映射
  • 富文本组件VueQuill添加源代码编辑功能

    文章目录 前言 一 VueQuill地址 二 Module quill html edit button 的位置 二 使用步骤 1 安装依赖 2 修改富文本组件 src components Editor index vue 3 验证 总结
  • Linux生成dumpcore并进行调试,以及addr2line的用法

    1 在终端中输入ulimit c 如果结果为0 说明当程序崩溃时 系统并不能生成core dump 2 使用ulimit c unlimited命令 开启core dump功能 并且不限制生成core dump文件的大小 如果需要限制 加数
  • Android 重写系统Crash处理类,保存Crash信息到SD卡 和 完美退出程序的方法

    转载时注明地址 http blog csdn net xiaanming article details 9344703 我们开发Android应用的时候 当出现Crash的时候 系统弹出一个警告框 如下图一 有些手机会黑屏几秒钟然后还伴随
  • C语言:分支语句和循环语句(超详解)

    目录 编辑 什么是语句 分支语句 选择结构 if语句 应该注意的是 switch语句 运用练习 循环语句 while循环 for循环 break和continue在for循环中 for循环的变换使用 do while 循环 do while