版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- MT/T 105-2025刮板输送机通用技术条件
- 政治学科乡村振兴相关试题及参考答案
- 法务岗位招录试题及详细答案
- 2026信用管理自查报告(3篇)
- 皮试相关考试题目及答案
- 美术教师测试题目与答案
- 管理概述部分试题及参考答案
- 2026年纸基电池材料研究现状与突破方向
- 职高建筑预算模拟试题及答案
- ISO 15883-52021 洗衣机消毒器 - 第5部分显示清洁效能的性能要求和测试方法标准标准立项发展报告
- 种子繁育员操作水平知识考核试卷含答案
- 农贸市场框架工程施工组织设计方案
- 2026广东佛山市顺德区(家电)知识产权快速维权中心招聘合同制人员招聘2人备考题库带答案详解(完整版)
- 2026山东青岛广电影视传媒集团有限公司二次招聘24人笔试题库【典型题】附答案详解
- 部编版小学一升二语文暑假衔接作业全套 含答案可打印
- 急性ST段抬高型心肌梗死诊断和治疗指南(2019)解读
- 办公用品成本分析报告
- 戊二酸血症 I 型介绍演示培训课件
- 建筑施工门式脚手架安全管理
- 建设银行城镇居民住房抵押贷款申请表
- 大坝帷幕灌浆及充填灌浆施工方案
评论
0/150
提交评论