【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语言中make和new的区别及说明

《Go语言中make和new的区别及说明》:本文主要介绍Go语言中make和new的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1 概述2 new 函数2.1 功能2.2 语法2.3 初始化案例3 make 函数3.1 功能3.2 语法3.3 初始化

从入门到精通MySQL联合查询

《从入门到精通MySQL联合查询》:本文主要介绍从入门到精通MySQL联合查询,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下... 目录摘要1. 多表联合查询时mysql内部原理2. 内连接3. 外连接4. 自连接5. 子查询6. 合并查询7. 插入查询结果摘要前面我们学习了数据库设计时要满

从入门到精通C++11 <chrono> 库特性

《从入门到精通C++11<chrono>库特性》chrono库是C++11中一个非常强大和实用的库,它为时间处理提供了丰富的功能和类型安全的接口,通过本文的介绍,我们了解了chrono库的基本概念... 目录一、引言1.1 为什么需要<chrono>库1.2<chrono>库的基本概念二、时间段(Durat

Spring Security中用户名和密码的验证完整流程

《SpringSecurity中用户名和密码的验证完整流程》本文给大家介绍SpringSecurity中用户名和密码的验证完整流程,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定... 首先创建了一个UsernamePasswordAuthenticationTChina编程oken对象,这是S

Go语言中nil判断的注意事项(最新推荐)

《Go语言中nil判断的注意事项(最新推荐)》本文给大家介绍Go语言中nil判断的注意事项,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1.接口变量的特殊行为2.nil的合法类型3.nil值的实用行为4.自定义类型与nil5.反射判断nil6.函数返回的

Go语言数据库编程GORM 的基本使用详解

《Go语言数据库编程GORM的基本使用详解》GORM是Go语言流行的ORM框架,封装database/sql,支持自动迁移、关联、事务等,提供CRUD、条件查询、钩子函数、日志等功能,简化数据库操作... 目录一、安装与初始化1. 安装 GORM 及数据库驱动2. 建立数据库连接二、定义模型结构体三、自动迁

解析C++11 static_assert及与Boost库的关联从入门到精通

《解析C++11static_assert及与Boost库的关联从入门到精通》static_assert是C++中强大的编译时验证工具,它能够在编译阶段拦截不符合预期的类型或值,增强代码的健壮性,通... 目录一、背景知识:传统断言方法的局限性1.1 assert宏1.2 #error指令1.3 第三方解决

Go语言代码格式化的技巧分享

《Go语言代码格式化的技巧分享》在Go语言的开发过程中,代码格式化是一个看似细微却至关重要的环节,良好的代码格式化不仅能提升代码的可读性,还能促进团队协作,减少因代码风格差异引发的问题,Go在代码格式... 目录一、Go 语言代码格式化的重要性二、Go 语言代码格式化工具:gofmt 与 go fmt(一)

从入门到精通MySQL 数据库索引(实战案例)

《从入门到精通MySQL数据库索引(实战案例)》索引是数据库的目录,提升查询速度,主要类型包括BTree、Hash、全文、空间索引,需根据场景选择,建议用于高频查询、关联字段、排序等,避免重复率高或... 目录一、索引是什么?能干嘛?核心作用:二、索引的 4 种主要类型(附通俗例子)1. BTree 索引(

Spring如何使用注解@DependsOn控制Bean加载顺序

《Spring如何使用注解@DependsOn控制Bean加载顺序》:本文主要介绍Spring如何使用注解@DependsOn控制Bean加载顺序,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录1.javascript 前言2. 代码实现总结1. 前言默认情况下,Spring加载Bean的顺