1、本章目录 3.1 任务说明 3.2 任务分析 3.3 任务实施 3.4 知识点详解3.4.1 关系运算符和关系表达式3.4.2 逻辑运算3.4.3 程序的三种基本结构3.4.4 单分支if语句3.4.5 双分支ifelse语句3.4.6 多分支ifelse if语句3.4.7 if语句的嵌套 3.5 项目完善3.1 任务说明任务描述:编写是login函数,实现计算器的密码验证功能。任务要求:(1)在进入计算器主菜单前,加入一个输入密码的提示。(2)根据提示输入一个整数密码。(3)如果密码输入正确,则允许进入计算器主菜单,如果输入不正确,提示“密码输入错误”,不显示主菜单。3.2 任务分析 实现
2、口令验证模块,需要以下几个步骤:(1)输入一个口令。(2)判断该口令是否正确,如果正确,显示菜单部分,如果不正确,提示不正确。实现以上步骤,要考虑到下面两个问题:(1)如何判断输入的口令与所预设的口令(比如123)是否匹配。(2)根据口令的匹配情况给出相应的用户回馈信息。3.3 任务实施 口令验证模块的N-S图。3.4 知识点详解3.4.1 关系运算符和关系表达式3.4.2 逻辑运算3.4.3 程序的三种基本结构3.4.4 单分支if语句3.4.5 双分支ifelse语句3.4.6 多分支ifelse if语句3.4.7 if语句的嵌套3.4.1关系运算符和关系表达式 1.1.关系运算符关系运
3、算符关系运算符都是双目运算符,其功能是用来对两个操作数的大小进行比较。运算符运算符意义意义举例举例小于ab=小于或等于c大于bc=大于或等于b=o=等于c=b!=不等于c!=l03.4.1 关系运算符和关系表达式 2.2.关系表达式关系表达式关系运算符组成的关系表达式的值是逻辑值,即“真”或“假”。例如,a5的值要么是真,要么是假,取决于a的值。如果a值为8,则a5为真。在C语言中没有逻辑类型的量,规定“真”用1表示,“假”用0表示。于是,a5值为1。这里的1就是数字1。例如,表达式“(a5)+2”是合法的,其值为3。3.4.2 逻辑运算 逻辑运算符是用来对操作数进行逻辑操作的。单目的逻辑运算
4、符:“!”表示逻辑求反或逻辑非,如,!(a+b)、!q、!9等。双目的逻辑运算符:“&”表示逻辑与,即对两个操作数进行逻辑求与。例如,a&b、3&0、7&a等。“|”表示逻辑或,即对两个操作数进行逻辑求或。例如,(a+b)|c、6|(c+d)、5|7等。3.4.3 程序的三种基本结构 C语言中,有一组相关的控制语句,用以实现选择结构与循环结构。选择控制语句:ifif、switch-caseswitch-case循环控制语句:forfor、whilewhile、do.whiledo.while转移控制语句:breakbreak、continuecontinue、gotogoto3.4.4 单分支
5、if语句 语法格式语法格式if(if(条件表达式条件表达式)语句体语句体;其语义为:如果条件表达式的值为真(非0),则执行语句体,否则跳过语句体继续执行其后面的语句。语句体可以包括零条、一条或多条语句。3.4.4单分支if语句 流程图 N-S图3.4.5 双分支ifelse语句 语法格式语法格式if(if(条件表达式条件表达式)语句体语句体1;1;elseelse 语句体语句体2;2;其语义为:如果表达式的值为真(非0)时,则执行语句体1,否则执行语句体2。3.4.5 双分支ifelse语句 流程图 N-S图3.4.6 多分支ifelse if语句 语法格式语法格式if(if(表达式表达式1)
6、1)语句体语句体1;1;else if(else if(表达式表达式2)2)语句体语句体2;2;else if(else if(表达式表达式3)3)语句体语句体3;3;else if(else if(表达式表达式n)n)语句体语句体n;n;else else 语句体语句体n+1;n+1;其语义为:如果表达式1的值为真(非0)时,则执行语句体1;否则如果表达式2的值为真(非0)时,则执行语句体2;否则如果表达式3的值为真(非0)时,则执行语句体3;.;否则条件表达式n的值为真(非0)时,则执行语句体n;否则执行语句体n+1。3.4.6 多分支ifelse if语句 流程图3.4.6 多分支ife
7、lse if语句 N-S图3.4.7 if语句的嵌套 语法格式语法格式if(if(表达式表达式)if(if(表达式表达式)语句体语句体;else else 语句体语句体;elseelseif(if(表达式表达式)语句体语句体;else else 语句体语句体;在C语言中允许使用if.else嵌套实现多分支选择结构,也就是在if或else子句中包含if.else.语句的情况。3.5 项目完善(1)在calculator.c文件中的divide()函数中,按照N-S图进行更新该模块的功能。在输入number1和number2之后使用ifelse语句来完成除数为零的判定,改进除法模块中除数为零的问题。(2)在主函数中调用divide()函数。本章总结 关系运算符和关系表达式 逻辑运算 程序的三种基本结构 单分支if语句 双分支ifelse语句 多分支ifelse if语句 if语句的嵌套