c语言 第二章 程序的流程控制.pptx
《c语言 第二章 程序的流程控制.pptx》由会员分享,可在线阅读,更多相关《c语言 第二章 程序的流程控制.pptx(35页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第二章第二章 程序的流程控制程序的流程控制2.1 选择(分支)结构选择(分支)结构2.1.1 关系运算符与逻辑运算符关系运算符与逻辑运算符C的关系运算符如下的关系运算符如下:大于大于=大于等于大于等于 小于小于=99 返回返回1 10(2+10)返回返回0 2.0 算法的表示算法的表示2.1 算法的概念算法的概念 算法是对特定问题求解步骤的一种描述,也是算法是对特定问题求解步骤的一种描述,也是解决问题的办法解决问题的办法,它是,它是指令的有限序列,其中每一条指令表示一个或多个操作。指令的有限序列,其中每一条指令表示一个或多个操作。u自然语言自然语言u流程图流程图uN-S图图u伪代码伪代码uPA
2、D图图2.2 算法的表示算法的表示2.0 算法的表示算法的表示起止框起止框处理框处理框判断框判断框输入输输入输出框出框流程线流程线连接点连接点注释框注释框2.2 算法的表示算法的表示-流程图流程图2.0 算法的表示算法的表示程序的三种基本结构程序的三种基本结构1.顺序结构顺序结构2.2 算法的表示算法的表示-流程图流程图AB流程图流程图2.0 算法的表示算法的表示程序的三种基本结构程序的三种基本结构2.2 算法的表示算法的表示-流程图流程图2.选择序结构选择序结构PAB真真假假2.0 算法的表示算法的表示程序的三种基本结构程序的三种基本结构2.2 算法的表示算法的表示-流程图流程图3.循环序结
3、构循环序结构1.1.当型当型(whilewhile型型)循环结构循环结构2.2.直到型直到型(untiluntil型型)循环结构循环结构PA假假真真AP真真假假2.0 算法的表示算法的表示2.1 选择(分支)结构选择(分支)结构2.1.1 关系运算符与逻辑运算符关系运算符与逻辑运算符C的逻辑运算符如下的逻辑运算符如下:!逻辑非逻辑非&逻辑与逻辑与|逻辑或逻辑或 例如例如:!1&0!1&0 先求先求!1 和先求和先求 1&0 将会等于出不同的结果将会等于出不同的结果,那么何者优先呢那么何者优先呢?这在这在C中是有中是有规定的规定的 C的部分运算符的优先级如下的部分运算符的优先级如下:表达式表达式
4、 优先级优先级 ()()(小括号小括号)(数组下标数组下标).(结构成员结构成员)-(指针型结构成员指针型结构成员)最高最高 !(逻辑非逻辑非)(位取反位取反)-(负号负号)+(加加1)-(减减1)&(变量地址变量地址)*(指针所指内容指针所指内容)sizeof sizeof(长度计算长度计算)*(乘乘)/(除除)%(取模取模)+(加加)-(减减)(位右移位右移)(小于小于)=(大于大于)=(大于等于大于等于)=(等于等于)!=!=(不等于不等于)&(位与位与)(位异或位异或)|(位或位或)&(逻辑与逻辑与)|(逻辑或逻辑或)?:?:(?表达式表达式)=+=-=+=-=(联合操作联合操作),(
5、逗号运算符逗号运算符)最低最低 2.1 选择(分支)结构选择(分支)结构2.1.2 if()else结构结构C中条件语句的一中条件语句的一 般形式为般形式为:if(表达式表达式)语句语句1;else 语句语句2;上述结构表示上述结构表示:如果表达式的值为非如果表达式的值为非0(truetrue)即真即真,则执行语句则执行语句1,执行完语句执行完语句1从语句从语句2后开始继续向下执行后开始继续向下执行;如果表达式的值为如果表达式的值为0(falsefalse)即假即假,则跳过语句则跳过语句 1而而执行语句执行语句2。所谓表达式是指关系表达式和逻辑表达式的结合式所谓表达式是指关系表达式和逻辑表达式
6、的结合式。注意注意:1.条件执行语句中条件执行语句中“else 语句语句2;”部分是选择项部分是选择项,可以缺省可以缺省,此时条件此时条件语句语句 变成变成:if(表达式表达式)语句语句1;表示若表达式的值为非表示若表达式的值为非0则执行语句则执行语句1,否则跳过语否则跳过语句句1继续执行。继续执行。2.如果语句如果语句1或语句或语句2有多于一条语句要执行时有多于一条语句要执行时,必须使用必须使用和和 把把这些这些 语句包括在其中语句包括在其中,此时条件语句形式为此时条件语句形式为:if(if(表达式表达式表达式表达式)语句体语句体语句体语句体1;else 1;else 语句语句语句语句体体体
7、体2;2;2.1 选择(分支)结构选择(分支)结构2.1.2 if()else结构结构注意注意:if(表达式表达式)语句体语句体1;else 语句体语句体2;3.条件语句可以嵌套条件语句可以嵌套,这种情况经常碰到这种情况经常碰到,但条件嵌套语句容易出错但条件嵌套语句容易出错,其原因主要是不知道哪个其原因主要是不知道哪个if对应哪对应哪个个else。例如例如:if(x 20|x -10)if(y x)printf(Good);else printf(Bad);对于上述情况对于上述情况,C规定规定:else语句与最近的一个语句与最近的一个if语句匹配语句匹配,上例上例 中的中的else与与if(y
8、 x)相匹相匹配。为了使配。为了使else与与if(x 20|x 20|x -10)if(y x)printf(Good);else printf(Bad);2.1 选择(分支)结构选择(分支)结构2.1.2 if()else2.1.2 if()else结构结构结构结构例例2.1 符号函数符号函数int main(void)float x;int y=-1;printf(“input x:”);scanf(“%f”,&x);if(x!=0)if(x0)y=1;elseprintf(“nx=%6.2f,y=%dn”,x,y);f(x)=1 (x0)0 (x=0)-1 (x0)?(x+):(x-)
9、相当于相当于if(x0)a=x+;elsea=x-;2.1 选择(分支)结构选择(分支)结构2.1.2 if()else2.1.2 if()else结构结构结构结构例例2.2 数据分段处理,数据分段处理,049为为 A 段,段,50119为为 B 段,段,120169为为 C 段段int main(void)int y;char result;printf(“input y:”);scanf(“%d”,&y);if(y=0&y=50&y=120&y 170)result=C;elseresult=D;printf(“n result=%c”,y);2.1 选择(分支)结构选择(分支)结构2.1
10、.3 switch2.1.3 switch结构结构结构结构 在编写程序时在编写程序时,经常会碰到按不同情况分转的多路经常会碰到按不同情况分转的多路问题问题,这时可用嵌套这时可用嵌套if-else-fi语句来实现语句来实现,但但if-else-if语句使用不方便语句使用不方便,并且容易出错。对这种情并且容易出错。对这种情 况况,C提供提供了一个开关语句。了一个开关语句。开关语句格式为开关语句格式为:switch(变量变量)case 常量常量1:语句语句1或空或空;case 常量常量2:语句语句2或空或空;.case 常量常量n;语句语句n或空或空;default:语句语句n+1或空或空;2.1
11、选择(分支)结构选择(分支)结构 执行执行switchswitch开关语句时开关语句时,将变将变量逐个与量逐个与casecase后的常量进行比较后的常量进行比较,若与其中一若与其中一 个相等个相等,则执行该常则执行该常量下的语句量下的语句,若不与任何一个常量若不与任何一个常量相等相等,则执行则执行default default 后后 面的语面的语句。句。注意注意:1.1.switchswitchswitchswitch中变量可以是数值中变量可以是数值,也也可以是字符。可以是字符。2.2.可以省略一些可以省略一些casecasecasecase和和defaultdefaultdefaultdef
12、ault。3.3.每个每个 casecasecasecase 或或defaultdefaultdefaultdefault后的语句后的语句可以是语句体可以是语句体,但不需要使用但不需要使用和和括起括起 来。来。2.1.3 switch结构结构下例的下例的 switch switch 中变量为整数型。中变量为整数型。例例 2.3 int main(void)int test;for(test=0;test=10;test+)switch(test)/*变量为整型数的开关语句变量为整型数的开关语句*/case 1:printf(%dn,test);break;/*退出开关语句退出开关语句*/cas
13、e 2:printf(%dn,test);break;case 3:printf(%dn,test);break;default:puts(Error);break;switch中变量也可为字符中变量也可为字符2.1 选择(分支)结构选择(分支)结构2.2 循环结构循环结构forfor语句的一般形式为语句的一般形式为:forfor(表达式(表达式1 1;表达式;表达式2 2;表达式;表达式3 3)循环体循环体 它的执行过程如下:它的执行过程如下:(1)(1)先求解表达式先求解表达式1 1;(2)(2)求解表达式求解表达式2 2,若其值为真(非,若其值为真(非0 0),则执行),则执行forfo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c语言 第二章 程序的流程控制 语言 第二 程序 流程 控制
限制150内