版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度石油化工设备采购合同补充协议范本3篇
- 二零二五年度vi设计创意制作合同范本2篇
- 二零二五版环境安全风险评估与治理合同3篇
- 合同管理在2025年度招投标中的合规性分析3篇
- 二零二五版企业内部技术人员挂靠合作合同范本3篇
- 二零二五年度高压电气设备采购及安装合同2篇
- 二零二五版宝钢集团劳动合同员工加班费及休息日工作安排3篇
- 二零二五年度车辆质押担保合同样本2篇
- 二零二五版公路货运合同道路运输许可证管理与审查规范3篇
- 二零二五年度绿色环保房地产商品房买卖合同书3篇
- 10日益重要的国际组织第三课时中国与国际组织(教学设计)2023-2024学年统编版道德与法治六年级下册
- Unit 1 同步练习人教版2024七年级英语上册
- 工程管理重大风险应对方案
- 直播带货助农现状及发展对策研究-以抖音直播为例(开题)
- 腰椎间盘突出疑难病例讨论
- 《光伏发电工程工程量清单计价规范》
- 2023-2024学年度人教版四年级语文上册寒假作业
- (完整版)保证药品信息来源合法、真实、安全的管理措施、情况说明及相关证明
- 营销专员绩效考核指标
- 陕西麟游风电吊装方案专家论证版
- 供应商审核培训教程
评论
0/150
提交评论