53订语句 1语句的三种形式 语句一般格式 内嵌语句,可为: f(表达式)语句 赋值语句 函数调用语句 控制语句 复合语句 可为算术、关系、逻辑、赋值 空语句 等表达式 功能 计算表达式的值,如果是一个非0值(即 辑假)跳过内嵌语句,顺序执行后续语句。 2021/2/24
11 2021/2/24 1.If语句的三种形式 ⚫ 语句一般格式 if (表达式) 语句 ⚫ 功能: – 计算表达式的值,如果是一个非0值(即 逻辑真),就执行内嵌语句,否则(即逻 辑假)跳过内嵌语句,顺序执行后续语句。 内嵌语句,可为: • 赋值语句 • 函数调用语句 • 控制语句 • 复合语句 可为算术、关系、逻辑、赋值 • 空语句 等表达式 5.3 if语句
53订语句 流程图 N-S结构图 表达式非0 表达式非0? Y 语句 语句 ●例如: (1)(x>0)m++; (2)i(a>b) I c=a; a=b; b=c 2021/2/24
12 2021/2/24 ⚫ 例如: ⑴ if (x>0) m++; ⑵ if ( a>b ) { c=a; a=b; b=c; } 表达式非0 T F 语句 N-S结构图 语句 流程图 N Y 表达式非0? 5.3 if语句
53订语句 语句一般格式 f(表达式)语句1ese语句2 ●功能: 计算表达式的值,如果它的值是一个非0值 (逻辑真),就执行内嵌语句1,之后跳过内 嵌语句2,执行后续语句;否则跳过内嵌语句 ,执行内嵌语句2,之后执行后续语句。 2021/2
13 2021/2/24 ⚫ 语句一般格式 if (表达式) 语句1 else 语句2 ⚫ 功能: – 计算表达式的值,如果它的值是一个非0值 (逻辑真),就执行内嵌语句1,之后跳过内 嵌语句2,执行后续语句;否则跳过内嵌语句 1,执行内嵌语句2,之后执行后续语句。 5.3 if语句
53订语句 流程图 NS结构图 Y 表达式非0 表达式非0? 语句1 语句2][语句1语句2 ●例如 (1)if(x>0)m++; else m (2)if(ch>="a'&&ch<=z') t ch=ch-32:; printf(" %cIn", ch); else printf(" %cIn", ch); 2021/2/24
14 2021/2/24 ⚫ 例如: ⑴ if (x>0) m++; else m--; ⑵ if ( ch>= 'a' && ch<= 'z' ) { ch=ch-32 ; printf(" %c\n",ch); } else printf(" %c\n",ch) ; 表达式非0 T F 语句1 语句2 N-S结构图 语句1 语句2 流程图 Y N 表达式非0? 5.3 if语句
53订语句 语句一般格式 if(表达式1)语句1 else if(表达式2)语句2 ●。●●●● else if(表达式m)语句m ese语句n ●功能: 依次计算并判断表达式i,为非0时执行后面 的语句,都为0时,执行语句n 无论执行完那个语句分支,都转到后续语句 2021/2
15 2021/2/24 ⚫ 语句一般格式 if (表达式1) 语句1 else if (表达式2) 语句2 …… else if (表达式m) 语句m else 语句 n ⚫ 功能: – 依次计算并判断表达式i,为非0时执行后面 的语句,都为0时,执行语句n – 无论执行完那个语句分支,都转到后续语句 5.3 if语句