您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > c语言 程序逻辑_04
SSOFT2011上节课回顾•⑴学习了什么是表达式•⑵学习了赋值运算•⑶学习了逗号运算•⑷学习了算术运算•⑸学习了运算符的优先级•⑹学习了类型的转换SSOFT2011第四章关系、逻辑运算与分支流程结构SSOFT2011本章内容•⑴了解算法的概念•⑵理解关系运算•⑶理解逻辑运算•⑷掌握if语句的使用•⑸掌握switch语句的使用SSOFT2011算法的概念•能够解决指定问题的合乎逻辑的、最简洁的一系列步骤,就称为算法。•算法的图形表示,叫流程图。SSOFT2011流程图•流程图表示算法,直观形象,易于理解。用于画流程图的基本图形如下所示:SSOFT2011直线型流程图SSOFT2011分支型流程图SSOFT2011循环型流程图SSOFT2011关系运算符SSOFT2011关系表达式•若干表达式用关系运算符连接而成,就构成关系表达式。•关系表达式中,关系表达式成立,其值为1(真);关系表达式不成立,其值为0(假)。•其他表达式中,其结果如果是非0则为真,结果为0则为假。•关系运算符的优先级低于算术运算符,高于赋值运算符。SSOFT2011关系运算举例SSOFT2011逻辑运算符•三种逻辑运算符–!(逻辑非)•运算规则:!1=0,!0=1。优先级:高。–&&(逻辑与)•运算规则:1&&1=1,1&&0=0,0&&1=0,0&&0=0。优先级:中–||(逻辑或)•运算规则:0||1=1,1||0=1,0||0=0,1||1=1。优先级:低–其中,“!”单目运算符,其余的都是双目运算符。SSOFT2011逻辑表达式•用逻辑运算符将若干不同类型的表达式连接而成的式子称为逻辑表达式。•逻辑表达式的值也以0和1表示的。表达式成立结果为1,不成立结果为0。SSOFT2011逻辑表达式的求值顺序•优先级从高到低。–!–*/%–+-–==–==!=–&&–||–=•另外使用时必须注意以下几点:–代数中的不等式0x5必须写成(x0)&&(x5)–C语言允许直接对数字或字符进行逻辑运算。•例如:!5,其结果为0.因为在C语言中,非0的值均认为是“真”,而5是个非零值,对非零值求反,即得零值。5&&‘c’,结果为1。因为字符'c'的ASCLL码为非零的整数,非零值与非零值作“与”运算,结果为真。SSOFT2011逻辑运算举例SSOFT2011if语句•用if语句可以构成分支结构。它根据给定的条件进行判断,以决定执行某个分支程序段。C语言的if语句有三种基本形式。SSOFT2011if语句(形式1)if(条件表达式){条件表达式为真时要执行的语句块(分支一语句);}其语义是:–如果表达式的值为真,则执行其后的分支一语句,否则不执行该分支一语句。其过程可表示为下图SSOFT2011形式一举例SSOFT2011if语句(形式2)if(条件表达式){条件表达式为真时要执行的语句块(分支一语句);}else{条件表达式为假时要执行的语句块(分支二语句);}•其语义是:如果表达式的值为真,则执行分支一语句,否则执行分支二语句。其过程可表示为下图:SSOFT2011形式二举例SSOFT2011形式二的替代运算符•条件运算符为?和:,它是一个三目运算符,即有三个参与运算的量。由条件运算符组成条件表达式的一般形式为:–表达式1?表达式2:表达式3•其求值规则为:如果表达式1的值为真,则以表达式2的值作为条件表达式的值,否则以表达式2的值作为整个条件表达式的值。•条件表达式通常用于赋值语句之中。SSOFT2011条件运算符举例SSOFT2011使用条件表达式应注意以下三点:1.条件运算符的运算优先级低于关系运算符和算术运算符,但高于赋值符。因此max=(ab)?a:b可以去掉括号而写为max=ab?a:b2.条件运算符?:是一对运算符,不能分开单独使用。3.条件运算符的结合方向是自右至左。SSOFT2011if语句(形式3)•当有多个分支选择时,可采用if-else-if语句,其一般形式为:if(条件表达式1){条件表达式1为真时要执行的语句块;}elseif(条件表达式2){条件表达式1为假,表达式2为真时要执行的语句块;}elseif(条件表达式3){条件表达式1为假,表达式2为假,表达式3为真时要执行的语句块;}…elseif(条件表达式n){条件表达式1为假,表达式2为假,表达式3为假,…表达式n为真时要执行的语句块;}else{条件表达式1为假,表达式2为假,表达式3为假,…表达式n都为假时才执行的语句块;}SSOFT2011形式3举例SSOFT2011switch语句•C语言还提供了另一种用于多分支选择的switch语句,其一般形式为:switch(表达式){case值1:当表达式的值全等于值1时要执行的语句块;break;case值2:当表达式的值全等于值2时要执行的语句块;break;…case值n:当表达式的值全等于值n时要执行的语句块;break;default:当表达式的值与所有case后面的值都不全等时要执行的语句块;break;}SSOFT2011switch语句举例SSOFT2011使用switch语句时应注意:1.表达式只允许是char或int型;2.在case后的各值只允许是char或int型的常量值,不允许是运算表达式;3.在case后的各值不能相同,否则会出现错误;4.在case后,允许有多条语句,可以不用{}括起来5.各case和default子句的先后顺序可以变动,而不会影响程序执行结果;6.每个语句块后的break都可根据需求而省略不写7.default整句也可根据需求而省略不用。SSOFT2011再看一个switch的例子SSOFT2011再看一个switch的例子SSOFT2011总结•⑴了解算法的概念•⑵学习了关系运算•⑶学习了逻辑运算•⑷学习了if语句的使用•⑸学习了switch语句的使用SSOFT2011作业本作业•简答题中的第4、5题•选择题和其他题在课外去完成,下节课上课前提问。
本文标题:c语言 程序逻辑_04
链接地址:https://www.777doc.com/doc-3080948 .html