欢迎来到天天文库
浏览记录
ID:58700827
大小:138.50 KB
页数:42页
时间:2020-10-04
《第4章_选择结构ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、4第四章选择结构程序设计10/6/202114.0语句的分类C语言将语句(statement)分成以下几类:控制语句函数调用语句空语句表达式语句复合语句10/6/20212if()…else…(条件语句)switch(多分支选择语句)for()…(循环语句)while()…(循环语句)do…while()…(循环语句)continue(结束本次循环语句)break(中止执行switch或循环语句)goto(转向语句)return(从函数返回语句)1.控制语句10/6/202132.函数调用语句函数调用语句由一个函数
2、调用加上一个分号(;)构成。例如:printf(“Hello!”);3.空语句只有一个分号(;)的语句。空语句不执行任何操作。例如:;10/6/202144.表达式语句由C语言的任意合法表达式加上一个分号(;)构成。例如:i++;(使变量的值加1)x+y;(完成x+y操作,但不将其结果赋给某一变量,所以该语句无实际意义);(空语句)printf(“Hello!”);(函数调用语句)函数调用属于表达式的一种,而空语句则是没有任何表达式的语句10/6/202155.复合语句包含在由左花括号{开始,右花括号}结束的一组语
3、句,在逻辑上构成一个整体,称为复合语句。例如:{x=k+t;y=x%5;printf(“yis%d”,y);}任何可以放置语句的地方,都可以放置复合语句10/6/202164.1关系运算符、逻辑运算符、条件运算符本章将着重讨论利用选择控制实现选择结构程序设计。选择控制是指根据指定的条件是否满足,选择下一步要执行的语句。满足为真,不满足为假。对于条件的描述,最为常见的就是关系表达式。其一般形式:4.1.1关系运算符和关系表达式操作数关系运算符操作数每个操作数可以是变量、常量或者是任意有效的C语言表达式。10/6/20
4、217大于a>b大于等于a>=b小于ad相当于(ad,ad为假,整个表达式的值为0k=a+b5、((a+b)<(c+d)),即k=(90<140),即k=1,为变量k赋值1,整个表达式的值为1。10/6/20219字符数据同样可以用关系运算符比较,比较的依据是其所用代码的数值。例如比较ASCII码的字符:表达式‘a’==‘A’的值为0表达式‘A’>‘C’的值为0表达式‘C’<‘a’的值为110/6/202110逻辑运算符将其操作数视为逻辑值,即“真”或“假”。而C语言对于操作数真假的判定采取了如下原则:4.1.2逻辑运算符和逻辑表达式三种逻辑运算符:逻辑非!a逻辑与a&&b逻辑或a6、7、b高低C语言中,任意非零8、值为逻辑值真;零为逻辑值假。10/6/202111逻辑表达式!(5<10)的值为0逻辑表达式(5>10)&&(8<10)的值为0;逻辑表达式(5>10)9、10、(8<10)的值为1。逻辑表达式(5<10)&&(—10)的值为1逻辑表达式!’a’的值为0例如:10/6/202112条件运算符(?)是C语言中惟一的一个三目运算符,其表达式的一般形式:4.1.3条件运算符和条件表达式操作数1?操作数2:操作数3条件表达式的执行过程为:先求解操作数1的逻辑值,如果为非零值——“真”,则求解操作数2,并将操作数2的值作为该条件表11、达式的值;如果为零值——“假”,则求解操作数3,并将操作数3的值作为该条件表达式的值。10/6/202113条件运算符的优先级高于赋值运算符,但低于算术运算符、关系运算符及逻辑运算符。我们来看一个例子:y=x>=60?‘P’:‘F’如果x大于或等于60,则y被赋值‘P’,该表达式的值为‘P’;如果x小于60,则y被赋值‘F’,该表达式的值为‘F’。条件运算符为右结合,即“自右向左”。见p7810/6/202114C语言提供两种选择控制语句:if语句switch语句。4.2选择结构的程序设计所有程序的正常执行次序通常12、都是顺序的。然而,在许多问题的解决方案中,常会根据情况的不同,采取不同的处理方式。10/6/202115if(表达式)语句Aelse语句B4.2.1if语句if语句的一般形式:表达式?语句A语句B真(非0)假(0)10/6/202116else子句,是可选的。当无else子句时的if语句形式为:if(表达式)语句表达式?语句真(非0)假(0)10/6/202
5、((a+b)<(c+d)),即k=(90<140),即k=1,为变量k赋值1,整个表达式的值为1。10/6/20219字符数据同样可以用关系运算符比较,比较的依据是其所用代码的数值。例如比较ASCII码的字符:表达式‘a’==‘A’的值为0表达式‘A’>‘C’的值为0表达式‘C’<‘a’的值为110/6/202110逻辑运算符将其操作数视为逻辑值,即“真”或“假”。而C语言对于操作数真假的判定采取了如下原则:4.1.2逻辑运算符和逻辑表达式三种逻辑运算符:逻辑非!a逻辑与a&&b逻辑或a
6、
7、b高低C语言中,任意非零
8、值为逻辑值真;零为逻辑值假。10/6/202111逻辑表达式!(5<10)的值为0逻辑表达式(5>10)&&(8<10)的值为0;逻辑表达式(5>10)
9、
10、(8<10)的值为1。逻辑表达式(5<10)&&(—10)的值为1逻辑表达式!’a’的值为0例如:10/6/202112条件运算符(?)是C语言中惟一的一个三目运算符,其表达式的一般形式:4.1.3条件运算符和条件表达式操作数1?操作数2:操作数3条件表达式的执行过程为:先求解操作数1的逻辑值,如果为非零值——“真”,则求解操作数2,并将操作数2的值作为该条件表
11、达式的值;如果为零值——“假”,则求解操作数3,并将操作数3的值作为该条件表达式的值。10/6/202113条件运算符的优先级高于赋值运算符,但低于算术运算符、关系运算符及逻辑运算符。我们来看一个例子:y=x>=60?‘P’:‘F’如果x大于或等于60,则y被赋值‘P’,该表达式的值为‘P’;如果x小于60,则y被赋值‘F’,该表达式的值为‘F’。条件运算符为右结合,即“自右向左”。见p7810/6/202114C语言提供两种选择控制语句:if语句switch语句。4.2选择结构的程序设计所有程序的正常执行次序通常
12、都是顺序的。然而,在许多问题的解决方案中,常会根据情况的不同,采取不同的处理方式。10/6/202115if(表达式)语句Aelse语句B4.2.1if语句if语句的一般形式:表达式?语句A语句B真(非0)假(0)10/6/202116else子句,是可选的。当无else子句时的if语句形式为:if(表达式)语句表达式?语句真(非0)假(0)10/6/202
此文档下载收益归作者所有