欢迎来到天天文库
浏览记录
ID:51991963
大小:379.84 KB
页数:66页
时间:2020-03-27
《C语言程序设计流程控制语句.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C语言程序设计第四章流程控制语句实际工作中,顺序结构是不能满足程序设计要求的,因为大量的实际问题需要通过流程的控制来解决的。例如:如果明天气温高于35c,,我将去游泳,否则在家看看电视。或我将做作业直到晚上十点。从程序结构上看,就是通过循环结构和选择结构来实现的。if语句的三种形式§4-1选择结构语句4.1.1if语句程序设计过程中,常常需要根据某一条件是否满足来判断做或者不做某件事。这种结构在c中是通过if语句实现的。if语句的三种形式(1)形式一:If(表达式)语句说明:表达式通常为关系表达式或逻辑表达式,两边的括号必不可
2、少,当语句不止一句的时候,可以使用一组括号把他们组成复合语句。例如:If(x>y)printf(“%d”,x);否表达式语句真否流程图执行过程:先计算表达式的值,如果表达式的值为非零,则执行语句;如果值为零,则跳过if语句执行其后续语句。例4.1一个猜字游戏程序。程序运行时,要求游戏者从键盘输入一个数,如果猜对了,屏幕显示“**Right**”;否则屏幕不显示任何信息。举例#includemain(){intmagic=123;intguess;printf(“Enteryourguess:");scanf(
3、“%d",&guess);if(guess==magic)printf(“**Right**");}if语句的三种形式(2)形式二:If(表达式)语句1else语句2例如:If(x>y)printf“%d”,x);Elseprintf(“%d”,y);真(非0)假(0)表达式成立吗?语句序列1语句序列2执行过程:先计算表达式的值,如果表达式的值为非零,则执行语句1后跳过语句2而执行后续语句;如果值为零,则跳过语句1执行语句2。注意:1.c语言每条语句必须以分号结束,因此else之前有一分号,整个语句结束处有一分号。例:if
4、(a>b)printf(“%d”,a);elseprintf(“%d”,b);正确if(a>b)printf(“%d”,a)elseprintf(“%d”,b);错误2.语句1与语句2不能同时执行。例4.2将例4.1程序中的if语句改成if-else语句,如果游戏者猜对了,就显示”**Right**”,若猜错了,就显示“**Wrong**”。举例#includemain(){intmagic=123;intguess;printf("Enteryourguess:");scanf("%d",&guess);i
5、f(guess==magic)printf("**Right**");elseprintf("**Wrong**");}if语句的三种形式(3)形式三:if(表达式1)语句1;elseif(表达式2)语句2;elseif(表达式3)语句3;……..elseif(表达式n)语句序列n;else语句序列n+1;这种形式可以实现多分支选择的功能,既在多种条件下的不同分支中选择一个分支来执行。它的执行过程为:若表达式1的值为真(非零),则执行语句1;否则,若表达式2的值为真,则执行语句2;…….若上述表达式的值都为0时,执行语
6、句n+1.以下为流程图:例如:表达式1成立吗?真(非0)语句序列1语句序列2真(非0)语句序列3真(非0)语句序列n真(非0)表达式2成立吗?假(0)表达式3成立吗?假(0)表达式n成立吗?…假(0)语句序列n+1假(0)…if(x>0)y=1;elseif(x==0)y=0;elsey=-1;例4.3例4.2再扩充,即当游戏者猜错时,屏幕除显示“**Wrong**”外,还告诉游戏者是猜大了还是猜小了。举例#includemain(){intmagic=123;intguess;printf("Enteryo
7、urguess:");scanf("%d",&guess);if(guess==magic)printf("**Right**");elseif(guess>magic)printf("**Wrong**Toohigh**")elseprintf("**Wrong**Toolow**");}说明:以上三种格式中的表达式一般为关系表达式或逻辑表达式只要表达式的结果不为0,系统就认为该表达式成立;相反表达式的结果为0,系统认为该表达式不成立。例如:if(a==b&&x==y)printf(“a=b,x=y”);
8、系统对表达式的值进行判断,若为真,按非零处理,执行指定的语句;若为假,按零处理。如:if(3)printf(“ok.”)表达式的值为3,按真处理,是合法的,执行结果输出“ok.”由此可见.在C语言中它也可以是任意的数值表达式。(包括整型,字符型,实型,指针型)。在每个表达式之
此文档下载收益归作者所有