您好,欢迎访问三七文档
选择结构程序设计设计者:李德健第5章5.3节选择结构程序设计教学目的与要求:掌握if语句的三种格式及其各自的执行流程教学内容提要:三种if语句教学重点:三种格式的if语句的执行过程及其基本用法教学难点:多分支if语句的应用C语言提供6种关系运算符:1)关系运算符:小于=:小于等于:大于=:大于等于==:是否等于!=:不等于1、关系运算符及其表达式C语言中,真:非0值;假:0值2)关系表达式用关系运算符将表达式连接起来的式子优先级====!=结合方向:自左向右表达式的值关系成立,即为真,结果为1;关系不成立,即为假,结果为0;算术运算符例1判断下列关系表达式的结果:(a=2*2)==2X=(1+1)==28=101!=2高低高低高低赋值运算符1)逻辑运算符!:逻辑非,一元运算符运算规则:取反,真假,假真&&:逻辑与。又称逻辑乘。运算规则:两个操作数均为真,结果为真。||:逻辑或。又称逻辑加。运算规则:只要两个操作数有一个为真,结果为真。2、逻辑运算符及其表达式2)逻辑表达式用逻辑运算符将表达式连接起来的式子。优先级关系运算符&&逻辑与算术运算符!逻辑非||逻辑或结合性:!:自右向左&&、||:自左向右高低赋值运算符高低高低高低高低问题提出:计算分段函数:y=3-xx≤02/xx0解题的步骤:输入xx≤0是y=3-xy=2/x否输出y的值C语言用来设计条件选择结构程序的选择语句有两种:if语句、switch语句。3、if语句1)单分支选择if语句语句形式:if(表达式)语句;例:if(xy)printf(“%d”,x);语句执行流程:表达式语句真(非0)假(0)if语句的三种形式:单分支选择if语句、双分支选择if语句、多分支选择if语句。例5.1:从键盘输入两个数a和b,按代数值由小到大的顺序输出这两个数。#includestdio.h输入a,bab交换a、b输出结束真假main(){floata,b,t;scanf(%f,%f,&a,&b);if(ab){t=a;a=b;b=t;}printf(%5.2f,%5.2f\n,a,b);}注意:(1)if语句自动结合一个语句,当满足条件需要执行多个语句时,应用一对大括号{}将需要执行的多个语句括起,形成一个复合语句。(2)if语句中表达式形式很灵活,可以是常量、变量、任何类型表达式、函数、指针等。只要表达式的值为非零值,条件就为真,反之条件为假。2)、双分支选择if语句语句形式:if(表达式)语句1;else语句2;语句执行流程:表达式语句1真(非0)假(0)语句2例:If(xy)printf(“%d”,x);elseprintf(“%d”,y);例:输入三角形的三个边长,求出三角形的面积。#include“math.h”main(){floata,b,c;floats;/*s为三角形的半周长*/printf(“请输入三角形的三边a,b,c:”);scanf(“%f%f%f”,&a,&b,&c);if(a+bc&&a+cb&&b+ca)/*判断输入的a,b,c能否构成三角形*/{s=(a+b+c)/2.0;/*求出三角形的半周长*/printf(“三角形周长s=%f”,s);}elseprintf(“不能构成三角形\n”);}3)、多分支选择if语句语句形式:if(表达式1)语句1;elseif(表达式2)语句2;……elseif(表达式n)语句n;else语句n+1;语句执行流程:真(非0)假(0)表达式1语句1语句2表达式2真(非0)表达式2语句n语句n+1假(0)假(0)例:计算分段函数。x5x1y2x1x103x10x10假输入xX=1真X10y=3/(x-10)y=2xy=x+5假真#includestdio.hmain(){floatx,y;printf(“输入x:);scanf(%f,&x);else{if(x=1)y=x+5;elseif(x10)y=2*x;elsey=3/(x-10);printf(x=%f,y=%f\n,x,y);}计算分段函数程序:if(x==10)printf(“输入的x不满足条件.\n);}注意:(1)当if语句中出现多个“if”与“else”的时候,要特别注意它们之间的匹配关系,否则就可能导致程序逻辑错误。“else”与“if”的匹配原则是“就近一致原则”,即“else”总是与它前面最近的“if”相匹配。(2)if语句中条件的写法应尽量简单。小结:if语句的三种格式及其各自的执行流程作业:P1123,4
本文标题:c语言选择结构教案
链接地址:https://www.777doc.com/doc-3818355 .html