《第4章顺序和选择结构程序设计精选文档.ppt》由会员分享,可在线阅读,更多相关《第4章顺序和选择结构程序设计精选文档.ppt(29页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第4 4章章 顺序和选择结构顺序和选择结构程序设计程序设计本讲稿第一页,共二十九页北京邮电大学出版社北京邮电大学出版社4.1 C语句概述语句概述C语言是通过语句向计算机系统发出操作指令的。C语句可以分为以下5类:1表达式语句表达式语句即由一个表达式构成的语句。在一个表达式后面加上分号就可以构成一个表达式语句。2函数调用语句函数调用语句即由一次函数调用加上一个分号构成的一个语句。3空语句。空语句。即只有一个分号的语句。4复合语句。复合语句。由一对大括号括起来若干条语句,在语法上可以将它们理解为一条复合语句。本讲稿第二页,共二十九页北京邮电大学出版社北京邮电大学出版社4.1 C语句概述语句概述5
2、流程控制语句。流程控制语句。是C语言中规定的实现流程控制的语句。C语言中共有9种流程控制语句,它们是:Fif()else(条件语句)Ffor()(循环语句)Fwhile()(循环语句)Fdo while()(循环语句)Fcontinue(结束本次循环)Fbreak(中止执行switch或循环语句)Fswitch(多分支选择语句)Fgoto(无条件转向语句)Freturn(从函数返回语句)本讲稿第三页,共二十九页北京邮电大学出版社北京邮电大学出版社4.2 算法基本知识算法基本知识算法是解决某一问题的方法和步骤。程序实际上就是用计算机语言描述的算法。一算法的特性和要素一算法的特性和要素1算法的特性
3、:算法的特性:F有穷性F可行性F确定性F输入。一个算法可以有0个或多个输入。F输出。一个算法必须产生一个或多个输出。本讲稿第四页,共二十九页北京邮电大学出版社北京邮电大学出版社4.2 算法基本知识算法基本知识2算法的要素:算法的要素:F操作,即构成算法的操作取自哪个操作集。计算机操作主要包括:算术运算、关系运算、逻辑运算、函数运算、位运算及I/O操作等。F控制结构,即如何控制算法中的各操作的执行顺序。本讲稿第五页,共二十九页北京邮电大学出版社北京邮电大学出版社4.2 算法基本知识算法基本知识二算法的描述二算法的描述对于算法的描述有很多种方法,如自然语言、流程图、计算机语言和伪代码等,其中使用最
4、广泛的是流程图。1传统的流程图传统的流程图 起止框 输入输出框 判断框 处理框 或 流程线 连接点 注释框本讲稿第六页,共二十九页北京邮电大学出版社北京邮电大学出版社4.2 算法基本知识算法基本知识2N-S流程图流程图 AB顺序结构条件成立不成立AB分支结构当条件成立A当型循环结构直到条件成立A直到型循环结构本讲稿第七页,共二十九页北京邮电大学出版社北京邮电大学出版社4.3 顺序结构程序设计顺序结构程序设计顺序结构是这三种结构中最简单的一种,通常的处理流程是先输入参数,然后完成相应的计算和处理,最后输出结果。例:输入摄氏温度C的值,计算华氏温度F的值。(计算公式为:F9*C/5+32)main
5、()float c,f;printf(Please input c:);scanf(%f,&c);f=9*c/5+32;printf(f=%6.2fn,f);本讲稿第八页,共二十九页北京邮电大学出版社北京邮电大学出版社4.4 关系运算与逻辑运算关系运算与逻辑运算一关系运算一关系运算1 关系运算符关系运算符关系运算符用于两个数据量之间的比较,C语言中关系运算符有以下6种:、=、=、!=关系运算结果是一个逻辑值,只有“真”和“假”两种情况。在C语言中规定:逻辑值“真”用1表示,逻辑“假”用“0”表示。本讲稿第九页,共二十九页北京邮电大学出版社北京邮电大学出版社4.4 关系运算与逻辑运算关系运算与逻
6、辑运算2关系表达式关系表达式用关系运算符将两个表达式连接起来的式子,称为关系表达式。本讲稿第十页,共二十九页北京邮电大学出版社北京邮电大学出版社4.4 关系运算与逻辑运算关系运算与逻辑运算3关系运算符的优先级关系运算符的优先级C语言规定,6种关系运算符之间的优先级顺序为:(1)前四种关系运算符(、=)的优先级相同,后两种关系运算符(=、!=)的优先级相同。(2)前四种的优先级高于后两种。关系运算符与其它运算之间的优先级顺序:算术运算符 高关系运算符赋值运算符 低本讲稿第十一页,共二十九页北京邮电大学出版社北京邮电大学出版社4.4 关系运算与逻辑运算关系运算与逻辑运算4关系运算符的结合方向关系运
7、算符的结合方向6种关系运算符的结合方向都是从左到右。本讲稿第十二页,共二十九页北京邮电大学出版社北京邮电大学出版社4.4 关系运算与逻辑运算关系运算与逻辑运算二逻辑运算二逻辑运算1逻辑运算符逻辑运算符C语言中有三种逻辑运算符:F&逻辑与F 逻辑或F!逻辑非参加逻辑运算的数据量可以是任何类型,但将它们看作是逻辑值,具体规定如下:F非0为真F0为假本讲稿第十三页,共二十九页北京邮电大学出版社北京邮电大学出版社4.4 关系运算与逻辑运算关系运算与逻辑运算逻辑运算的结果也是一个逻辑值,规定:F逻辑值“真”用1表示F逻辑“假”用0表示逻辑运算的真值表逻辑运算的真值表 aB!aa&ba|b0011 010
8、1 110000010111本讲稿第十四页,共二十九页北京邮电大学出版社北京邮电大学出版社4.4 关系运算与逻辑运算关系运算与逻辑运算2逻辑表达式逻辑表达式用逻辑运算符连接的表达式称为逻辑表达式。3逻辑运算符的优先级逻辑运算符的优先级C语言规定,逻辑运算符之间的优先级从高到低的顺序是:!(逻辑非)、&(逻辑与)、|(逻辑或)本讲稿第十五页,共二十九页北京邮电大学出版社北京邮电大学出版社4.4 关系运算与逻辑运算关系运算与逻辑运算3逻辑运算符的优先级逻辑运算符的优先级C语言规定,逻辑运算符之间的优先级从高到低的顺序是:!(逻辑非)、&(逻辑与)、|(逻辑或)运算符的优先级:!(非)高算术运算符关
9、系运算符&和赋值运算符 低本讲稿第十六页,共二十九页北京邮电大学出版社北京邮电大学出版社4.4 关系运算与逻辑运算关系运算与逻辑运算4逻辑运算符的结合方向逻辑运算符的结合方向C语言规定,逻辑运算符的结合方向是:!结合方向为:从右到左&结合方向为:从左到右|结合方向为:从左到右本讲稿第十七页,共二十九页北京邮电大学出版社北京邮电大学出版社4.4 关系运算与逻辑运算关系运算与逻辑运算三程序中对条件的描述三程序中对条件的描述程序设计时,若要进行条件判断,应该用正确的逻辑表达式或条件表达式来描述。本讲稿第十八页,共二十九页北京邮电大学出版社北京邮电大学出版社4.5 if 语句语句一一if语句的基本形式
10、语句的基本形式if语句的基本形式是:if(表达式)语句1;else 语句2;该语句执行过程为:若表达式的值为“真”时,则执行语句1;否则,执行语句2。本讲稿第十九页,共二十九页北京邮电大学出版社北京邮电大学出版社4.5 if 语句语句一一if语句的基本形式语句的基本形式说明:F表达式部分用来描述判断的条件,语法上可以是任意类型的表达式,结果为“0”,则表示“假”,结果为“非0”,则表示“真”。表达式部分最常用的形式是一个逻辑表达式或条件表达式。F语句1和语句2部分都只能是一条语句,这条语句可以是一个复合语句,或是空语句。F为了养成良好的编程习惯,一般采用缩进对齐的格式书写,即将语句1和语句2缩
11、进对齐,将关键字if和else对齐。本讲稿第二十页,共二十九页北京邮电大学出版社北京邮电大学出版社4.5 if 语句语句二缺省二缺省else结构的结构的if语句语句在基本的if语句结构中,若在条件不成立时什么也不用做,可以使用C语言中缺省else结构的if语句:if(表达式)语句;缺省else结构的if语句的执行过程为:若表达式的值为“真”时,则执行语句;否则,执行下一条语句。本讲稿第二十一页,共二十九页北京邮电大学出版社北京邮电大学出版社4.6 if语句的嵌套语句的嵌套 一个if语句中又包含一个或多个if语句的现象称为if语句的嵌套。if语句的基本形式的“语句1”部分或“语句2”都可以嵌套另
12、一个if语句,在缺省else结构的if语句中的“语句”部分也可以嵌套另一个if语句。在if语句嵌套的结构中一定要注意else与if之间的对应关系。在C语言中规定的对应原则是:else总是与它前面最近的一个未匹配的if相匹配。本讲稿第二十二页,共二十九页北京邮电大学出版社北京邮电大学出版社4.7 条件运算符条件运算符若if语句中,在表达式为“真”和“假”时,且都只执行一个赋值操作给同一个变量赋值时,可以用条件运算来处理,这样可以使程序更简捷。条件运算符是三目运算符。条件表达式的一般形式为:表达式1?表达式2:表达式3条件表达式的执行过程是:先求表达式1的值,若表达式1的值为非0则求解表达式2,且
13、表达式2的值为整个条件表达式的值:若表达式1的值为0则求解表达式3,且表达式3的值为整个条件表达式的值。条件运算符的优先级低于关系运算符和算术运算符,高于赋值运算符。本讲稿第二十三页,共二十九页北京邮电大学出版社北京邮电大学出版社4.8 switch 语句语句switch语句也可以实现多分支的选择。switch语句的一般形式如下:switch(表达式)case 常量表达式1:语句1;case 常量表达式2:语句2;case 常量表达式n:语句 n;default:语句 n+1;本讲稿第二十四页,共二十九页北京邮电大学出版社北京邮电大学出版社4.8 switch 语句语句switch语句的执行过
14、程为:语句的执行过程为:首先计算switch后面括号内的表达式,然后从下到下按顺序与各个case后面的常量表达式的值进行比较,若与某一个常量表达式的值相匹配,就选择这个标号作为入口,开始向下执行,以后不再作条件匹配的判断。若不能与所有的常量表达式匹配,则选择default这个标号开始向下执行。本讲稿第二十五页,共二十九页北京邮电大学出版社北京邮电大学出版社4.8 switch 语句语句switch语句的几点说明:Fswitch后面括号内可以是任何类型的表达式。F每个case后面的常量表达式必须互不相同,否则就会出现互相矛盾的现象。F各个case和default的出现次序不影响执行结果。F可以让
15、多个case共用一组执行语句。本讲稿第二十六页,共二十九页北京邮电大学出版社北京邮电大学出版社4.9 选择结构程序设计举例选择结构程序设计举例例:输入三角形的三个边长,求三角形的面积。例:求一个任意的一元二次方程ax2+bx+c=0的解。例:设某公司的业务员工资计算办法为:工资=基本工资+提成。其中提成办法为:当销售额在1万元以下时,只发基本工资1000元,当销售额在1万元以上才可以拿提成,提成的比率为:当销售额2万元以下时,超出1万元的部分可按5%提成。当销售额在2万元以上5万元以下时,超出2万元的部分可按6%提成,当销售额在5万元以上10万元以下时,超出5万元的部分可按7%提成,当销售额在
16、10万元以上时,超出10万元的部分可按8%提成。输入一个业务员的销售额,计算他应发的工资额。本讲稿第二十七页,共二十九页北京邮电大学出版社北京邮电大学出版社本章小结本章小结1简单介绍了C语言的基本语句,重点应注意掌握空语句和复合语句的作用。2简单介绍了算法的基本特点及常用的描述方法,读者应掌握传统流程图和N-S流程图这二种流程图的画法。3详细介绍了关系运算符和关系表达式,逻辑运算符和逻辑表达式。读者应掌握这些运算符的运算规则、优先级,掌握用这些关系表达式或逻辑表达式来描述日常生活中的判断条件。4详细介绍了用if语句来实现选择结构程序设计的方法,用if语句的嵌套实现多分支结构的程序设计方法。其中if语句的嵌套是本章学习的难点。5还介绍了用switch语句实现多分支结构程序设计的方法。应注意在switch语句中通常应配合使用break语句。本讲稿第二十八页,共二十九页北京邮电大学出版社北京邮电大学出版社习题参考答案习题参考答案3写出下面各逻辑表达式的值(1)0(2)1(3)1(4)0(5)1本讲稿第二十九页,共二十九页