第4章控制结构程序设计内容摘要:

• 如果要判断,那么要用到选择结构程序。 2020/11/29 《解析 C程序设计》第 4章 控制结构程序设计 45 选择结构程序 • 若在程序执行过程当中,根据用户的输入或中间结果去执行若干不同的任务则为选择结构程序。 • C提供了一系列的分支语句来实现选择结构程序设计。 2020/11/29 《解析 C程序设计》第 4章 控制结构程序设计 46 分支语句 • if语句 • ifelse语句 • ifelse if语句 • switch语句 2020/11/29 《解析 C程序设计》第 4章 控制结构程序设计 47 if 语句 “ if (表达式 ) 语句”形式 语句格式的一般形式为: if (表达式 ) 语句。 注意: ① if后面的 “ 表达式 ” 一般用于表示一个条 件,它可以是关系表达式、逻辑表达式、算术表 达式、字符型表达式等。 ②格式中的 “ 语句 ” , 可以只包含一个简单语句,也可以是复合语句。 如果是复合语句,必须用一对花括号 {}将语句括 起来。 如果只有一条语句,则可不用 {}括起来。 例: if (xy) printf(“%d”,x)。 语句 表达式 a b 真 (非 0) 假 (0) 语句 真 假 表达式 语句功能:执行此语句时,先求表达 式的值,若其值为 “ 真 ” ,则执行语句;若 其值为 “ 假 ” ,则在 if结构体内什么也不执 行。 而程序直接去执行 if语句后面的语句。 2020/11/29 《解析 C程序设计》第 4章 控制结构程序设计 48 例 49程序 /**/ include include void main() { float a,b,c,disc,p,q,x1,x2。 scanf(%f%f%f,amp。 a,amp。 b,amp。 c)。 disc=b*b4*a*c。 if(disc=0) { p=b/(2*a)。 q=sqrt(disc)/(2*a)。 x1=p+q。 x2=pq。 printf(x1=%f\nx2=%f\n,x1,x2)。 } } 2020/11/29 《解析 C程序设计》第 4章 控制结构程序设计 49 if( ) ~ else ~ 语句 语句格式的一般形式为: if (表达式 ) 语句 1。 else 语句 2。 注意: ① if后面的 “ 表达式 ” 一般用于表示一个条 件,它可以是关系表达式、逻辑表达式、算术表 达式、字符型表达式等。 ②格式中的 “ 语句 ” , 可以只包含一个简单语句,也可以是复合语句。 如果是复合语句,必须用一对花括号 {}将语句括 起来。 如果只有一条语句,则可不用 {}括起来。 语句 1 语句 2 真 假 表达式 语句 1 语句 2 表达式 b 真 (非 0) 假 (0) 语句功能:执行此语句时,先求表达式 的值,若其值为 “ 真 ” ,则执行语句 1;若其 值为 “ 假 ” ,则执行语句 2。 最后程序跳出 if 语句执行后面的语句。 例: if (xy) max=x。 else max=y。 2020/11/29 《解析 C程序设计》第 4章 控制结构程序设计 50 例 49程序 /**/ include include void main() { float a,b,c,disc,p,q,x1,x2。 scanf(%f%f%f,amp。 a,amp。 b,amp。 c)。 disc=b*b4*a*c。 if(disc=0) { p=b/(2*a)。 q=sqrt(disc)/(2*a)。 x1=p+q。 x2=pq。 printf(x1=%f\nx2=%f\n,x1,x2)。 } else printf(“no real root!”)。 } 2020/11/29 《解析 C程序设计》第 4章 控制结构程序设计 51 • if (表达式 ) • 语句 1。 • else • 语句 2。 • 由于语句 1或语句 2可以是各种形式的语句,当然也可以是分支语句,因此分支语句可以嵌套。 2020/11/29 《解析 C程序设计》第 4章 控制结构程序设计 52 例 49程序 /**/ include include void main() { float a,b,c,disc,p,q,x1,x2。 scanf(%f%f%f,amp。 a,amp。 b,amp。 c)。 if(a!=0) { disc=b*b4*a*c。 if(disc=0) { p=b/(2*a)。 q=sqrt(disc)/(2*a)。 if(disc==0) printf(“x1=x2=%f\n”,x1=x2=p)。 else printf(x1=%f\nx2=%f\n,x1=p+q,x2=pq)。 } else printf(“no real root!”)。 } else printf(“error.”)。 } 在语句 1嵌套 2020/11/29 《解析 C程序设计》第 4章 控制结构程序设计 53 例 49程序 /**/ include include void main() { float a,b,c,disc,p,q,x1,x2。 scanf(%f%f%f,amp。 a,amp。 b,amp。 c)。 if(a==0) printf(“error.”)。 else { disc=b*b4*a*c。 if(disc0) printf(“no real root!”)。 else { p=b/(2*a)。 q=sqrt(disc)/(2*a)。 if(disc==0) printf(“x1=x2=%f\n”,x1=x2=p)。 else printf(x1=%f\nx2=%f\n,x1=p+q,x2=pq)。 } } } 在语句 2嵌套 2020/11/29 《解析 C程序设计》第 4章 控制结构程序设计 54 • 条件嵌套语句容易出错,其原因主要是不知道哪个 if对应哪个 else。 例如: if(x20||x10) if(y=100amp。 amp。 yx) printf(Good)。 else printf(Bad)。 • 对于上述情况, C编译系统规定: else语句与最近的一个 if语句匹配。 2020/11/29 《解析 C程序设计》第 4章 控制结构程序设计 55 if( ) ~ else if ~ 语句 语句格式的一般 形式为: if (表达式 1) 语句 1。 else if (表达式 2) 语句 2。 else if (表达式 3) 语句 3。 …… else if (表达式 n) 语句 n。 else 语句 n+1。 表达式 1 表达式 2 表达式 3 表达式 n 语句 1 语句 2 语句 3 语句 n 语句 n+1 真 (非 0) 假 (0) 真 (非 0) 假 (0) 假 (0) 假 (0) 真 (非 0) 真 (非 0) 例: if (profit1000) index=。 else if (profit 800) index=。 else if (profit 600) index=。 else if (profit 400) index=。 else index=0。 2020/11/29 《解析 C程序设计》第 4章 控制结构程序设计 56 例 49程序 /**/ include include void main() { float a,b,c,disc,p,q,x1,x2。 scanf(%f%f%f,amp。 a,amp。 b,amp。 c)。 if(a==0) printf(“error.”)。 else { disc=b*b4*a*c。 if(disc0) printf(“no real root!”)。 else if(disc==0) printf(“x1=x2=%f\n”,x1=x2 =b/(2*a))。 else { p=b/(2*a)。 q=sqrt(disc)/(2*a)。 printf(x1=%f\nx2=%f\n,x1=p+q,x2=pq)。 } } } 2020/11/29 《解析 C程序设计》第 4章 控制结构程序设计 57 if 语句的嵌套 if (expr1) if (expr2) statement1 else statement2 内嵌 if if (expr1) statement1 else if(expr3) statement3 else statement4 内嵌 if if (expr1) if (expr2) statement1 else statement3 内嵌 if if (expr1) if (expr2) statement1 else statement2 else if(expr3) statement3 else statement4 内嵌 if 内嵌 if { } 2020/11/29 《解析 C程序设计》第 4章 控制结构程序设计 58 if 语句强调说明 如: if(a==bamp。 amp。 x==y) printf(“a=b,x=y”)。 if(3) printf(“OK”)。 if(„a‟) printf(“%d”,‟a‟)。 if后面的表达式类型任意 if(!x)  if(x==0) if(x)  if(x!=0) 语句可以是复合语句 例 考虑下面程序的输出结果 : include void m。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。