资源描述:
《关系逻辑运算符和流程控制PDF.pdf》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、第四章关系逻辑运算符和流程控制陈燕晖湖南科技大学计算机科学与工程学院2017年12月22日第四章关系逻辑运算符和流程控制4.1流程控制4.2关系运算符与相等性运算符4.3选择语句之一–if语句4.4逻辑运算符与逻辑表达式4.5if与多分支选择语句4.6跳转语句之一goto4.7while循环4.8for循环4.9OJ的基本输入-计算a+b4.10控制结构的嵌套4.11跳转语句之二break语句4.12数组4.14do-while循环4.15选择语句之二switch语句4.16跳转语句之三continue语句4.17编程风格2/694.1流程控制流程(flow)是指程序语句的执行次序分为非结
2、构化(goto语句)和结构化两类结构化流程有三类控制结构顺序(Sequence),按语句的排列顺序依次执行选择(Selection),多个语句序列只能择一执行循环(Iteration),语句序列可以重复执行0次或多次3/69C语言的各种语句1.expression-statement(表达式语句)2.selection-statement(选择语句)ifelseswitch等3.labeled-statement(标号语句)case,default等4.compound-statement(复合语句)block-item-listopt5.iteration-statement(循环语句)
3、forwhiledo…while6.jump-statement(跳转语句)gotocontinuebreakreturn4/694.2关系运算符与相等性运算符关系运算符(Relationaloperators)>、>=、<、<=用于比较大小它们的结合规则都是从左到右。关系运算级别较算术运算级别低关系运算符将两个表达式连接起来形成关系表达式.关系运算结果为整型,当关系成立(真)时,其值为1.不成立(假)时,其值为0。相等性运算符(Equalityoperator)==和!=用于判断相等==经常被初学者误写为=相等性运算符类似于关系运算符,但优先级别较低.5/69关系运算符与相等性运算符示例
4、举例:inti,a=5,b=3,c=2;a==b结果为0(假)a!=b结果为1(真)a>b>c结果为0(假)a>i>2值与i有关?a>=b结果为1(真)6/694.3选择语句之一–if语句4.3.1单分支选择示例:求绝对值if(表达式)#include语句intmain(void){intx;scanf("%d",&x);if(x<0)x= x;printf("%d",x);return0;}7/694.3.2双分支选择if(表达式)示例:判定奇偶语句1#includeelseintmain(void)语句2{intn;scanf("%d",&n);
5、if(n%2==1)printf("odd");elseprintf("even");return0;}8/69if示例—输入整数a和b,a小于b则两者交换1//错误的//正确的2#include#include3intmain(void)intmain(void)4{{5inta,b,t;inta,b;6scanf("%d%d",&a,&b);scanf("%d%d",&a,&b);7if(a6、t;12return0;}13}printf("%d%d",a,b);14//输入35,结果53return0;15//输入53,结果3随机值}9/69block及if语句的要求块(block)把声明和语句组织起来,语法上等同于一条语句。if语句,while等循环语句均是block。大括号fg被用来把声明和语句组织起来成为一个复合语句.复合语句是block.if语句(以及循环语句)要求其所属的子语句也是block。如果多条语句被if,else,while或for所作用,则必须用大括号括起。变量可在任何的块内说明,其可见范围也仅限于块内。10/69闰年判断#include7、>if(year%4==0){intmain(void)if(year%100!=0){printf("Yes");intyear;else{scanf("%d",&year);if(year%400==0)printf("Yes");elseprintf("No");}}elseprintf("No");return0;}11/69闰年判断—利用标记leap#includeleap=0