欢迎来到天天文库
浏览记录
ID:51970053
大小:120.50 KB
页数:23页
时间:2020-03-26
《谭浩强全套配套课件C程序设计教程 C演示文稿04.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章语句结构—顺序结构和选择结构本章要点:●掌握顺序语句结构的组成、特点和应用。●掌握选择语句结构的三种形式及其嵌套使用。●掌握switch结构的使用。4.1概述语句结构对提高程序质量至关重要。在第1章中我们已经知道组成C程序的主要成分是函数,而函数主要由语句组成。C语言中有各种各样的语句,从结构化程序设计的角度,主要可分顺序语句结构(简称顺序结构)、选择语句结构(简称选择结构)和循环语句结构(简称循环结构)。本章先讲顺序结构和选择结构。24.2顺序语句结构C语言中的顺序语句结构主要由表达式语句、说
2、明语句、输入输出语句、空语句和复合语句组成。C语言中语句以分号“;”为结束标志。因此只要有分号的地方就有一个语句,不管它前面是否有内容。1.表达式语句任何表达式后面加分号就成为表达式语句。如y=a+b*c/d;/*赋值表达式语句*/x*=668+p;/*复合赋值表达式语句*/a=15,b=64,c=46;/*逗号表达式语句*/i++;/*算术表达式语句*/32.说明语句变量的定义和函数的说明后面也加分号,统称说明语句(C语言中的说明语句只可出现在程序可操作语句的前面)。如doublex,y[8],*p
3、;/*变量和指针说明语句*/intadd(int,int);/*函数(第7章)说明语句*/3.输入输出语句常用的有格式输入/出语句:scanf(“%d”,&a);printf(“%15.3f”,b);输入/出一个字符串语句:gets(p);puts(p);输入/出一个字符语句:getchar();putchar(ch);程序暂仃语句:getch();44.空语句空语句是一种不执行任何操作的语句,它的特点是分号前没有内容,只有一个分号本身。如;/*空语句*/5.复合语句用一对大括号将两条或两条以上语
4、句括起来组成一个复合语句,在C语言中相当于一条语句。如利用中间变量t交换两变量x和y的值,可写成复合语句:{t=x;x=y;y=t;}复合语句又称块语句。复合语句可以嵌套使用。若复合语句中包含一条或多条说明语句,那么这个复合语句又称分程序,或称块结构。讲解例4.1和例4.2,其中例4.2是使用分程序的例子。5设计者经常用图示的方法来表达程序设计中的语句结构,目前流行的有“常用流程图”和由美国学者I.Nassi和B.Shneiderman提出的“N-S流程图”。用这两种方法表达顺序语句结构如图4.1所示
5、,其中(a)为常用流程图,(b)为N-S流程图。(a)(b)图4.1顺序语句结构流程图图中的“块”,可代表一条语句或几条语句,也可代表复杂的分程序(块结构),块结构里面还可包含C语言中的其它语句结构。图中只画了2块,根据实际需要可以按顺序画上更多模块。a块b块a块b块64.3选择语句结构4.3.1概述C语言提供的选择语句结构是实现结构化程序设计的基本成分之一,它是根据“条件”判断的结果决定程序执行的流向,因此该结构也称判断结构。其中“条件”是一个表达式。程序执行的流向是根据表达式值是“非0”还是“0”
6、来决定的。非0代表条件为“真”(成立);0代表条件“假”(不成立)。因为条件只有两个状态,程序执行的流向也只可能有两个选择,所以这种结构也称二分支结构。该结构是以关键字if开头,因此也简称它为“if结构”。if结构有三种形式:简单的if结构;if_else结构;if_else_if结构。此外,本节还讲述一个由选择结构派生出来的多分支结构(switch结构)。74.3.2简单的if结构这种结构可以写成:if(表达式)语句这里的“表达式”就是决定程序流向的“条件”,当表达式的值为非0(逻辑“真”)时执行“
7、语句”,否则(表达式的值为0,即逻辑“假”)不执行“语句”,而程序直接进入该结构的下一句继续执行。这里的“语句”可以是简单语句,也可以是复合语句。此结构的执行过程如图4.3所示。8(a)常用流程图(b)N-S流程图图4.3简单if结构流程图(讲解例4.3)表达式语句真假表达式真假语句94.3.3if_else语句结构if_else语句结构是if结构的第二种形式,这种形式可以写成:if(表达式)语句1else语句2当表达式的值为非0(逻辑“真”)时,执行语句1,否则(逻辑“假”)执行语句2。这里的语句1
8、和语句2可以是简单句,也可以是复合句。该语句的执行过程如图4.4所示。10表达式语句2语句1非00表达式真假语句1语句2(a)常用流程图(b)N-S流程图图4.4if_else语句结构流程图(讲解例4.4、例4.5和例4.6)11If_else结构中语句不多时,用一个条件表达式语句来替代,形式也很简洁,如要求a,b两整数比较大的那个数,用if_else结构可写成:if(a>b)printf(“%d”,a);elseprintf(“%d”,b);用条件表达
此文档下载收益归作者所有