1、Teacher teaching designCONTENTS 目 录自主学习 明确考点案例分析 交流提升课后作业 自我提升仿真演练,体验探索自主学习 明确考点PART 01if语句的三种形式单分支结构if(表达式)语句序列格式流程图该if语句执行过程为:当执行到if语句时,先判断其条件表达式,若条件的值为非0即成立为真时,就执行其后所带的语句序列;若条件的值为0时即不成立为假时,则不进行任何操作,然后去执行语句序列后的下一条语句执行过程条件程序段A该if语句执行过程为:先判断if后面的表达式,若条件的值为非0即成立为真时,则执行程序段A,然后跳过else 子句,去执行语句序列1后面的下一条语
2、句;若条件的值为0即不成立为假时,跳过程序段A子句,去执行else所带的程序段B,接着去执行语句序列2后的下一条语句双分支结构if ()else 双分支结构:格式执行过程流程图真假条件程序段A程序段B当if和else下面的语句组,仅由一条语句组成时,也可不使用复合语句形式(即去掉花括号)各程序段可以是简单语句,也可是复合语句else子句是if语句的一部分,必须与if配对使用(采取就近匹配原则),不能单独使用。说明3(1)if后的“条件”一般为关系表达式或逻辑表达式,也可以是任意数值类型,如整型、实型、字符型等。但必须用“()”括起来。只要条件的值为非零值,条件就为真,反之条件为假。说明1说明如
3、果if和else之间的语句不只一条语句时,必须用复合语句形式,即将多条语句用括起来,否则它将只执行后面的第一条语句。特别注意中的每一条语句后都要加“;”但后不能加“;”说明2 案例分析 交流提升PART 02main()int x,y;printf(n Please input x:);scanf(%d,&x );if(x=0)y=x;/*if选择语句,关系式x=0是条件*/else y=-x;printf(y=%d,y);/*输出函数值y*/案例分析 交流提升1 运行结果程序一Please input x:3 y=3 Please input x:-6 y=6 main()int x,y;p
4、rintf(Input a number:);scanf(%d,&x);if(x0)y=-x;printf(The absolute value is%dn,y);Input a number:5 The absolute value is 5 Input a number:-3 The absolute value is 3 运行结果程序二输入数据给xx0TFy=xy=-x输出y的值N-S流程图已知x的值,求绝对值y。x(当 x 0时)y=-x (当x 0 时)对任意两个数,求出最大的一个数题目1采用假设法,把x先赋给变量max(假设x是最大数),再用if语句判别max和y的大小,如max小
5、于y,再把y赋给max。所以max中总是大数。算法分析2案例分析 交流提升2main()int x,y,max;printf(Please input two numbers:);scanf(%d%d,&x,&y);max=x;if(maxy)max=y;printf(max=%d,max);输入数据给x,ymax=xmaxy)/*设 max是x和y中大的哪个*/max=x;else max=y;printf(max=%d,max);题目流程输入数据给x,yxyTFmax=xmax=y输出max的值N-S流程图案例分析 交流提升4从键盘输入一个整数,判断这个数是奇数还是偶数题目运行结果该事件有
6、两种情形:奇数或偶数,可采用双分支结构进行,奇偶的判别由数学定义可知凡是能被2整除的数称为偶数,否则称为奇数;针对这点就可采用“%”方法作为判断,如果余数为0则为偶数,否则为奇数。算法分析 main()int num,k;printf(Input a number for test:);scanf(%d,&num);k=num%2;if(k=0)printf(The number is even number.);else printf(The number is odd number.);算法程序Input a number for test:15 The number is odd.Inp
7、ut a number for test:30 The number is even.仿真演练 体验探索PART 03#include main()float a,b,t;scanf(”f,f”,&a,&b);if(ab)t=a;a=b;b=t;printf(”5.2f,5.2f”,a,b);运行时从键盘输入3.8和-3.4,则正确的输出结果是()。A)-3.40,-3.80 B)-3.40,3.80仿真演练 体验探索1C)-3.4,3.8 D)3.80,-3.40对下述程序,()是正确的判断。#include main()int x,y;scanf(”d,d”,&x,&y);if(xy)x=
8、y;y=x;else x+;y+;printf(”d,d”,x,y);若输入数据3和4,则输出4和5若输入数据4和3,则输出3和4若输入数据4和3,则输出4和4ABCD仿真演练 体验探索2有语法错误,不能通过编译ABC0以下程序的输出结果是()#include main()int a=2,b=-1,c=2;if(ab)if(b0)c=0;else c+=1;printf(%dn,c);21D仿真演练 体验探索33ABCD3456仿真演练 体验探索4运行以下程序如果从键盘输入5,则输出结果是()#include main()int x;scanf(%d,&x);if(x-5)printf(%d,x);else printf(%d,x+);1 0以下程序的输出结果是()#include main()int a=-1,b=1,k;if(+a0)&!(b-=0)printf(%d%dn,a,b);else printf(%d%dn,b,a);-1 1数据输入格式0 10 0课后作业 自我提升PART 04【2】从键盘上输入一个字符,把小写字母,转换成大写字母,否则原样输出。【1】上机演练各程序,并写好实习报告。课后作业 自我提升:123【3】编写程序,编程判断某年是否为闰年,。闰年的条件是符合下面二者之一:能被4整除,但不能被100整除;能被4整除,也能被400整除。