版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 杭州萧山区城中村拆迁改造过程中遇到的问题及对策毕业论文
- 《习作他了》课件:2024年文学世界之旅
- JOINSET卓英社科技股份有限公司简介 产品介绍(2)一级代理分销经销KOYUELEC光与电子
- 2024版《工程制图》教案:全面升级
- 2故宫课件:2024年冬季特别课程发布
- 2024年春季课程:《长恨歌》的全新探索
- 黑色可爱卡通传统节日下元节宣传介绍(诗词鉴赏)
- 2024年视角下的《将进酒》深度解读
- 2024年地球形状教案:从古至今的演变历程
- 2024年VB程序设计课程教案:创新与传承
- 【公开课】《农业专题复习》【课件】
- 第7课《大雁归来》课件(共15张ppt) 部编版语文八年级下册
- 培训的方式和方法课件
- 三年级下册口算天天100题(A4打印版)
- 三基选择题(东南大学出版社)
- 2021年大唐集团招聘笔试试题及答案
- DBJ53/T-39-2020 云南省民用建筑节能设计标准
- 2022版义务教育数学课程标准解读课件PPT模板
- 实验五 PCR扩增课件
- 马拉松运动医疗支援培训课件
- 中医药宣传手册
评论
0/150
提交评论