文档详情

《C语言程序设计基础与实训教程》第4章:选择结构程序设计.ppt

发布:2017-06-17约1.11万字共42页下载文档
文本预览下载声明
第3章最简单的C程序设计 (时间:4次课,8学时) 第四章 选择结构程序设计 学习目的与要求: 通过前面章节的学习,已经看到了,语句的执行是按照书写的顺序执行的,这种结构称为“顺序结构”。但程序的执行并不一定是按照语句序列的书写顺序执行的。结构化程序设计方法规定程序的基本结构有三种,即顺序结构、选择结构和循环结构。在大多数的程序中都会遇到根据给定的条件来决定是否执行、如何执行等情况,这就涉及到使用选择结构设计程序。 本章主要介绍关系运算符和关系表达式、逻辑运算符和逻辑表达式、if语句、switch语句。要求掌握关系运算符和关系表达式的定义和使用;掌握逻辑运算符和逻辑表达式的定义和使用;掌握if语句和switch语句的定义和使用。 第四章 选择结构程序设计 4.1 关系运算符和关系表达式 4.2逻辑运算符和逻辑表达式 4.3 if语句 4.4 switch语句 4.5 程序举例 4.6上机实训 4.1 关系运算符和关系表达式 所谓“关系运算”实际上就是“比较运算”,即将两个数据进行比较,判定两个数据是否符合给定的关系。 例如,“a b”中的“”表示一个大于关系运算。如果a的值是5,b的值是3,则大于关系运算“”的结果为“真”,即条件成立;如果a的值是2,b的值是3,则大于关系运算“”的结果为“假”,即条件不成立。 4.1.1 关系运算符 在程序中经常需要比较两个量的大小关系,以决定程序下一步的工作。比较两个量的运算符称为关系运算符。在C语言中有以下关系运算符: 小于 = 小于或等于 大于 = 大于或等于 = = 等于 != 不等于 关系运算符都是双目运算符,其结合性均为左结合。关系运算符的优先级低于算术运算符,高于赋值运算符。在六个关系运算符中,,=,,=的优先级相同,高于= =和!=,= =和!=的优先级相同。 注意 在C语言中,“等于”关系运算符是双等号“= =”,而不是单等 号“=”(赋值运算符)。 4.1.2 关系表达式 关系表达式的一般形式为: 表达式 关系运算符 表达式 例如:a+bc-d,x3/2,a+1c,-i-5*j==k+1;都是合法的关系表达式。由于表达式也可以又是关系表达式。因此也允许出现嵌套的情况,例如:a(bc),a!=(c= =d)等。 由于C语言没有逻辑型数据,所以用整数“1”表示“逻辑真”,用整数“0”表示“逻辑假”。如:50的值为“真”,即为1。(a=3)(b=5)由于35不成立,故其值为假,即为0。 例如,假设num1=3,num2=4,num3=5,则: (1)num1num2的值=0。 (2)(num1num2)!=num3的值=1。 (3)num1num2num3的值=1。 (4)(num1num2)+num3的值=6,因为num1num2的值=1,1+5=6。 4.1.2 关系表达式 【例4.1】 main( ) {char c=k; int i=1,j=2,k=3;float x=3e+5,y=0.85; printf(%d,%d\n,a+5c,-i-2*j=k+1); printf(%d,%d\n,1j5,x-5.25=x+y); printf(%d,%d\n,i+j+k= =-2*j,k= =j= =i+5); } 运行结果: 1,0 1,1 0,0 在本例中求出了各种关系运算符的值。字符变量是以它对应的ASCII码参与运算的。对于含多个关系运算符的表达式,如k= =j= =i+5,根据运算符的左结合性,先计算k= =j,该式不成立,其值为0,再计算0= =i+5,也不成立,故表达式值为0。 4.2逻辑运算符和逻辑表达式 关系表达式只能描述单一条件,例如“x=0”。如果需要描述“x=0”、同时“x10”,就要借助于逻辑表达式了。 4.2.1 逻辑运算符 C语言提供三种逻辑运算符: 逻辑与(相当于“同时”) || 逻辑或(相当于“或者”) ! 逻辑非(相当于“否定”) 例如,下面的表达式都是逻辑表达式: (x=0) (x10) ,(x1) || (x5), ! (x= =0),(year%4= =0)(year%100!=0)||(year%400= =0) 与运算符和或运算符||均为双目运算符。具有左结合性。非运算符!为单目运算符,具有右结合性。逻辑运算符和其它运算符优先级的关系可表示如下: !(非) → (与) → ||(或) !→ 算术运算 → 关系运算 → → || → 赋值运算 按照运算符的优先顺序可以得出: ab cd等价于(ab) (cd) !b= =c||da等价于((!b)= =c)||(da) a+bc x+yb等价于((a+b)c)
显示全部
相似文档