资源描述:
《结构化程序设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第三章结构化程序设计C语言是结构化程序设计语言。(P68)1.顺序结构2.选择结构3.循环结构BAAPY(非0)N(0)BAP我们以前介绍的程序,全是顺序结构的程序main(){inta,b,temp;scanf("%d%d",&a,&b);temp=a;a=b;b=temp;printf("%d,%d",a,b);}例:if语句是最常用的选择形式例:if(x>=0)y=1;elsey=-1;3.3选择结构程序设计y=1(x≥0)-1(x<0)例:常见的数学式:参见书本P75格式。一、最基本
2、的if语句说明:1.条件表达式的值为1或0,必须用()括住2.若有多条语句(复合语句)时,用{}括住。if(条件表达式)语句;if(条件表达式){语句;语句;……}if(x<0)x=-x;注意:(条件表达式)后不要加;练习:将该程序书写完整。例:编程实现,从键盘输入一个数,转换成绝对值输出。参见书本P76例3.5。二、if-else语句if(条件表达式)语句;else语句;例:if(x>y)max=x;elsemax=y;参见书本P79例3.8。练习:编程实现,从键盘输入一个字符,如果是
3、字母,则输出对应的ASCII码,否则,输出“#”。main(){chara;scanf("%c",&a);if()printf(“",a);elseprintf("#");}练习:编程实现,从键盘输入一个字符,如果是字母,则输出对应的ASCII码,否则,输出“#”。a>='A'&&a<='Z'
4、
5、a>='a'&&a<='z'%d三、if语句的嵌套在if语句的if或else部分均可再嵌套if语句,可多重嵌套。例试分析以下程序的作用#includemain(){intx,y
6、;printf("Enterintegerx,y:");scanf("%d%d",&x,&y);if(x!=y){if(x>y)printf("X>Y");elseprintf("XYEnterintegerx,y:12,12X==Ymain(){intx,y;scanf(“%d”,&x);printf(“x=%d,y=%d”,
7、x,y);}y=1(x>0)0(x=0)-1(x<0)例:将数学式用程序表示将程序补充完整。补充:关于if条件表达式的值:只取真或假,所有的非零值表示真,零值表示假例:整型变量a是偶数,则输出“yes”,否则输出“no”。if(a%2==0)printf(“yes”);elseprintf(“no”);if(!(a%2))printf(“yes”);elseprintf(“no”);if(a%2)printf(“no”);elseprintf(“yes”);三、条件运算符形式:表
8、达式1?表达式2:表达式3例if(a>b)printf(“%d”,a);elseprintf(“%d”,b);printf(“%d”,a>b?a:b);含义:判断表达式1的值,若为真,则取表达式2结果,否则,则取表达式3结果例if(x>=0)y=1;elsey=-1;x>=0?y=1:y=-1;或y=(x>=0?1:-1);思考:上题后半部分改为,若不能整除,则输出距该数最近的能被7整除的数。例:从键盘上接收一个数,若数能被7整除,则输出该数,若不能整除,则输出刚好大于该数的能被7整除的数。思
9、考:输入的数为a,输出的数为t。若整除,t即为a,若不整除,t>a如:a=27,t=28a=22,t=28???t是怎么得到的???main(){inta,t;scanf(“%d”,&a);t=a;if(a%7)t=a+7-a%7;printf(“a=%d,t=%d”,a,t);}main(){charc;c=‘a’;while(c<=‘z’){printf(“%c,”,c);c=c+1;}}引入:上机实践报告-2中一道题,输出小写英文字母。循环结构APY(非0)N(0)打
10、印;c+1;c<=‘z’YN循环的关键字:while循环的条件:c<=‘z’用圆括号括起来。循环体:printf(“%c,”,c);c=c+1;用大括号括起来。3.4循环结构程序设计一、while结构格式:while(条件表达式)循环体语句P85说明:1.先判断表达式,后执行循环体。2.通常表达式由变量组成,称为循环控制变量。循环控制变量的值在循环体内实时发生变化。3.循环过程中表达式的值必须发生变换,当归0时,退出循环。while(c<=‘z’){printf(“%c,”,c);c=c