双重分支语句的算法 流程图 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/21
2021/2/21 双重分支语句的算法: 6 ⚫ 例如: ⑴ 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?
多重分支语句 语句一般格式 if(表达式1)语句1 else if(表达式2)语句2 ●。●●●● else if(表达式m)语句m ese语句n ●功能: 依次计算并判断表达式i,为非0时执行后面 的语句,都为0时,执行语句n 无论执行完那个语句分支,都转到后续语句◎ 2021/2/21
2021/2/21 多重分支语句 7 ⚫ 语句一般格式 if (表达式1) 语句1 else if (表达式2) 语句2 …… else if (表达式m) 语句m else 语句 n ⚫ 功能: – 依次计算并判断表达式i,为非0时执行后面 的语句,都为0时,执行语句n – 无论执行完那个语句分支,都转到后续语句
多重分支语句的算法 8 ●流程图 表达式1? 语句1 表达式2? 语句2 表达式m 语句m 语句n 2021/2/21
2021/2/21 多重分支语句的算法 8 ⚫ 流程图 表达式2? 表达式1? 语句n 语句1 语句2 语句m Y N … Y N Y N 表达式m ?
多重分支语句的算法 NS结构图 表达式1? F 表达式2? 语句1T 语句2 表达式m2 语句m语句n ●例如: if(a<0)X=-1 else if (a==0)X=0, else x=1 2021/2/21
2021/2/21 多重分支语句的算法 9 ⚫ N-S结构图 表达式1? T F 表达式2? 语句1 T F 语句2 … 表达式m? T F 语句m 语句n ⚫ 例如: if (a<0) x= -1 ; else if (a==0 ) x= 0 ; else x=1 ;
j语何的简单应用 10 【例41】输入一个字符,如果是大写字母, 则将其转换为小写字母输出,否则 直接输出。 思路 输入:用 getchar或snaf函数 ●ch是否为大写字母:ch>=A'&&ch<=z (或ch>=65&&ch<=90) 大写字母转换为小写字母:ch=ch+32 ●输出:用 putchar或 printf函数 2021/2/21
2021/2/21 10 if语句的简单应用 【例4.1】输入一个字符,如果是大写字母, 则将其转换为小写字母输出,否则 直接输出。 ⚫ 输入:用 getchar 或 scnaf 函数 ⚫ ch是否为大写字母: ch>='A' && ch<='Z' (或 ch>=65 && ch <= 90) ⚫ 大写字母转换为小写字母: ch=ch+32 ⚫ 输出:用 putchar 或 printf 函数 思路: