第四章 选择结构程序设计
更新时间:2023-11-11 04:45:01 阅读量: 教育文库 文档下载
- 第四章骆驼祥子主要内容推荐度:
- 相关推荐
第四章 选择结构程序设计
【本章要求】
1、掌握C语言中if语句的定义及使用。 2、掌握条件表达式的使用及注意事项。
3、掌握C语言中switch语句的定义及使用。 4、理解选择结构的程序设计。
4.1 if语句
4.1.1 单边选择结构
单边选择结构的一般形式为: if(表达式)语句; 【执行过程】
如果表达式的值为真,则执行其后的语句, 否则不执行该语句。其中“表达式”为判断条件,而“语句”可以是单语句,也可以是复合语句,即用花括号“{}”括起来的一组语句。其过程如下图所示。
【例4.1】输入两个数a,b,输出两个数中的较大者。
#include \main( ) {
int a,b,max;
printf(\ scanf(\ max=a;
if (max
printf(\ }
【运行结果】
从键盘上输入:
- 38 -
第四章 选择结构程序设计
4 7 输出结果: max=7
【例4.2】输入任意三个数num1、num2、num3,按从小到大的顺序排序输出。
#include \main( )
{int num1,num2,num3,temp;
printf(\ scanf(\
if (num1>num2) {temp=num1;num1=num2;num2=temp;} if (num2>num3) {temp=num2;num2=num3;num3=temp;} if (num1>num2) {temp=num1;num1=num2;num2=temp;}
printf(\}
【运行结果】
程序运行情况如下:
Please input three numbers:11,22,18 Three numbers after sorted: 11,18,22
4.1.2 双边选择结构
双边选择结构的一般形式为: if(表达式) {语句组1} else {语句组2} 或
if(表达式)
{语句组1}
else
{语句组2}
【执行过程】
如果表达式的值不等于0(即判定为“逻辑真”)时,则执行语句组1;否则,执行语句组2。其中语句组1、语句组2可以是一条语句,也可以是多条语句。当为一条语句时,可以不加花括号,也可以保留花括号;当为多条语句时,则必须加上花括号。其过程如下图所示。
【说明】
1、if语句中的“表达式”必须用“(”和“)”括起来。
2、else子句(可选)是if语句的一部分,必须与if配对使用,不能单独使用。
3、当if和else后面的语句组,仅由一条语句构成时,也可不使用复合语句形式(即去掉花
- 39 -
《C语言程序设计》
括号)。
【例4.3】输入任意两个整数x、y,求两个数中的最大值。
#include \ main( ) {int a, b;
printf(\scanf(\
printf(\ if(x>y) printf(\else printf(\}
【运行结果】
程序运行情况如下:
input two numbers:22 33 The two numbers are:22,33 max=22
【例4.4】输入任意三个整数num1、num2、num3,求三个数中的最大值。
#include \ main( )
{int num1,num2,num3,max;
printf(\scanf(\if (num1>num2) max=num1; else max=num2; if (num3>max) max=num3;
printf(\printf(\}
【运行结果】
程序运行情况如下:
Please input three numbers:11,22,18 The three numbers are:11,22,18 max=22
4.1.3 多分支选择
多分支选择的一般形式为:
if (表达式1) 语句1; else if (表达式2)语句2; else if (表达式3)语句3; ??
else if (表达式n)语句n; else 语句n+1; 【执行过程】
- 40 -
第四章 选择结构程序设计
依次判断表达式的值,当出现某个值为真(即为非0)时,则执行其对应的语句。然后使整个if语句结束,其余语句不被执行。 如果所有的表达式均为假,则执行else后的语句n+1。然后继续执行后续程序。 其执行过程如下图所示。
【例4.5】已知3门课的成绩。当平均成绩高于90分时,输出A;当平均成绩为80~89分时,输出B;当平均成绩为70~79分时,输出C;当平均成绩为60~69分时,输出D;当平均成绩低于60分时,输出E。
#include \stdio.h\ void main( )
{int score1,score2,score3,sum,ave; printf(\Input the score: \);
scanf(\%d,%d,%d\,&score1,&score2,&score3); sum=score1+score2+score3; ave=sum/3;
printf (\average=\);
if(ave>=90) printf(\A\\n\); else if(ave>=80)printf(\B\\n\); else if(ave>=70)printf(\C\\n\); else if(ave>=60)printf(\D\\n\); else printf(\E\\n\); }
【运行结果】
程序运行情况如下:
Input the score: 86 average= B
【例4.6】 判断输入字符ASCII码所在的范围,分别给出不同的输出。。可以根据输入字符的ASCII码来判别类型。由ASCII码表可知ASCII值小于32的为控制字符。 在“0”和“9”之间的为数字,在“A”和“Z”之间为大写字母, 在“a”和“z”之间为小写字母,其余则为其它字符。
#include \main( ) {char c;
printf(\c=getchar( );
- 41 -
《C语言程序设计》
if(c<32)
printf(\else if(c>='0'&&c<='9')
printf(\
else if(c>='A'&&c<='Z')
printf(\
else if(c>='a'&&c<='z')
printf(\else
printf(\}
【运行结果】
程序运行情况如下:
input a character:
如果输入字符g,则输出结果为
This is a small letter.
如果输入字符G,则输出结果为
This is a capital letter. 【说明】
1、在三种形式的if语句中,在if关键字之后均为表达式。 该表达式通常是逻辑表达式或关系表达式, 也可以是其它表达式,甚至也可以是一个变量或常量。 例如:
if(x=5) 语句; if(3) 语句;
都是允许的。只要表达式的值为非0,即为“真”。
如果有if(x=5)…; 不难看出表达式的值永远为非0,所以其后的语句总是要执行的,虽然这样写if语句就失去了原有的价值,但在语法上是合法的。
2、在if语句中,条件判断表达式必须用括号括起来,在语句之后必须加分号。
3、在if语句的三种形式中,所有的语句应为单个语句,如果要想在满足条件时执行一组(多个)语句,则必须把这一组语句用花括号{}括起来组成一个复合语句,同时要注意的是在}之后不能再加分号。
例如:
if(x>y) {x++; y++;} else {x--; y--;}
4.1.4 嵌套if语句
在if 语句中,可以包含一个或多个if语句,构成嵌套的if语句.其一般形式为: if (表达式 a)
if (表达式b) 语句b1; else 语句b2; else
if (表达式c) 语句c1; else 语句c2; 【说明】
- 42 -
正在阅读:
第四章 选择结构程序设计11-11
小学一师一优课一课一名师活动方案-范文模板(3页)10-22
中南大学数电考题全四套(含答案)11-08
人教版四年级下册语文总复习资料(完美版) - 图文01-20
2017年西南石油大学流体力学综合I(工程热力学与传热学、油气管道输送)之工程热力学复试实战预测五套卷05-05
煤矿作业场所职业危害防治规定12-29
大学生职业生涯规划书(-机械设计)11-29
湖南师范大学体育学院考研真题资料09-23
牛津六年级英语知识点汇总12-28
小学回忆作文的开头04-01
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 第四章
- 程序设计
- 结构
- 选择