第4章选择结构程序设计 第一课: 教学内容 学习选择结构程序设计方法, if-else语 句 教学目标: 掌握选择结构程序的流程图的画法,并 会用 if-else语句实现C语言程序 教学重点: i语句中ilse的匹配关系,i语句的 嵌套
第4章 选择结构程序设计 第一课: 一、教学内容: 学习选择结构程序设计方法,if—else语 句。 二、教学目标: 掌握选择结构程序的流程图的画法,并 会用if—else语句实现C语言程序。 三、教学重点: if语句中if—else的匹配关系,if语句的 嵌套
(一)i语句 1、i语句的简单形式 f(表达式) 语句 2、i语句的标准形式 f(表达式 句1 else 语句2 句的执行过程:先判断或计算表达式的值,若结果为 “真”(非0),则执行语句1,否则执行语句2
1、if语句的简单形式 if(表达式) 语句 2、if语句的标准形式 if(表达式) 语句1 else 语句2 语句的执行过程:先判断或计算表达式的值,若结果为 “真”(非0),则执行语句1,否则执行语句2。 (一) if语句
输入任意三个整数numl、num2、num3,求三个数 中的最大值。 main( fint numl, num2, num3, max; printf("Please input three numbers scanf( %od, %od, %od",&numl, &num2, &numb) if (numI>num2 maxmum maxenum2 if(num>max max-num3 printf("The three numbers are: %d%d%d\n"numl num2. num3 printf("max-%odn", max)
例:输入任意三个整数num1、num2、num3,求三个数 中的最大值。 main() {int num1,num2,num3,max; printf("Please input three numbers:"); scanf("%d,%d,%d",&num1,&num2,&num3); if (num1>num2) max=num1; else max=num2; if (num3>max) max=num3; printf("The three numbers are:%d,%d,%d\n",num1,num2,num3); printf("max=%d\n",max); }
程序运行情况如下: Please input three numbers: 11, 22, 18K The three numbers are: 11.22.18 max-22 本例中的第1个证语句,可优化为如下不带else子句的 形式: max=numl if(num2>max)max-num2 这种优化形式的基本思想是:首先取一个数预置为 max(最大值),然后再用max依次与其余的数逐个比较 如果发现有比max大的,就用它给max重新赋值,比较完 所有的数后,max中的数就是最大值。这种方法,对从3 或3个以上的数中找最大值的处理,非常有效。请同学 ]仔细体会
程序运行情况如下: Please input three numbers:11,22,18↙ The three numbers are:11,22,18 max=22 本例中的第1个if语句,可优化为如下不带else子句的 形式: max=num1; if(num2>max) max=num2; 这种优化形式的基本思想是:首先取一个数预置为 max(最大值),然后再用max依次与其余的数逐个比较, 如果发现有比max大的,就用它给max重新赋值,比较完 所有的数后,max中的数就是最大值。这种方法,对从3 个或3个以上的数中找最大值的处理,非常有效。请同学 们仔细体会
例:输入任意三个数numl、num2、num3,按从小到大 的顺序排序输出。 main( fint numI, num2, numb, temp: printf( Please input three numbers. ) scanf(%od, %od, %od,&numl, &num2, &num3) if(numI>num2)(temp=numI; numl=num2 num2=temp;) if (num2>num) temp=num2; num2=numb, num3-=temp; 3 if(numI>num2)(temp=numl; numl=num2; num2=temp, 1 printf("Three numbers after sorted: %od, %od, %\"numl, num2, num3): 序运行情况如下: Please input three numbers: 11.22, 18K Three numbers after sorted: 11.18.22
例:输入任意三个数num1、num2、num3,按从小到大 的顺序排序输出。 main() {int num1,num2,num3,temp; printf("Please input three numbers:"); scanf("%d,%d,%d",&num1,&num2,&num3); if (num1>num2) {temp=num1;num1=num2;num2=temp;} if (num2>num3) {temp=num2;num2=num3;num3=temp;} if (num1>num2) {temp=num1;num1=num2;num2=temp;} printf("Three numbers after sorted: %d,%d,%d\n",num1,num2,num3); } 程序运行情况如下: Please input three numbers:11,22,18↙ Three numbers after sorted: 11,18,22