【C语言从入门到入土】第三章流程控制

2024-06-06 00:12

本文主要是介绍【C语言从入门到入土】第三章流程控制,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

第三章 流程控制

正式开始对流程控制语句的学习

不是你的能力,决定了你的命运,而是你的决定,改变了你的命运。

想,都是问题,做,才是答案。站着不动,永远是观众,想到做到,才是王道

控制类语句

在这里插入图片描述

在这里插入图片描述

帮助理解

在这里插入图片描述

1.if()…else… 条件语句,层层递进的

if(条件){表达式01
}else{表达式02
};

在这里插入图片描述

在这里插入图片描述

关系运算符

在这里插入图片描述

如何交换两个数的值?

在这里插入图片描述

不交换土办法

在这里插入图片描述

逻辑运算符

在这里插入图片描述

if…else嵌套
include <stdio.h>int main(){if(){}else if(){}else if(){}return 0;
}
如果有三个数,如何让它从小到大排序,要用到冒泡排序法,之后学习
#include <stdio.h>
int main(){int a,b,c;printf("请依次输入三个数\n");scanf("%d%d%d",a,b,c);//分析出会出现三种情况,a最大,,b最大,,c最大if(a>b&&a>c){}return 0;
}

2.switch( ) case… 并列,多分支语句

可以是字符,也可以是数字,,,直接看代码学习怎么用

在这里插入图片描述

switch(输入的条件){case 1:表达式01;break; //必须要加上这个语句才能结束case 2:表达式02;break;case 3;表达式03;break;default:条件都不符合;//在不满足上述所有情况时使用}

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2.1练习题

在这里插入图片描述

#include<stdio.h>
int main(){int x,y;printf("请输入x的值为多少");scanf("%d",&x);switch(x){case 0:y=x;break;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:y=2*x-1;break;default:3*x-11;break;}printf("你输入的数y=%d,x=%d",y,x);return 0;
}

运行结果,,基本上算是成功了吧,,,无法控制是负数的情况,还有小数,比较坑,,这个故事告诉我们,要选择正确的语句,,如果if…else会简单很多,,不要勉强自己在这里插入图片描述

3.while循环控制语句

在这里插入图片描述

while(条件){			//注意条件只识别,0和1,如果一直是一个正数,这就是一个死循环,要杜绝这种情况,会把单片机内存无限占用//Ctrl+c可以强行终止表达式;
}/******举个例子,,输入十次我爱你*****/
#include <stdio.h>
int main(){int a=0;while(a<10){a=a+1;	//每循环一次,a都会加上一个1//还有一种写法,比较简介a++;}return 0;
}
3.1练习题

在这里插入图片描述

/*错误案例*/
#include<stdio.h>
int main(){int a=0;int b=0;while(a<=100){a=a+1;b=b+a;printf("b的值为%d",b);}printf("最终值为%d",b);return 0;
}

在这里插入图片描述

发现错误了嘛??先写条件的话,会多算一个101,,,以后要注意了

4.do…while

先做一次循环再判断,

在这里插入图片描述

do{}while();

5.for(){ }

#include<stdio.h>
int main()//三个表达式
{int sum;int data=1;//表达式1,,条件的初始值while(data<=100){	//表达式2,,条件的临界值sum=sum+data;data++;	//表达式3,,条件的改变}printf("%d\n",sum);return 0;
}

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

语句全省略的话就是一个死循环

6.break,,,在还没有达到临界值的情况下,提前结束循环

在这里插入图片描述

在这里插入图片描述

==介绍一个重要概念,,==取余

% //取余

在这里插入图片描述


break结束整个循环,,,,contine仅仅结束本次循环

7.用contine提前结束本次循环

在这里插入图片描述

#include<stdio.h>
int main(){for(int a=100;a<=200;a++){		//注意要用分号,,因为每个表达式换成单个/*首先要明确一点,能被3整除,则余数就是0*/if(a%3 ==0){continue;} printf("%d",a);}return 0;
}

运行结果

在这里插入图片描述

循环嵌套

#include <stdio.h>
int main(){int i,j;int data =1;for(i=1;i<=5;i++){for(j=1;j<=3;j++){printf("i=%d , j=%d\n",i,j);	//为了打印出行列,,研究行列的关系printf("data=%d",data++);	//为了研究一共有几个数}}
}

运行结果

数的个数等于,行列相乘,,

在这里插入图片描述

嵌套练习题

在这里插入图片描述

#include<stdio.h>
int main(){int i,j;for(i=1;i<=4;i++){for(j=1;j<=5;j++){printf("%d    ",i*j);}printf("\n");}return 0;
}

运行结果

在这里插入图片描述


这篇关于【C语言从入门到入土】第三章流程控制的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1034571

相关文章

从基础到高级详解Go语言中错误处理的实践指南

《从基础到高级详解Go语言中错误处理的实践指南》Go语言采用了一种独特而明确的错误处理哲学,与其他主流编程语言形成鲜明对比,本文将为大家详细介绍Go语言中错误处理详细方法,希望对大家有所帮助... 目录1 Go 错误处理哲学与核心机制1.1 错误接口设计1.2 错误与异常的区别2 错误创建与检查2.1 基础

Nginx分布式部署流程分析

《Nginx分布式部署流程分析》文章介绍Nginx在分布式部署中的反向代理和负载均衡作用,用于分发请求、减轻服务器压力及解决session共享问题,涵盖配置方法、策略及Java项目应用,并提及分布式事... 目录分布式部署NginxJava中的代理代理分为正向代理和反向代理正向代理反向代理Nginx应用场景

基于Python开发Windows自动更新控制工具

《基于Python开发Windows自动更新控制工具》在当今数字化时代,操作系统更新已成为计算机维护的重要组成部分,本文介绍一款基于Python和PyQt5的Windows自动更新控制工具,有需要的可... 目录设计原理与技术实现系统架构概述数学建模工具界面完整代码实现技术深度分析多层级控制理论服务层控制注

Spring Boot分层架构详解之从Controller到Service再到Mapper的完整流程(用户管理系统为例)

《SpringBoot分层架构详解之从Controller到Service再到Mapper的完整流程(用户管理系统为例)》本文将以一个实际案例(用户管理系统)为例,详细解析SpringBoot中Co... 目录引言:为什么学习Spring Boot分层架构?第一部分:Spring Boot的整体架构1.1

Go语言中json操作的实现

《Go语言中json操作的实现》本文主要介绍了Go语言中的json操作的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录 一、jsOChina编程N 与 Go 类型对应关系️ 二、基本操作:编码与解码 三、结构体标签(Struc

nodejs打包作为公共包使用的完整流程

《nodejs打包作为公共包使用的完整流程》在Node.js项目中,打包和部署是发布应用的关键步骤,:本文主要介绍nodejs打包作为公共包使用的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言一、前置准备二、创建与编码三、一键构建四、本地“白嫖”测试(可选)五、发布公共包六、常见踩坑提醒

Ubuntu向多台主机批量传输文件的流程步骤

《Ubuntu向多台主机批量传输文件的流程步骤》:本文主要介绍在Ubuntu中批量传输文件到多台主机的方法,需确保主机互通、用户名密码统一及端口开放,通过安装sshpass工具,准备包含目标主机信... 目录Ubuntu 向多台主机批量传输文件1.安装 sshpass2.准备主机列表文件3.创建一个批处理脚

一个Java的main方法在JVM中的执行流程示例详解

《一个Java的main方法在JVM中的执行流程示例详解》main方法是Java程序的入口点,程序从这里开始执行,:本文主要介绍一个Java的main方法在JVM中执行流程的相关资料,文中通过代码... 目录第一阶段:加载 (Loading)第二阶段:链接 (Linking)第三阶段:初始化 (Initia

python语言中的常用容器(集合)示例详解

《python语言中的常用容器(集合)示例详解》Python集合是一种无序且不重复的数据容器,它可以存储任意类型的对象,包括数字、字符串、元组等,下面:本文主要介绍python语言中常用容器(集合... 目录1.核心内置容器1. 列表2. 元组3. 集合4. 冻结集合5. 字典2.collections模块

基于Go语言开发一个 IP 归属地查询接口工具

《基于Go语言开发一个IP归属地查询接口工具》在日常开发中,IP地址归属地查询是一个常见需求,本文将带大家使用Go语言快速开发一个IP归属地查询接口服务,有需要的小伙伴可以了解下... 目录功能目标技术栈项目结构核心代码(main.go)使用方法扩展功能总结在日常开发中,IP 地址归属地查询是一个常见需求: