C语言程序设计教案 。选择结构程序设计(一) 说明 内容1.关系运算符和关系表达式 2.逻辑运算符和逻辑表达式 条件运算符及条件表达式 4.IF语句 重点1.关系运算符和关系表达式 2.逻辑运算符和逻辑表达式 3.条件运算符及条件表达式 4.IF语句的格式使用 难点复杂条件的表示:IF语句的正确使用。 问题前几讲已经介绍了顺序结构,但大多程序中都会有根据所指定的条 提出件是否满足,在两组操作中选择执行其一的操作。此时仅用顺序结 构是无法满足用户要求的。 详细 关系运算符和关系表达式 内容1.关系运算符: 操作符 作用 大于 大于等于 小于 小于等于 等于 不等于 2.关系表达式 由关系运算符将两个表达式连接起来的式子,称关系表达式。举例说明 逻辑运算符和逻辑表达式 1.逻辑运算符 && 逻辑与 逻辑或 逻辑非 2.逻辑表达式 用逻辑运算符将关系表达式或逻辑量连接起来的式子就是逻 辑表达式。 3.逻辑运算符的优先级 &&→‖ 条件运算符及条件表达式 1.条件运算符 C语言中唯一的一个三目运算符 2.条件表达式 形式:表达式1?表达式2:表达式3 说明: 条件运算符的执行顺序 条件运算符优先于赋值运算
C 语言程序设计教案 选择结构程序设计(一) 说明 内容 1.关系运算符和关系表达式 2.逻辑运算符和逻辑表达式 3.条件运算符及条件表达式 4.IF 语句 举例说明 重点 1.关系运算符和关系表达式 2.逻辑运算符和逻辑表达式 3.条件运算符及条件表达式 4.IF 语句的格式使用 难点 复杂条件的表示;IF 语句的正确使用。 问题 提出 前几讲已经介绍了顺序结构,但大多程序中都会有根据所指定的条 件是否满足,在两组操作中选择执行其一的操作。此时仅用顺序结 构是无法满足用户要求的。 详细 内容 一、关系运算符和关系表达式 1.关系运算符: 操作符 作用 > 大于 >= 大于等于 < 小于 <= 小于等于 = = 等于 != 不等于 2.关系表达式: 由关系运算符将两个表达式连接起来的式子,称关系表达式。 二、逻辑运算符和逻辑表达式 1.逻辑运算符 && 逻辑与 || 逻辑或 ! 逻辑非 2.逻辑表达式 用逻辑运算符将关系表达式或逻辑量连接起来的式子就是逻 辑表达式。 3.逻辑运算符的优先级 ! → && → || 三、条件运算符及条件表达式 1.条件运算符 ? : C 语言中唯一的一个三目运算符。 2.条件表达式 形式:表达式 1?表达式 2:表达式 3 说明: ·条件运算符的执行顺序 ·条件运算符优先于赋值运算符
C语言程序设计教案 运算符的结合方向为“自右至左” 表达式1的类型可与表达式2和表达式3的类型不同 四、IF语句 在C中条件语句的一般形式为 if(表达式) 语句1; else 语句2 执行过程如下: 如果表达式的值为非0TURE)即真,则执行语句1,执行完语句1 从语句2后开始继续向下执行;如果表达式的值为0 FALSE)即假,则 跳过语句1而执行语句2。然后程序继续往下执行。所谓表达式是指 任何合法的C语言表达式 注意 注意1.条件执行语句中“else语句2;”部分是选择项可以缺省,此时条 件语句变成 if(表达式)语句1; 表示若表达式的值为非0则执行语句1,否则跳过语句1继续往 下执行。 如果语句1或语句2有多于一条语句要执行时,必须使用"{"和"} 把这些语句包括在其中,此时条件语句形式为 if(表达式 (语句体1;} else 语句体2,} 、举例说明 例1:计算y的值 x+1 >1 X< main() printf("请输入x:") scanf (" %f,& +1 else printf x=%6. 2f, y=%6. 2f\n",x, y)
C 语言程序设计教案 注意 ·运算符的结合方向为“自右至左” ·表达式 1 的类型可与表达式 2 和表达式 3 的类型不同。 四、IF 语句 在 C 中条件语句的一般形式为: if(表达式) 语句 1; else 语句 2; 执行过程如下: 如果表达式的值为非 0(TURE)即真, 则执行语句 1, 执行完语句 1 从语句 2 后开始继续向下执行; 如果表达式的值为 0(FALSE)即假, 则 跳过语句 1 而执行语句 2。然后程序继续往下执行。所谓表达式是指 任何合法的 C 语言表达式。 注意: 1. 条件执行语句中“else 语句 2;”部分是选择项, 可以缺省, 此时条 件语句变成: if(表达式) 语句 1; 表示若表达式的值为非 0 则执行语句 1 , 否则跳过语句 1 继续往 下执行。 2. 如果语句 1 或语句 2 有多于一条语句要执行时, 必须使用"{"和"}" 把这些语句包括在其中, 此时条件语句形式为: if(表达式) { 语句体 1; } else {语句体 2;} 五、举例说明 例 1:计算 y 的值 main( ) { float x; float y; printf(″请输入 x: ″); scanf(″%f″, &x); if (x>1) y=x+1; else y=x- 1; printf(″x=%6.2f, y=%6.2f\n″, x, y); } 1 1 1 1 + − x x x x y=
C语言程序设计教案 例2从键盘接收两个数,求两个数中的最大值、最小值 main() float max, min printf 请输入两个数 scanf %f, %f,&x, &y) max-x In-v ax-y printf (max=%6. 2f, min=%6 2f\n", max, min) 例3输入三个整数,按大小顺序输出 程序如下: #include <stdio. h> man I int a, b scanf(“%d,%d,%d”,&a,&b,&c) if (a<b) a=b: b= f(a<c) I temp=a: a=c c=temp: 1 if (b<c) te c-temp printf(“%4d,%d,%4d”,a,b,c) 总结本讲对关系运算符和关系表达式、逻辑运算符和逻辑表达式做了详细 的论述:并对条件运算符及条件表达式:通过对上面的论述,可以得 到对选择结构条件的建立。用IF语句对选择结构来得到实现,IF语 句的格式及其应用
C 语言程序设计教案 总结 例 2 从键盘接收两个数, 求两个数中的最大值、最小值 main( ) { float x, y; float max, min; printf(″请输入两个数 x, y: ″); scanf(″%f, %f″, &x, &y); if (x>y) { max=x; min=y; } else { max=y; min=x; } printf(″max=%6.2f, min=%6.2f\n″, max, min); } 例 3 输入三个整数,按大小顺序输出 程序如下: #include <stdio.h> main() { int a,b,c,temp ; scanf(“%d,%d,%d”,&a,&b,&c) ; if (a<b) { temp=a; a=b ; b=temp ; } if (a<c) { temp=a; a=c ; c=temp ; } if (b<c) { temp=b; b=c ; c=temp ; } printf(“%4d ,%4d ,%4d” ,a,b,c) ; } 本讲对关系运算符和关系表达式、逻辑运算符和逻辑表达式做了详细 的论述;并对条件运算符及条件表达式;通过对上面的论述,可以得 到对选择结构条件的建立。用 IF 语句对选择结构来得到实现,IF 语 句的格式及其应用
C语言程序设计教案 选择结构程序设计(二) 兑明 内容|1.i语句的嵌套 2. switch语句 重点1.i语句的嵌套方法 2. switch语句的应用条件使用方法 难点复杂条件的表示:i和 switch语句的正确使用。 问题前面讲了关于两选一的操作,那么多种选择怎么实现呢? 提出 详细 if语句的嵌套 内容 条件语句可以嵌套,这种情况经常碰到,但条件嵌套语句容易 出错,其原因主要是不知道哪个if对应哪个 else 可用阶梯式if-else-if结构 条件 条件 条件 语句 语句2语句3语句4 举例说明 三层阶梯式if语句执行流程图 阶梯式结构的一般形式为 if(表达式1) 语句1; else if(表达式2) 语句2; else if(表达式3) 语句3; Is 语句 这种结构是从上到下逐个对条件进行判断,一旦发现条件满足 就执行与它有关的语句,并跳过其它剩余阶梯;若没有一个条件满 足,则执行最后一个clse语句n。最后这个else常起着"缺省条件的 作用
C 语言程序设计教案 选择结构程序设计(二) 说明 内容 1.if 语句的嵌套 2.switch 语句 举例说明 重点 1.if 语句的嵌套方法 2.switch 语句的应用条件使用方法 难点 复杂条件的表示;if 和 switch 语句的正确使用。 问题 提出 前面讲了关于两选一的操作,那么多种选择怎么实现呢? 详细 内容 一、if 语句的嵌套 条件语句可以嵌套, 这种情况经常碰到, 但条件嵌套语句容易 出错,其原因主要是不知道哪个 if 对应哪个 else。 可用阶梯式 if-else-if 结构。 三层阶梯式 if 语句执行流程图 阶梯式结构的一般形式为: if(表达式 1) 语句 1; else if(表达式 2) 语句 2; else if(表达式 3) 语句 3; . else 语句 n; 这种结构是从上到下逐个对条件进行判断, 一旦发现条件满足 就执行与它有关的语句, 并跳过其它剩余阶梯; 若没有一个条件满 足, 则执行最后一个 else 语句 n。最后这个 else 常起着"缺省条件的 作用。 条 件 11 条 件 2 条 件 333 语句 1 语句 2 语句 3 语句 4
C语言程序设计教案 同样,如果每一个条件中有多于一条语句要执行时,必须使用 "{"和"}"把这些语句包括在其中 例1编程计算函数值 0 main() 本题的解法很 float y 多,请读者自 printf("请输入x:") 己设计一种解 重点 f(x<0) printf x=%. 4f, y=%5. 2f\n", x, y) h语句 引入:虽然语句的规则嵌套可以实现多分支的选择但不够直 观简洁特别是在分支较多的情况下,f语句的嵌套层次也会更深增 加了理解的难度,也不便于修改和扩充。多分支选择的 switch语句 能够解决多分支选择问题更加方便有效。 具体输入几个 常量表达式 数据作为讲解 常量 其他 常量2常量n 示例应包括几 语句1语句2 语句n语句n+1 个方面 switch语句执行流程图
C 语言程序设计教案 重点 同样, 如果每一个条件中有多于一条语句要执行时, 必须使用 "{"和"}"把这些语句包括在其中。 例 1 编程计算函数值 main( ) { float x; float y; printf(″请输入 x: ″); scanf(″%f″, &x); if (x<0) y=-1; else if (x=0) y=0; else y=1; printf(″x=%8.4f, y=%5.2f\n″, x, y); } 二、switch 语句 引入:虽然 if 语句的规则嵌套可以实现多分支的选择,但不够直 观简洁,特别是在分支较多的情况下,if 语句的嵌套层次也会更深,增 加了理解的难度,也不便于修改和扩充。多分支选择的 switch 语句, 能够解决多分支选择问题更加方便有效。 switch 语句执行流程图 本题的解法很 多,请读者自 己设计一种解 法。 具体输入几个 数据作为讲解 示例 示例应包括几 个方面 常量表达式 语句 1 语句 2 …… 语句 n 语句n+1 常量 1 其他 常量 2 常量 n = − 0 1 1 y 0 0 0 = x x x