简介
在C语言的业务代码中充斥着大量的逻辑判断,其实大部分语言去实现一个功能也都是依赖着逻辑判断。所以简单介绍下我们要学习的C语言逻辑判断关键字:if 、else if、else、switch、white、do while、for、break、continue。
关键字
**1.关键字if 、else if、else **
#include <stdio.h>
int main()
{
int a = 1;
if (a < 2)
{
printf("hello world");
}
return 0;
}
//结果:hello word
//if用来进行条件判断符合if()内条件则执行{}内的代码
else一般与if成对出现,顾名思义不符合if条件的都会进入else条件。看下面式例
#include <stdio.h>
int main()
{
int a = 1;
if (a < 1)
{
printf("hello world1");
}
else
{
printf("hello world2");
}
return 0;
}
//结果:hello word2
//if else成对出现当if()条件不成立则会执行eles里的内容
注意:有许多人在程序中会不写与if匹配的else,但是我觉得在项目中多处条件判断if不成立情况下不写else会引发不必要的bug。
else if的出现就是为了更多的条件判断
#include <stdio.h>
int main()
{
int a = 1;
if (a < 0)
{
printf("hello world1");
}
else if(a == 1)
{
printf("hello world2");
}
else if(a == 2)
{
printf("hello world3");
}
else
{
printf("hello world4");
}
return 0;
}
//结果:hello word3
//和if 一样依然是匹配条件执行
switch case与break这是在嵌入式开发比较重要的关键字,通过switch case与break进行状态机编程会更容易用简单的逻辑实现功能。
#include <stdio.h>
int main()
{
int a = 1;
switch (a)
{
case 1:
printf("hello world");
break;
case 2:
printf("hello world2");
break;
default :
printf("hello world3");
}
return 0;
}
//结果hello world
//switch只能用来只能判定一个变量 ,case 是变量进行条件匹配 如果匹配则执行case下面代码,break是用来跳出switch的也就是符合条件执行后就不会继续判断,否则不写break会继续匹配下面case。
2.关键字while 、do while 、for、continue
while用法
#include <stdio.h>
int main()
{
int a = 0;
while (a < 250)
{
a++;
printf("%d",a);
}
return 0;
}
//循环打印1-250
do while 区别
#include <stdio.h>
int main()
{
int a = 0;
do
{
a++;
printf("%d",a);
}while (a < 250);
return 0;
}
//童昂循环打印1-250只不过do先执行一次才进行判断,而while()一直是先判断再循环。
for使用
#include <stdio.h>
int main()
{
int a = 0;
for(int a = 0 ;a < 250 ;a++)
{
printf("%d",a);
}
return 0;
}
//结果同样是打印1-250
关于循环的用法在单片机编程中最常见就是while(1)和for(;;)他们表示死循环就是一直在循环无论是裸跑还是RTOS线程的使用都离不开死循环。
总结
循环与分支是c语言开发工作中重要的部分条件写的稍有不慎便会引起很难发现的bug,工作中可能会碰到的bug,写条件判断时建议写(1<= a)这样如果你少些了"<"编译器会提示你1是不可修改的左值(以后的帖子会介绍),有效减少bug引入。