




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言程序设计
分支结构5.1if语句5.1.1if语句格式 5.1.2if语句的嵌套5.2Switch语句
5.3分支结构应用 5.1if语句用if语句可以构成分支结构。它根据给定的条件进行判断,以决定执行某个分支程序段。C语言的if语句有三种基本形式。5.1.1if语句格式1.基本形式if语句的一般格式如下:if(表达式)语句;其语义是:如果表达式的值为真,则执行其后的语句,否则不执行该语句。例5-1使用if语句计算|a-b|。#include<stdio.h>voidmain()
{inta,b,c=0;printf(“输入a和b的值,用逗号分隔:”);
scanf(″%d,%d″,&a,&b);
if(a>b)c=a-b;
if(a<b)c=b-a;printf(“a-b的绝对值:%d\n”,c);
}
运行结果:10,5↙
a-b的绝对值:5例5-1使用if语句计算|a-b|。#include<stdio.h>voidmain()
{inta,b,c=0;printf(“输入a和b的值,用逗号分隔:”);
scanf(″%d,%d″,&a,&b);
if(a>b)c=a-b;
if(a<b)c=b-a;printf(“a-b的绝对值:%d\n”,c);
}运行结果:输入a和b的值,用逗号分隔:10,5↙a-b的绝对值:52.if-else形式
if(表达式)语句1;
else语句2;
其语义是:如果表达式的值为真,则执行语句1,否则执行语句2。例5-2对例5-1的改写,方法二,用if~else语句实现。#include<stdio.h>voidmain()
{inta,b,c=0;printf(“输入a和b的值,用逗号分隔:”);
scanf(″%d,%d″,&a,&b);
if(a>b)c=a-b;
elsec=b-a;printf(“a-b的绝对值:%d\n”,c);
}运行结果:
输入a和b的值,用逗号分隔:10,5↙a-b的绝对值:5if-else-if形式
有多个分支时,可采用if-else-if语句。
一般形式为:if(表达式1)语句1;
elseif(表达式2)语句2;
elseif(表达式3)语句3;
…
elseif(表达式n)语句n;
else语句n+1;
依次判断表达式的值,当出现某个值为真时,则执行其对应的语句。然后跳到整个if语句之外继续执行程序。如果所有的表达式均为假,则执行语句n。例5-4编程实现输入某人出生年份,输出此人是“几零后”。#include<stdio.h>voidmain(){intyear;printf("请输入你的出生年份:");scanf(“%d”,&year);if(year<1980)printf("你已过不惑之年了!\n");elseif(year<1990)printf("你是80后!\n");elseif(year<2000)printf("你是90后!\n");elseif(year<2010)printf("你是00后!\n");elseprintf("你是00后!\n");}运行结果:请输入你的出生年份:1993你是90后!请输入你的出生年份:2002你是00后!5.1.2if语句的嵌套
其一般形式可表示如下:
if(表达式)if语句;
或:if(表达式)if语句;elseif语句;
在嵌套内的if语句可能又是if-else型的,这将会出现多个if和多个else重叠的情况,else总是与它前面最近的同层没有匹配的if配对。5.1.2if语句的嵌套
例5-5用if语句的嵌套对例5-4进行改写。
#include<stdio.h>voidmain(){intyear;printf("请输入你的出生年份:");scanf(“%d”,&year);if(year<1990)if(year>=1980)printf("你是80后!\n");elseprintf("你已过不惑之年了!\n");elseif(year<2000)printf("你是90后!\n");elseif(year<2010)printf("你是00后!\n");elseprintf("你是10后!\n");}5.2Switch语句 switch语句的一般形式如下:switch(表达式){
case常量表达式1:语句1;break;
case常量表达式2:语句2;break;
…
case常量表达式n:语句n;break;
default:语句n+1;break;}关于switch语句的几点说明。(1)switch后的表达式可以是任何表达式,其值必须为整型,或字符型,或枚举型。(2)每个case后面的常量表达式的值必须互不相同,否则就会出现互相矛盾的现象。(3)各个case和default的出现次序不影响执行结果。(4)可以让多个case共用一组执行语句。
(5)switch语句允许嵌套使用。表达式的值=常量表达式2的值表达式语句1语句2语句n语句n+1表达式的值=常量表达式1的值表达式的值=常量表达式n的值其他breakbreakbreakbreakswitch多分支结构执行流程图例5-7要求输入一个数字,输出一个对应的英文星期几。#include<stdio.h>voidmain(){inta;printf("inputintegernumber:");scanf("%d",&a);switch(a){case1:printf("Monday\n");break;case2:printf("Tuesday\n");break;case3:printf("Wednesday\n");break;case4:printf("Thursday\n");break;case5:printf("Friday\n");break;case6:printf("Saturday\n");break;case7:printf("Sunday\n");break;default:printf("error\n");}}运行结果:inputintegernumber:3↙Wednesday5.3分支结构应用例5-8判别键盘输入字符的类别。程序如下:#include"stdio.h"voidmain(){charc;printf("inputacharacter:");c=getchar();if(c<32)printf("Thisisacontrolcharacter\n");elseif(c>='0'&&c<='9')printf("Thisisadigit\n");elseif(c>='A'&&c<='Z')printf("Thisisacapitalletter\n");elseif(c>='a'&&c<='z')printf("Thisisasmallletter\n");elseprintf("Thisisanothercharacter\n");}
本章小结
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- JG/T 194-2006住宅厨房、卫生间排气道
- JG/T 169-2005建筑隔墙用轻质条板
- JG/T 14-1999通风空调风口
- DZ/T 0192-1997实验室用三头研磨机技术条件
- CJ/T 47-1999水处理用双层陶瓷滤砖
- CJ/T 422-2013城市市政综合监管信息系统管理部件和事件信息采集
- CJ/T 336-2010冷凝式家用燃气快速热水器
- CJ/T 153-2001自含式温度控制阀
- 软件评测师考试技巧总结与试题及答案
- 滑雪段位测试题及答案大全
- 2023-2024学年贵州省遵义市仁怀市年小升初总复习语文测试卷含答案
- 大学生职业生涯规划与就业指导智慧树知到期末考试答案2024年
- (完整版)保证药品信息来源合法、真实、安全的管理措施、情况说明及相关证明
- 2017-2022年近六年浙江高考英语普通高等学校招生全国统一考试(浙江卷)
- 五苓散的经典解读与应用
- 工贸企业安全生产标准化定级评分标准
- 纹眉行业市场分析
- 管理理论论文(5篇)
- 关于幼儿园建设实施方案范文
- 统编教材小学生诗词大赛题库(各种题型)及答案
- 《军事理论与国家安全》参考试题库(含答案)
评论
0/150
提交评论