常见语句的用法

C语言if语句格式用法

例1:

1
2
3
4
if(条件表达式)
{
// 语句1
}

条件表达式成立 -> 为真 1 -> 可运行语句1
条件表达式不成立 -> 为假 0 -> 不能运行语句1

例2:

1
2
3
4
5
6
7
8
if(条件表达式)
{
// 语句1
}
else
{
// 语句2
}

应用实例:实现门磁开门检测

C语言while语句用法

while语句格式1(先判断再执行)

1
2
3
4
while(表达式)
{
// 语句1
};

基本规则: 表达式如果成立 -> 为真 1 -> 执行语句1。

通常用法: 表达式如果成立 -> 为真 1 -> 一直循环:while(1)
用于单片机的任务轮询,在语句1中加入需要调用的任务列表(即任务函数),那么单片机就会轮流运行任务。

while语句格式2(先执行再判断)

1
2
3
4
do
{
// 语句1
}while(表达式)

运行规则:

  1. 先执行 语句1;
  2. 再去判断表达式是否成立,如果成立,继续执行语句1;否则跳出 while 语句,继续执行下面的语句。

C语言switch语句用法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
switch(变量表达式)
{
case 常量1
{
//语句1;
}
break

case 常量2
{
// 语句2;
}
break

...

default
{
// 语句n; //一般为错误提示语,变量不等于以上列出的所有常量。
}
break
}

变量t:必须为一个变量。
当switch后的变量与case后的变量相等,则运行对应的代码。

C语言for语句用法

语法结构:

1
2
3
4
for(表达式1;表达式2;表达式3)
{
// 中间循环体;
}
表达式序号 表达式类型 运行方式
表达式1 单次表达式 for循环开始前运行一次(赋予变量初值)
表达式2 条件表达式(*) 如果该语句(判断语句)为真,则执行表达式3
表达式3 末尾循环体 (多半为i或者i)如果表达式3中为i++,则先执行中间循环体再自增;反之则反之

以一个简单的延时函数为例:

1
2
3
4
5
6
7
8
void delay_1s()
{
unsigned char i;
for(i = 1;i < 10;i++)
{
delay_100ms();
}
}

C语言break、continue、goto语句用法

break;语句用于do while、for、while循环语句中时,可使程序终止循环,跳出循环(永久终止循环)
continue:语句用于do while、for、while循环语句中时,可停止本次循环,不跳出循环语句,重新开始新的循环(终止本次循环)

goto(一般不使用,会使流程图极其复杂):又叫做无条件转移语句,在程序中加入一个标签,然后goto 标签,程序运行到此条之后跳转到标签所在位置。既可以向前跳转,又可以向后跳转。

流程图的绘制

结构化流程图

C语音中有三种基本结构:顺序、选择、循环(禁止使用goto,goto会使后期维护成本大幅度增加)

如果希望用流程图描绘C语音程序,流程图必须由这三种基本结构构成,称为结构化流程图。结构化流程图有以下4个优越之处:
1.只有一个入口。
2.只有一个出口。
3.结构内的每一部分都有机会被执行到。
4.结构内不存在死循环。

结构化流程图的三种基本结构

N-S流程图(不常用)

N-S图(盒图)详解(附案例)

伪代码

伪代码利用介于自然语言和计算机语音之间的文字符号来描述算法,每一行或者几行表示一个基本操作,易于阅读,结构紧凑,修改方便,便于向算法程序过渡。因此伪代码用得比流程图要多。