4.5 控制语句

判断结构要求程序员指定要由程序或测试的一个或条件,以及条件为真时要执行的语句(必要的)和条件为假时要执行的语句(任选的)。

下面是大多数编程语言中典型的判断结构的一般形式:

.5

控制语句是源代码中控制程序执行流程的元素。

顺序控制语句和描述
1如果语句如果表达式为真,则语句或语句块,否则可以避免这些语句。
2如果…… else语句一个 if 语句可以判断一个任选的else语句,当表达式为假时执行。
3if … else if … else语句if 某某可以预测一个选择的 else … else ,其各种条件非常有用。
4切换大小写语句事件触发, 切换…… 通过程序允许指定在各种条件下执行的不同代码来控制程序的流程。
5条件一致?:条件一致?:是C语言中唯一的三元对立。

如果语句

如果表达式为真,则语句或语句块,否则可以避免这些语句。

不同形式的if语句

形式1

if (expression)
   statement;

如果你有一个语句,你可以使用没有大括号{}的if语句。

形式2

if (expression) {
   Block of statements;
}

if语句 – 执行顺序

.5

例子

/* Global variable definition */
int A = 5 ;
int B = 9 ;

Void setup () {

}

Void loop () {
   /* check the boolean condition */
   if (A > B) /* if condition is true then execute the following statement*/
   A++;
   /* check the boolean condition */
   If ( ( A < B ) && ( B != 0 )) /* if condition is true then execute the following statement*/ { 
      A += B;
      B--;
   }
}

Arduino If … else语句

一个 if 语句可以判断一个任选的else语句,当表达式为假时执行。

if … else语句语法

if (expression) {
   Block of statements;
}
else {
   Block of statements;
}

if … else语句 – 执行顺序

.5

例子

/* Global variable definition */
int A = 5 ;
int B = 9 ;

Void setup () {

}

Void loop () {
   /* check the boolean condition */
   if (A > B) /* if condition is true then execute the following statement*/ {
      A++;
   }else {
      B -= A;
   }
}

Arduino If … else if … else语句

if 某某可以预测一个选择的 else … else ,其各种条件非常有用。

当使用 if … else if … else 语句时,请记住:

  • 一个 如果 可以有0或一个其他语句,它就必须在所有其他语句之后。
  • 如果 可以有0到多个else if语句,它们必须在else之前。
  • 一旦 否则,如果 成功,将不会测试剩余的其他人,如果别人或语句。

if … else if … else语句

if (expression_1) {
   Block of statements;
}

else if(expression_2) {
   Block of statements;
}
.
.
.

else {
   Block of statements;
}

if … else if … else语句执行顺序

.5

例子

/* Global variable definition */
int A = 5 ;
int B = 9 ;
int c = 15;

Void setup () {

}

Void loop () {
   /* check the boolean condition */
   if (A > B) /* if condition is true then execute the following statement*/ {
      A++;
   }
   /* check the boolean condition */
   else if ((A == B )||( B < c) ) /* if condition is true then 
      execute the following statement*/ {
      C = B* A;
   }else
      c++;
}

Arduino switch case语句

事件判断语句, 切换…… 通过编程允许指定在各种条件下执行的不同代码来控制程序的流程。特别是, 切换 语句将变量的值与 事件 语句中指定的值进行比较。一个case语句的值与变量的值匹配时,运行case语句中的代码。

开关语句使用 破 关键字退出,通常在每个情况下语句的结尾使用。如果没有破语句,开关语句将继续执行后续的表达式(“落空”),直到到达断裂语句或达到开关语句的结尾。

switch case语句语法

switch (variable) { 
   case label:
   // statements
   break;
}

case label: { 
   // statements
   break;
}

default: { 
   // statements
   break;
}

switch case语句执行顺序

.5

例子

这里是一个简单的切换例子。如果我们还有一个只有 3 个不同状态(0,1 或 2 个)的变量阶段以及与每个事件状态相对的函数(事件)。例行程序:

switch (phase) {
   case 0: Lo(); break;
   case 1: Mid(); break;
   case 2: Hi(); break;
   default: Message("Invalid state!");
}


Arduino条件是否一致?:

条件一致?: 是C语言中唯一的三元对立。

? :条件互斥语法

expression1 ? expression2 : expression3

首先评估表达式1。如果其值为真,那么将评估表达式2,并忽略表达式3。表达式1评估为假,则评估表达式3,而表达式2将被忽略。的哪一个结果为真。

条件匹配从右到左关联。

示例

/* Find max(a, b): */
max = ( a > b ) ? a : b;
/* Convert small letter to capital: */
/* (no parentheses are actually necessary) */
c = ( c >= 'a' && c <= 'z' ) ? ( c - 32 ) : c;

条件匹配规则

  • 表达式1必须是标量表达式;表达式2和表达式3必须坚持以下规则上限。
  • 这两个表达式都必须是算术类型的。
  • expression2和expression3进行通常的算术转换,决定结果的类型。
  • 两个表达式都必须是void类型。结果类型为void。
联系我们

联系我们

微信:13823392571

在线咨询:点击这里给我发消息

工作时间:周一至周五,9:30-18:30,节假日休息

微信客服
微信客服
分享本页
返回顶部