【从零开始的嵌入式生活】必备基础知识4——控制语句(1)

简介: 【从零开始的嵌入式生活】必备基础知识4——控制语句(1)

前言

今天是一天两更的尝试,今天来了解一下【控制语句】

希望大家可以跟着我一起学习,一起加油!

三连即可提高学习效率0.0


🧑🏻作者简介:一个学嵌入式的年轻人

✨联系方式:2201891280(QQ)

📔源码地址:https://gitee.com/xingleigao/study_qianrushi

⏳全文大约阅读时间: 60min


文章目录

 前言

 选择结构

         if语句

                简化形式

                阶梯形式

                嵌套形式

         switch语句

 循环结构

         goto语句

         while语句

         do-while语句

         for循环

 辅助控制语句

         break

         continue

         return

 写在最后

首先可以宏观看一下所有知识点

afd772db7a91b70d896d1f6e091cb7c.png


选择结构

if语句

if(条件A){
  ...
}
else{
  ...
}


就是根据条件来跳转到不同的语句执行,可以用下面的流程图来表示这一个结果。


f3e60e986b31f777f0eb074f3d72a71.png

简化形式

if(表达式) 语句块


举个例子:if(x>y) printf(“%d”, x);


阶梯形式

if(表达式1) 语句块1
  else if(表达式2) 语句块2
  else if(表达式3) 语句块3
        else if(表达式4) 语句块4
                                 ...
                                else 语句块n


一般用于分段,其实这种写法和switch有些类似


嵌套形式

if()
  if()    语句块1
  else     语句块2
else  
  if()    语句块3
  else    语句块4


else总是与它上面的最近的if配对,与书写格式无关。

所以如果有些关系不易理清的时候建议加大括号!!


if()
  {if() 语句块1}
  else 语句块2


switch语句

sitch-case主要用于多分支的结构,在分支较少的时候并不常用。基本语法如下:


switch(表达式){
  case 常量表达式1:
  ...
  break;
  case 常量表达式2:
  ...
  break;
  default:
  ...
}


它的执行过程可以看成下图:

31773912aa601ce589582b8cfd9904c.png

需要注意点:


1.每个case后面一定要加break,不然就会顺序执行所有的之后的函数,可以看流程图。

2.适用于情况较多的时候,平时使用不常见。

其实if-else的阶梯使用会比switch常用很多。


循环结构

goto语句

一般goto需要配合分支使用

a9eec396f148901c97ac4e604b8f32a.png

但其实更常用的是统一错误的处理程序的处理,主要的原因是:


无条件跳转易于理解

可以减少嵌套

可以避免那种忘记更新某一个出口点的问题

算是帮助编译器做了代码优化

while语句

while(条件A){
  ...
}


基本的执行逻辑就是如下图:

b43aa173fb827e9acaf27081592c1f3.png

那么1+2+…+100的写法就是:


int i = 1,sum = 0;
while(i <= 100){
  sum += i;
  i++;
}


相关文章
|
6月前
|
算法 项目管理 C语言
嵌入式 C 语言大神的进阶之路
嵌入式 C 语言大神的进阶之路
73 0
|
6月前
|
C语言
嵌入式C语言中的工具代码助你一臂之力
嵌入式C语言中的工具代码助你一臂之力
48 0
|
5月前
|
安全 Linux 编译器
嵌入式C语言(十二)
嵌入式C语言(十二)
34 1
|
6月前
|
存储 编译器 C++
嵌入式中C++ 编程习惯与编程要点分析
嵌入式中C++ 编程习惯与编程要点分析
53 1
|
6月前
|
传感器 设计模式 安全
嵌入式底层驱动需要知道的基本知识
嵌入式底层驱动需要知道的基本知识
149 0
|
6月前
|
存储 安全 编译器
# 工欲善其事必先利其器-C语言拓展--嵌入式C语言(十一)
# 工欲善其事必先利其器-C语言拓展--嵌入式C语言(十一)
98 0
|
SQL 算法 Java
【Verilog刷题篇】硬件工程师从0到入门1|基础语法入门
硬件工程师近年来也开始慢慢吃香,校招进大厂年薪总包不下30-40w的人数一大把!而且大厂人数并没有饱和!
【Verilog刷题篇】硬件工程师从0到入门1|基础语法入门
【从零开始的嵌入式生活】必备基础知识4——控制语句(2)
【从零开始的嵌入式生活】必备基础知识4——控制语句(2)
【从零开始的嵌入式生活】必备基础知识4——控制语句(2)
|
Serverless
【从零开始的嵌入式生活】必备基础知识7——函数(2)
【从零开始的嵌入式生活】必备基础知识7——函数(2)
【从零开始的嵌入式生活】必备基础知识7——函数(2)
【从零开始的嵌入式生活】必备基础知识7——函数(1)
【从零开始的嵌入式生活】必备基础知识7——函数(1)
【从零开始的嵌入式生活】必备基础知识7——函数(1)