IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> Arduino初学者小补C语言,分支与循环 -> 正文阅读

[C++知识库]Arduino初学者小补C语言,分支与循环

越来越难了,还是得先补一下从语言才行,有点语言基础学arduino会轻松一点,小白避坑指南啊

一、If else 语句

接着上次的博文,对if else语句一知半解的讲述,来谢罪了
1.1基本用法
首先,简单介绍一下 if else 语句的书写格式:

if (条件语句)

{

满足条件后的执行内容;

}(//这里写入执行语句,在这里加上个大括号也算是一个好习惯)

else(条件语句)

{

满足条件语句后的执行内容;

}
?


1.2多分支与嵌套
?if else 语句也支持多分支食用,拿老师喜欢的age来举例:

int age =0;

if(age<=18)

{

printf("少年\n");

}

else if (age<=25)

{

printf("青年\n"); ??

}

else

{

printf("壮年\n"); ??

}

上面是普通写法

这样的话就是一个三分支的句例

嵌套如下:

int age =0;

if(age<=18)

{

if (age<=10 )

{

printf ("幼年\n")

}; ? ? ? ? ? ? ? ? ? ? <--注意:此处就进行了 if 语句的嵌套使用。

else

{

printf ("少年\n");

}

}

else if (age<=25)

{

printf ("青年\n"); ??

}

else

{

printf ("壮年\n"); ??

}



1.3 使用过程中几个需特别注意的点
比如,在条件语句中需描述 a 的值要大于等于1且小于等于2时

大部分小萌新们会将数学语言直接照搬到条件语句中,

错误示例

if(1=<a<=2)?
1
长期以来数学语言的熏陶下,这种根深蒂固的惯性思维也将使我们困扰许久。于是在这里便和大家分享此题正解:

正确示例

if (a>=1&&a<=2)ps:此处的 && 是逻辑”与“符号,在这块就表示并且、和
1
还有一些需要注意的点!!

1.3.1 关于经常把赋值符号 “=" 与 等于 ”== “ 弄混的小秘招
相信很多小伙伴也和我一眼在这里容易弄混,例如一个程序;问你是否喜欢蓝色(1 Yes / 2 No)

输入 1 就在屏幕上打印 ”喜欢“

而输入 2 就在屏幕上打印”不喜欢“

接下来我们来实现这个函数

常见错误示范:

#include<stdio.h>

int main()

{ int a=0;

scanf("%d",&a);

if(a=1)

{

printf(" 是的\n");

}

else

printf("不喜欢\n");

return 0;

你会发现不管是输入 1 还是 2 输出的结果都为 ”喜欢“。

编译器也不会给你报任何错误,那么其实这就是走入了 赋值符号 “=" 与 等于 ”== “ 弄混 的这个误区,对于这种一个常量和变量进行对比的条件语句

我们可以在写的时候将常量与变量的位置互换一下

if(1==a)?
1
这样一来即使你不小心将两个符号混乱使用了,也能够即使发现错误(因为如果此处写成了赋值的符号,变量在右边,常量在左边,变量是不能给常量赋值的,产生了语法错误,此时编译器会报错。这样一来就将逻辑错误转换成了语法错误。

并且前后对调位置后对程序运行的结果是不会有影响的

1.3.2 "悬空 else "易错的问题

#include<stdio.h>
int main()
{
? int a = 0;
? int b = 2;

? if(1==a)//用到上面的方法,避免出错
? if(2==b)
{
? ? ? printf("yes\n");
}
? else
{
? ? ? printf("no\n");
}
return 0;
}


错误就在这里,这样的话什么都不输出。
是因为 else 会与最近的一条 if 语句相匹配,而不是与位置上对齐的 if 语句相匹配。
经过前面对 if else语句的学习,我们简单分析一下这串代码,首先走到第一个 if 的条件语句判断 a是否等于1,

如果等于程序才走后面的一套 if else 语句(注意后面的if else语句虽然中间有两个分号但本质上两个合起来才算组成一条语句,且因为if else是选择执行一个的,所以必然是一条)。

而很明显不满足第一个 if 的判断语句,所以后面的无论是 yes/no,就算符合条件了也根本不会输出,因为程序都不会走过去。这就造成了所谓的? ?"悬空else"? 的情况。

要使所有控件路径都有返回值
简单来说就是在使用分支语句时要使所有分支都有返回值,否则编译器将会发出警告.

如果你只写了 if 的返回值情况,没在其他情况下设置返回值,编译器就会认为在 if 语句不满足时该函数没有返回值。,因为编译器要求在 if 不符合的情况下也得有相应返回值。

在Arduino IDE中编程也是这样的道理,希望到家都少走弯路,不断进步。

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-12-04 13:12:48  更:2021-12-04 13:13:36 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 9:50:50-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码