第4章 选择结构程序设计.ppt_第1页
第4章 选择结构程序设计.ppt_第2页
第4章 选择结构程序设计.ppt_第3页
第4章 选择结构程序设计.ppt_第4页
第4章 选择结构程序设计.ppt_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1,第4章 选择结构程序设计 4.1 关系运算符和关系表达式,2,一、关系运算符 大于 =大于或等于 =等于 !=不等于,3,算术运算符,关系运算符,赋值运算符,高,低,4,二、关系表达式 用关系运算符连接起来的式子,称为关系表达式 a + b c - d相当于(a + b) (c - d) a = b c相当于a = (b c),5,关系表达式的值是“真”或“假”,由于C语言没有逻辑型数据 用数值 1 代表“真” 用数值 0 代表“假”,6,int a = 1, b = 2, c = 3;,关系表达式,真/假,值,a b,(a b) != c,a + b c,c b a,7,4.2 逻辑运算

2、符和逻辑表达式 一、逻辑运算符 ,逻辑表达式,!a,a int flag; flag = (m = a b) ,18,使用逻辑表达式来表示数学中的区间x(80,90) x 80 printf(Input a number: ); scanf(%d, ,23,在if后面可以只含一个内嵌的操作语句,也可以有多个操作语句,此时要用花括号将它们括起来,形成一个复合语句,24,输入两个整数,要求按由小到大的顺序输出,25,#include void main() int a, b, t; scanf(%d, %d, ,26,二、if-else语句 if (表达式) 语句1 else 语句2 语句 1 和

3、语句 2 可以是一条语句,也可以是用花括号括起的复合语句,27,判断某一年是否为闰年 闰年的条件是符合下面二者之一: 能被4整除,但不能被100整除,如2008 能被400整除,如2000 对应的逻辑表达式: (year % 4 = = 0 printf(Input the year: ); scanf(%d, ,29,在if-else语句中,如果语句1是一条语句,则必须在其后加分号 if (x 0) printf(OK!); else printf(ERROR!); 但是,不要误认为上面是两个语句(if语句和else语句),它们都属于同一个if语句 else子句不能作为语句单独使用,它必须是

4、if语句的一部分,与if配对使用,30,if 语句允许嵌套,即if语句中的执行语句又是if语句 if (表达式)if (表达式) if 语句if 语句 else if 语句,31,if (表达式1) if (表达式2) 语句1 else 语句2 C语言规定,else总是与它上面离它最近的未配对的 if 配对,if (表达式1) if (表达式2) 语句1 else 语句2,32,if (表达式1) if (表达式2) 语句1 else 语句2,33,int a = 10, b = -10;int a = 10, b = -10; if (a 0)if (a 0) if (b 0) a+; if

5、 (b 0) elsea+; a-; printf(a = %dn, a);else a-; printf(a = %dn, a);,34,三、if-else-if 语句 if (表达式1) 语句1 else if (表达式2) 语句2 else if (表达式3) 语句3 else 语句n,35,编制一个将学生成绩score (整数)由百分制转换为五级分制的程序,60score70,70score80,80score90,90score,百分制,score60,pass,general,good,excellent,五级分制,bad,36,#include void main() int s

6、core; printf(Input the score: ); scanf(%d, ,37,if (score 60) printf(badn); else if (score 70) printf(passn); else if (score 80) printf(generaln); else if (score 90) printf(goodn); else printf(excellentn);,38,int a;int b; a = 3;b = 0; if (a = 5)if (b) printf(YESn);printf(YESn); elseelse printf(NOn);p

7、rintf(NOn);,39,编写程序完成当x 等于0时,输出x = 0,否则输出x != 0 int x = 0;int x = 0; if (x = 0)if (x = 0) printf(x = 0);printf(x = 0); elseelse printf(x !=0);printf(x !=0);,40,4.4 条件运算符和条件表达式 条件运算符为“? :”,要求有三个操作对象,是C语言中唯一的一个三目运算符 由条件运算符连接的式子称为条件表达式 表达式1 ? 表达式2 : 表达式3,41,条件表达式,1 0 ? 3 : 5,1 2 ? 3 : 5,值,3,5,42,if (a

8、b) max = a; else max = b; 相当于 max = (a b) ? a : b;,43,max = (a b) ? a : b max = a b ? a : b a b ? a : c d ? c : d a b ? a : (c d ? c : d) a b ? 3.5 : 3,44,输入一个字符,判断它是否为大写字母 如果是,将它转换成小写字母 如果不是,则不转换 然后输出最后得到的字符,45,#include void main() char ch; scanf(%c, ,46,4.5 switch语句 switch 语句是多分支选择语句,47,switch (表达

9、式) case 常量表达式1: 语句1 case 常量表达式2: 语句2 case 常量表达式n: 语句n default: 语句n+1 ,48,switch (grade) case A: printf(90100n); case B: printf(8089n); case C: printf(7079n); case D: printf(6069n); case E: printf(059n); default: printf(ERRORn); ,49, switch后面“表达式”值的类型只能是int、char和枚举类型中的一种 每一个case后面“常量表达式”的值必须互不相同 swit

10、ch语句中的default项不是必须的 执行完一个case后面的语句后,流程控制转移到下一个case继续执行,50,switch (grade) case A: printf(90100n); case B: printf(8089n); case C: printf(7079n); case D: printf(6069n); case E: printf(059n); default: printf(ERRORn); ,若grade的值等于A,输出结果为: 90100 8089 7079 6069 059 ERROR,51,switch (grade) case A: printf(901

11、00n); break; case B: printf(8089n); break; case C: printf(7079n); break; case D: printf(6069n); break; case E: printf(059n); break; default: printf(ERRORn); ,52, 在 case 或 default 后面包含多条语句时,通常不必用花括号括起来 每个case后面必须是“常量表达式”,表达式中不能包含变量 多个 case 可以共用一组执行语句,53,switch (grade) case A: case B: case C: printf(70100n); break; case D: printf(6069n); break; case E: printf(059n); break; default: printf(ERRORn); ,54,编制一个将学生成绩score (整数)由百分制转换为五级分制的程序(使用switch),60score70,70score80,80score90,90score,百分制,score60,pass,general,good,excellent,五级分制,bad,55,switch (score) case score = 60 ,56,60score70,70score80,80

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论