c程序设计课件语言-第4章_第1页
c程序设计课件语言-第4章_第2页
c程序设计课件语言-第4章_第3页
c程序设计课件语言-第4章_第4页
c程序设计课件语言-第4章_第5页
免费预览已结束,剩余25页可下载查看

付费下载

下载本文档

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

文档简介

1、第4章 选择结构程序设计信科系专职教师:赵小蕾邮箱: 计算机程序设计I主要内容选择结构和条件判断4.14.2用if语句实现选择结构4.3用switch语句实现多分支选择结构4.4关系、逻辑、条件运算符及表达式4.5选择结构程序综合举例4.1 选择结构和条件判断在现实生活中,需要进行判断和选择的情况是很多的如果你在家,我去拜访你如果考试不及格,要补考C语言有两种选择语句: (1) if语句,实现两个分支的选择结构 (2) switch语句,实现多分支的选择结构4.2 用if语句实现选择结构if语句的一般形式: if (表达式) 语句1 else 语句2 关系表达式逻辑表达式数值表达式方括号内的部

2、分为可选的简单的语句复合语句(括起来的语句)另一个if语句等4.2 用if语句实现选择结构if语句的一般形式: if (表达式) 语句1 else 语句2 3种if语句形式:if (表达式) 语句14.2 用if语句实现选择结构例1:求两整数最大者。 int main() int a,b,max; printf(”请输入两个数: ”); scanf(“%d%d”,&a,&b); max=a; if (maxb) max=a; else max=b; printf(“max=%d”,max); return 0;有else语句3种if语句形式:if (表达式) 语句1 else 语句2 表达式语

3、句1语句2真假4.2 用if语句实现选择结构3种if语句形式:if (表达式1) 语句else if (表达式2) 语句else if (表达式3) 语句 else if (表达式m) 语句else 语句m+1(在else部分又嵌套了多层的if语句)表达式1真假表达式2真假表达式3真假语句1语句2语句3语句n例3:学生成绩分类:A等为85分以上;B等为7084分;C等为6069分;D等为60分以下。if(grade=A) printf(“85100”);else if (grade=B) printf(“7084”);else if (grade=C) printf(“6069”);else

4、printf(“=13 & age=17判断年龄小于12或大于65?age654.4 关系、逻辑、条件运算符及表达式aba & ba | b 真真真真真假假真假真假真假假假假逻辑运算的真值表注意:1)C语言中“真”用数值1表示,假用数值“0”表示。 2)将一个非零的数值认作为“真”4.4 关系、逻辑、条件运算符及表达式逻辑表达式(1) 若a=4,则!a的值为0(2) 若a=4,b=5,则a & b的值为1(3) a和b值分别为4和5,则a|b的值为1(4) a和b值分别为4和5,则!a|b的值为1(5) 4 & 0 | 2的值为14.4 关系、逻辑、条件运算符及表达式判别某一年是否闰年,用逻辑

5、表达式表示闰年的条件是符合下面二者之一:能被4整除,但不能被100整除,如2008能被400整除,如2000(year % 4 = 0 & year%100 !=0)| year % 400 = 0如果表达式值为1,则闰年;否则为非闰年4.4 关系、逻辑、条件运算符及表达式(三)条件运算符及表达式有一种if语句,当被判别的表达式的值为“真”或“假” 时,都执行一个赋值语句且向同一个变量赋值。如:if (ab) max=a; else max=b;max = (a b) ? a : b;条件运算符条件表达式4.4 关系、逻辑、条件运算符及表达式条件表达式的一般形式为表达式?表达式: 表达式条件运

6、算符的执行顺序:求解表达式1若为非0(真)则求解表达式2,此时表达式2的值就作为整个条件表达式的值若表达式1的值为0(假),则求解表达式3,表达式3的值就是整个条件表达式的值4.4 关系、逻辑、条件运算符及表达式#includeint main()char ch;scanf(%c,&ch);ch=(ch=A&ch=A&ch=Z) ch=ch+32;else ch=ch;4.3 用switch语句实现多分支选择结构例3:学生成绩分类:A等为85分以上;B等为7084分;C等为6069分;D等为60分以下。 switch(grade) case A:printf(85100“);break; ca

7、se B:printf(7084“); break; case C:printf(6069“); break; case D:printf(60“); break; default: printf(enter data error! “); if(grade=A) printf(85100“);else if (grade=B) printf(7084“);else if (grade=C) printf(6069“);else printf(60“);比较使用了3层嵌套的if,较为繁琐,不清晰易读用switch语句清晰明了4.3 用switch语句实现多分支选择结构 switch(grade

8、) case A: printf(85100n); break; case B: printf(7084n); break; case C: printf(6069n); break; case D: printf(60n); break; default: printf(enter data error!n); 值为A85-100例3:学生成绩分类:A等为85分以上;B等为7084分;C等为6069分;D等为60分以下。不能少4.3 用switch语句实现多分支选择结构switch语句实现多分支选择一般形式:switch(表达式) case 常量1 :语句1 case 常量2 :语句2 ca

9、se 常量n :语句n default : 语句n+1整数类型(包括字符型)不能相同以上条件都不满足执行该语句4.3 用switch语句实现多分支选择结构 switch(grade) case A: printf(85100n);break; case B: printf(7084n); break; case C: printf(6069n); break; case D: printf(60n); break; default: printf(enter data error!n); 值为B70-84例3:学生成绩分类:A等为85分以上;B等为7084分;C等为6069分;D等为60分以下

10、。4.3 用switch语句实现多分支选择结构 switch(grade) case A: printf(85100n);break; case B: printf(7084n); break; case C: printf(6069n); break; case D: printf(60n); break; default: printf(enter data error!n); 值为Fenter data error! 例3:学生成绩分类:A等为85分以上;B等为7084分;C等为6069分;D等为60分以下。4.3 用switch语句实现多分支选择结构 scanf(%c,&grade);

11、 printf(Your score:); switch(grade) case A: printf(85100n);break; case B: printf(7084n);break; case C: printf(6069n);break; case D: printf(60n);break; default: printf(enter data error!n); 4.3 用switch语句实现多分支选择结构 scanf(%c,&grade); printf(Your score:); switch(grade) case A: printf(85100n);break; case B

12、: printf(7084n);break; case C: printf(6069n);break; case D: printf(60n);break; default: printf(enter data error!n); 4.3 用switch语句实现多分支选择结构 scanf(%c,&grade); printf(Your score:); switch(grade) case A: case B: case C: printf(6069n);break; case D: printf(60n);break; default: printf(enter data error!n); 4.5 选择结构程序综合举例例4.8 写一程序,判断某一年是否闰年。解题思路:用变量leap代表是否闰年的信息。若闰年,令leap=1;非闰年,leap=0。最后判断leap是否为(真),若是,则输出“闰年”信息#include int main()int year,leap;printf(enter year:); scanf(%d,&year);if(year%4=0 & year%100!=0) | (year%400=0) leap=1;else leap=0; if (leap) prin

温馨提示

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

评论

0/150

提交评论