C课件第05讲(05级)

上传人:我*** 文档编号:142089640 上传时间:2020-08-16 格式:PPT 页数:28 大小:409KB
返回 下载 相关 举报
C课件第05讲(05级)_第1页
第1页 / 共28页
C课件第05讲(05级)_第2页
第2页 / 共28页
C课件第05讲(05级)_第3页
第3页 / 共28页
C课件第05讲(05级)_第4页
第4页 / 共28页
C课件第05讲(05级)_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《C课件第05讲(05级)》由会员分享,可在线阅读,更多相关《C课件第05讲(05级)(28页珍藏版)》请在金锄头文库上搜索。

1、if语句 switch语句 条件运算符,第五讲,Begin:,第四章 选择结构程序设计,4.1 用if语句实现选择结构,4.1.1 if语句的三种形式,格式一: 单分支结构 if ( ) 语句A ;,语句执行过程: 先判断条件(表达式),若条件成立,就执行语句A;否则,直接执行if后面的语句。该结构的流程图如右图所示。,例:if (grade =60) printf(“Pass n”);,注意:单分支结构只有在条件为真时,才执行给定的操作,如果条件为假,则不执行任何操作。,1)条件均为逻辑表达式或关系表达式,也可以是任意的数值类型。,2)语句可以是单语句,也可以是复合语句。 注意:在复合语句

2、外不需再加分号 。,例:if (3) printf(O. K.n); if (q) printf(%dn,a); if (3x a=b; b=t; ,说明:,例:键盘输入一个整数,输出该数的绝对值。,main () int shu; printf(请输入一个整数%d:n); scanf(%d, shu ); if ( shu 0 ) shu = -shu; printf(“该数的绝对值为: %d。n, shu ); ,4.1 用if语句实现选择结构,格式二: 双分支结构 if ( ) 语句A ; else 语句B ;,注意: else子句是if语句的一部分,它不能作为语句单独使用,必须与if配

3、对使用。,4.1 用if语句实现选择结构,语句执行过程: 先判断条件(表达式),若条件成立,就执行语句A;否则,执行语句B。即一定会执行语句A和语句B中的一句,且只能执行其中的一句。该结构的流程图如右图所示。,例:if (grade =60) printf(“Pass n”); else printf(“Failure”);,例 : 计算,void main ( ) float x, y; printf(送数%f: n); scanf(%f, ,4.1 用if语句实现选择结构,例: 任意输入两个不相等的数,将大数放入X, 小数放入Y中。,算法: 1.定义变量 2.给变量赋初值 3.比较x、y,

4、 若xy, 交换两数 4.输出x、y,分析:两数比较,要么xy, 直接输出;要么xy,两数交换。,4.1 用if语句实现选择结构,程序: main( ) int x, y, t; printf(n请输入两个整数%d%d:); scanf(%d%d, ,格式三:多分支结构 if () 语句1 ; else if () 语句2 ; else if ()语句n-1 ; else 语句n ;,4.1 用if语句实现选择结构,语句执行过程: 先判断条件1(表达式1),若条件1成立,就执行语句1后,退出该if结构;否则,再判断条件2(表达式2),若条件2成立,则执行语句2后,退出该if结构;否则,再判断条

5、件3(表达式3),若条件3成立,则执行语句3后,退出该if结构;。,例 : 计算,4.1 用if语句实现选择结构,程序: #include void main() float x,y; printf(送数%f :n); scanf(%f, ,例2:if ( a0 ) if ( b0 ) printf(%d,%dn, a, b); else printf(%dn, a); else if ( b0 ) printf(%dn, b); else printf(n);,在if语句中又包含有一个或多个if语句称为if语句的嵌套。 请说出以下两段程序的功能:,例1:if ( a0 ) if ( b0 )

6、 printf(%d,%dn, a, b);,如果a,b都是正数,则输出a,b,输出a,b中的正数,4.1 用if语句实现选择结构,4.1.2 if语句的嵌套,为避免错误可用 将内嵌结构括起来以确定if与else的配对关系属内嵌范围。,说明: 嵌套不允许交叉。,else与if必须成对出现,且else总是与最近的一个未配对的if配对。,4.1 用if语句实现选择结构,例 :读程序。,main( ) int a=2, b=1, c=2; if (a) if ( b0 ) c=0; else c+ ; printf(%dn,c); ,main( ) int a=2, b=1, c=2; if (a)

7、 if (b0) c=0; else c+ ; printf(%dn,c); ,程序运行结果: 3,程序运行结果: 2,4.1 用if语句实现选择结构,例:任意输入三个整数,找出其中最大的整数。,4.1 用if语句实现选择结构,程序 :,main( ) int a, b, c, max ; printf (”请输入三个整数:%d%d%dn”); scanf( %d%d%d, ,4.1 用if语句实现选择结构,switch语句的格式:,switch(表达式) case :语句1;break; case :语句2;break; case :语句n-1;break; default :语句n ; b

8、reak; ,4.2 用switch语句实现多分支选择结构,说明: 表达式:可以是整型表达式,或字符表达式,或枚举表达式。 case常量表达式():case也是关键字。常量表达式应与switch后的表达式类型相同,且各常量表达式的值不允许相同。 语句:可省略,或为单语句,或为复合语句。 default:关键字,可省略,也可出现在switch语句体内的任何位置。,4.2 用switch语句实现多分支选择结构,break语句,格式: break; 功能:强迫终止程序的执行,即提前退出程序的执行。 用法:只能用在switch语句和循环体中。,4.2 用switch语句实现多分支选择结构,switch

9、语句执行过程:,执行: 若表达式 = 常量表达式, 则执行语句; 若表达式 != 常量表达式, 则执行default开始的(语句); 若程序中无default开始的语句, 则程序语句switch相当于一个空程序(语句)。,计算:计算表达式的值。,判断:表达式的值与常量表达式的值是否相等。,4.2 用switch语句实现多分支选择结构,注意:,表达式及常数表达式(由常数、符号常量组成的表达式)必须为整型,故它们也可用字符表达式。,case后的常数表达式的值不允许相同。,4.2 用switch语句实现多分支选择结构,switch语句中若没有default分支,则当找不到与表达式相匹配的的常量表达式

10、时,不执行任何操作。,例:x=3; switch ( x ) case 0 :printf(“Ture!”) case 1 : printf(“False); 该switch语句不执行任何操作,多个case可以共同使用一个语句序列,4.2 用switch语句实现多分支选择结构,例:switch(n) case 1 : case 3 : case 5 : case 7 : case 9 :printf(”奇数 n”); break ; case 0 : case 2 : case 4 : case 6 : case 8 :printf(”偶数 n”); break ; 该switch语句中,当n

11、=1,3,5,7,9时,输出“奇数”; 当n=0,2,4,6,8时,输出“偶数”;,例: 输入一个02的数。,main( ) int x; printf(请输入一个02的整数: ); scanf(%d, ,程序运行结果: 请输入一个02的整数:1 输入1。 输入2。 输入错误!,4.2 用switch语句实现多分支选择结构,例: 编程,计算 y 的值。,4.2 用switch语句实现多分支选择结构,#include math.h void main ( ) float x , y ; int m ; printf( 请输入 05 之间的数%fn ); scanf( %f, ,4.2 用swit

12、ch语句实现多分支选择结构,程序 :,例:任意输入两个数,和一个运算符(加、减乘、除),要求输出它们的运算结果。,4.2 用switch语句实现多分支选择结构,程序如下: #include stdio.h void main ( ) float shu1, shu2, jieg; char yunsf; printf(”请输入运算符 + - * /:n”); yunsf = getchar ( ); printf(”请输入两个数 %f%fn”); scanf(%f%f, ,switch ( yunsf ) case + : jieg = shu1 + shu2 ; break; case -

13、: jieg = shu1 - shu2 ; break; case * : jieg = shu1 * shu2 ; break; case / : jieg = shu1 / shu2 ; break; default : printf( 运算符输入错误 !n ); printf(jieg = %.2f n, jieg ); ,说明: 左图为条件表达式的流程图。 各表达式的类型可不同。,条件运算符( ? : ) 三目运算符,运算优先级为13,右结合性。,条件表达式:由条件运算符构成的表达式。,形式: ?,4.3 用条件表达式实现选择结构,例:读下列程序,写出运行结果。,main ( ) i

14、nt a=1, b=1, c=1; a += b; b += c; c += a; printf(1)%dn, ab?a:b ); printf(2)%dn, ac?a-:c+); (a=b=c)? printf(an):printf(bn); printf(4)%d, %d, %dn, a, b, c ); ,程序运行结果: (1)2,(2)3,b,(4)2, 2, 4,4.3 用条件表达式实现选择结构,例:读下列程序,写出运行结果。 ab?a:cd?c:d 其中a=1,b=2,c=3,d=4.,运行结果为:4. 该表达式等价于ab?a:(cd?c:d),例:用条件运算符表达3个数a , b , c中的大数。,思路1:先求两个数b,c中的大数:bc?b:c,再求两个数a,(b,c)中的大数:a(bc?b:c)?a:(bc?b:c),思路2:ab?是,则让a与c比较;否,则让b与c比较,ab? (a c ? a : c) : ( b c ? b : c),4.3 用条件表达式实现选择结构,The End,上机实验内容: 熟悉 if , switch和逗号语句; 实验教程第4章 选择结构程序设计:实验1(1)、实验2(1)、实验3(1),

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号