选择结构程序设计(if~else语句)
C语言程序设计-if_else选择结构PPT

情景实现
int main() {
int i; printf(“明天下雨请输入1,不下雨请输入0\n”); scanf(“%d”,&i); if(i==0)
printf(“明天不下雨去春游\n”); else
printf(“明天下雨去图书馆\n”); return 0; }
例题讲解
从键盘上输入两个实数,比较并输出这两个数中 较大的一个。
printf(“两个数中较大的为%d\n”,b); return 0; }
课堂练习
体质指数 (Body Mass Index,简称BMI),是目前国际最常 用来量度体重与身高比例的工具。它利用身高和体重之间的 比例去衡量一个人是否过瘦或过肥。 体质指数(BMI)=体重(kg)/身高 (m)^2 编写一个C语言程序,输入班级某同学的身高体重,判断某 同学是否超重(BMI值大于24)。(在VC中实现此C程序)
C语言程序设计
使用if-else语句实现选择结构程序
目录
CONTENTS
01 情景导入 02 情景分析 03 if-else选择语句 04 例题讲解 05 课堂练习
情景导入
明天是周末,天气预报说明天有可能下雨, 小明计划如果明天不下雨就出去春游,否则 的话就去图书馆看书。 请根据以上情景设计一个C语言程序,模拟 小明明天的活动情况。
情景分析
根据案例描述,小明明天的活动有两个选择,去春游 或者去图书馆。小明具体选择什么活动要看明天是否 下雨。 在C语言中,可以通过if-else语句来实现类似的选择程序。
if-else选择语句
if-else语句的语法结构
if(条件) 选择语句1:; else 选择语句2;
开始if结构
成立
选择结构程序设计

选择结构程序设计选择结构程序设计什么是选择结构程序设计选择结构程序设计是一种编程范例,用于根据给定的条件决定程序的执行路径。
在选择结构中,程序根据条件的真假选择执行不同的代码块。
选择结构可以帮助程序员根据不同情况采取不同的操作,增加程序的灵活性和适应性。
在选择结构程序设计中,最常见的选择结构是`if-else`语句和`switch`语句。
if-else语句`if-else`语句是选择结构中最基本和常用的语句。
它的基本语法为:markdownif (condition) {// 如果 condition 为真,执行这里的代码} else {// 如果 condition 为假,执行这里的代码}`if-else`语句的执行过程是这样的:判断条件`condition`的真假,如果为真,则执行`if`语句中的代码块;如果为假,则执行`else`语句中的代码块。
在`if`和`else`语句中,可以嵌套其他的`if-else`语句,以实现更复杂的逻辑判断。
除了`if-else`语句,还有一种类似的语句是`else if`语句。
`else if`语句用于在多个条件之间进行选择,它的语法为:markdownif (condition1) {// 如果 condition1 为真,执行这里的代码} else if (condition2) {// 如果 condition1 为假,但 condition2 为真,执行这里的代码} else {// 如果 condition1 和 condition2 都为假,执行这里的代码}switch语句`switch`语句是另一种选择结构,它用于根据给定的条件选择执行不同的代码块。
`switch`语句的基本语法为:markdownswitch (expression) {case value1:// 如果 expression 的值等于 value1,执行这里的代码break;case value2:// 如果 expression 的值等于 value2,执行这里的代码break;default:// 如果 expression 的值不等于任何一个 case 值,执行这里的代码break;}`switch`语句的执行过程是这样的:计算表达式`expression`的值,然后与每个`case`的值进行比较,如果找到匹配的值,则执行对应的`case`代码块,并通过`break`语句结束`switch`语句。
选择结构程序设计

#include<iostream> using namespace std; int main() { float score; cout << "请输入一个学生的成绩:"; cin >> score; if(score < 0 || score > 100) { cout << "输入数据有误!“ << endl; exit(1); } switch(int(score) / 10) { case 0: case 1: case 2: case 3: case 4: case 5:cout << ":不及格“ << endl;break; case 6:cout << ":及格“ << endl;break; case 7:cout << ":中“ << endl;break; case 8:cout << ":良“ << endl;break; case 9: case 10:cou t<< score << ":优“ << endl;break; } }
双分支结构
例3-3: 输入1个整数,判断该数是奇数还是偶数。
number % 2 == 0
真 表达式 语句1 语句 语句2 语句 假
源程序-判断数字的奇偶性
#include <iostream> using namespac std; int main(void) { int number; cout<<"Enter a number: “<<endl; cin>>number; if(number % 2 == 0){ cout<<"Tne number is even. \n“; } else{ cout<<"Tne number is odd. \n"; } return 0; }
5.选择结构的程序设计

后续语句;
(6) switch语法中的case后的表达式必须是常量表达式且互不相同,
即9为整型、字符型、枚举类型的常量值,但不能包含变量;
9
3. 语句嵌套
语句嵌套:在if或switch语句中又包含一个或者多个if或switch语句
if ( ) if( ) 语句1; else 语句2;
else if( ) 语句1; else 语句2;
例2:根据成绩等级输出百分制分数段
#include<iostream>
using namespace std;
int main()
{
int g;
cin>>g; //输入成绩等级
switch(g)
{
case 'A':cout<<"85~100\n"; break;
case 'B':cout<<"70~84\n"; break;
注意:
(1) if与else的配对,else总是与它上面最近的、且未配对的if配对;
(2) 可以通过加{}来确定配对关系,防止出错;
10
10
4. 本讲小结
if语句 switch语句 语句嵌套
11
11
case 'C':cout<<"60~69\n"; break;
case 'D':cout<<"<60\n"; break;
default: cout<<"error\n";
}
return 0;
}7
C语言_实验二、选择结构程序设计

实验二 选择结构程序设计一、实验目的1. 掌握关系表达式和逻辑表达式的使用。
2. 熟悉选择结构程序设计。
3. 熟练使用if 语句进行程序设计。
4. 使用switch 语句实现多分支选择结构。
二、实验内容(1 计算a+|b| 2 判断一个整数是否可以被3和5整除)1.[目的]掌握判断一个字符型数据是否数字字符的方法,以及数字字符转换为相应整数的方法。
[题目内容]从键盘输入一个字符型数据,若输入一个数字字符('0'-'9'),则将其转换成相应的整数显示出来;若输入其它字符,则显示出错信息。
[输入]一个字符型数据[输出]整数或出错信息[提示] 根据字符型数据的ASCII 码值是否在‘0’字符与‘9’字符之间进行判断。
使用if …else …语句和复合语句。
2.[目的]掌握条件表达式的使用[题目内容] 编写一个程序,其功能为:从键盘输入三个数x 、y 、z ,判断x+y=z 是否成立,若成立输出‚x+y=z ‛的信息,否则输出‚x+y!=z ‛的信息。
[输入] 三个数x 、y 、z[输出] ‚x+y=z ‛或‚x+y!=z ‛[提示] 条件判断表达式x+y==z3.[目的]掌握求最大值最小值的方法。
[题目内容] 编写一个程序,其功能为:输入三个整数,输出最大数和最小数。
[输入] 三个整数[输出] 最大值和最小值[提示] 设置最大值变量max 和最小值变量min ;首先比较a,b 的大小,并把大数存入max , 小数存入min ;然后最大值变量max 和最小值变量min 再与c 比较,若c 大于max ,则max 取值c ,否则保持不变;如果c 小于min ,则min 取值c ,否则保持不变。
最后输出max 和min 的值。
使用if …else …语句、if 语句以及复合语句。
4.[目的]运用已学知识解决实际问题。
[题目内容]如下两个线性方程组的两个未知数为x1和x2:ax 1+bx 2=mcx 1+dx 2=n该方程的唯一解为(ad-cb 不等于零时):cb ad bn md x --=1 bcad mc na x --=2 请编写一个程序,读取a 、b 、c 、d 的值,计算x1和x2的值。
选择结构程序设计实验报告

实验题目:选择结构程序设计班级:学号:姓名:学院:实验室:日期:成绩评定:教师签字:实验目的:1、掌握顺序结构程序设计方法、执行过程和复合语句的作用。
2、熟练使用顺序结构编辑程序。
3、熟练掌握if——else条件语句,学习选择结构程序设计的方法及应用。
4、熟悉多分支选择的switch——case语句。
【2-1】阅读程序,上机调试并记录程序结果。
(记录结果,利用截图方式或者书写方式均可)(1)#include <stdio.h>int main( ){int x=3;if(x==0) {printf("x=%d\n",x);}else{printf("x=%d\n”,x+1);}return 0;}程序运行结果:x=4(2)#include <stdio.h>int main(){int a,b;scanf("%d",&a); /*键盘输入一个整数a*/if(a%2!=0) { /*判断a是否是奇数*/b=a*a;printf("b=%d\n",b);}return 0;}程序运行结果: 1 b=1(3)阅读程序,输入0~100之间的数值,上机调试并记录程序结果。
#include<stdio.h>#include<stdlib.h>int main(){double score;int level;printf("请输入成绩:\n");scanf("%lf",&score);if (score>100||score<0){printf("成绩输入错误!\n");}else{level=(int)((score -50)/10);switch(level){case 5: printf("优\n");break;case 4: printf("优\n");break;case 3: printf("良\n");break;case 2: printf("中\n");break;case 1: printf("差\n");break;default: printf("劣\n");break;}}return 0;}程序运行结果: 99 优【2-2】程序填空。
8-双分支选择结构程序设计

【例6】用条件表达式求三个整数中的最大数。 】用条件表达式求三个整数中的最大数。
#include "stdio.h" void main() { int a,b,c; printf("Pleae input three int:"); scanf("%d%d%d",&a,&b,&c); printf("\nMax is%d", ((a>b?a:b)> c)?(a>b?a:b):c) ; }
项目二涉及到的知识点: 项目二涉及到的知识点:
单元一: 单分支选择结构if语句 单元一 单分支选择结构 语句 单元二: 双分支选择结构if~else,以及条件运 单元二 双分支选择结构 , 算与条件表达式 单元三: 单元三:多分支选择结构程序设计
单元二: 单元二: 双分支选择结构, 双分支选择结构,条件运算与条件表达式
练习
用条件运算符代替下面程序断中的if-else语句。 if(flag) printf(“TURE!\n”); else printf(“FALSE!\n”); 编写一程序,从键盘输入两个整数,输出较大的一 个。 x2+y2=16是平面上的一个圆编写一个程序判断点 (2,4)是圆内?圆外?还是圆上? 课后作业: 3.1、3.2(1)、 3.2(3)、 3.2(4)、 3.3(4)
真 表达式 语句块A 语句块B 真 表达式 假 语句块B 假
语句块A
运行if-else语句的实质
请先听我讲一个动人的故事....... 请先听我讲一个动人的故事 条件成立) 如果 if(条件成立 条件成立 条件不成立) 否则 else(条件不成立 条件不成立
执行A部 执行 部 分
教学内容if语句switch语句选择结构程序举例

case 5:
case 4:
case 3:
case 2:
case 1:
case 0: printf(“grade=E\n”); break;
default: printf(“The score is out of range!\n”);}
}
程序运行情况如下:
Input a score(0~100): 85↙
例 6.5 输入 + * - / , 输出对应的单词。 #include<stdio.h> main() { char ch ; ch=getchar(); if (ch=='+') printf("plus\n"); else if (ch=='-') printf("minus\n"); else if(ch=='*') printf("multiply\n"); else if (ch=='/') printf("divide\n"); else printf("error\n"); }
printf("input two numbers: "); scanf("%d%d",&a,&b); if(a>b) printf("max=%d\n",a); else printf("max=%d\n",b); }
例6.3从键盘输入两个数,按升序输出两个数 #include <stdio.h> main() {
教学内容if语句switch语句选择结构程序举例
在C语言中,当需要根据选择条件来确定所要做 (执行)哪一项数据处理的情况,这样的程序结构,被 称为选择(分支)结构。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
printf(“fail”);
.
输入成绩s
真
假
s>=60
输出pass
输出fail
关于if~else语句的几点说明
1.if后面圆括号中的表达式,可以是任意合法的C 语言表达式,也可以是任意类型的数据。
if(a>b) if(a>b&& b>c)
语句 ; if(a=0)
a2xb xc0
计算△
条件: a>0, △>=0
真 a>0&&△>=0
假
计算x1,x2
输出x1,x2
.
例:判断一个给定的数为奇数还是偶数
条件:
除以2余数是否为0
假
输出n是奇数
输入n n%2==0
真
输出n是偶数
.
例:求分段函数y的值 -x x∈[-5,0) 条件
y0
x=0
条件
x x∈(0,5] 条件
.
关于if~else语句的几点说明
3.if~else语句的执行流程 首先计算紧跟在if后面一对圆括号内表达式的值。
如果表达式值非零,则执行if子句,然后跳过else子 句,去执行if语句后的下一条语句;
如果表达式的值为零,则跳过if子句,去执行else子 句,接着去执行if语句后的下一条语句。
简单语句,复合语句 ,if语句等
假
expression
真
statement
.
if语句应用举例
d求isc二=b元*b一-4次*a*方c; 程的实根。
if(a>0&&disc>=0) { p=-b/(2.0*a); q=sqrt(disc)/(2.0*a); x1=p+q; x2=p-q; printf(“%d,%d”,x1,x2); }
if-else语句应用举例
判断一个给定的数为奇数还是偶数
scanf(“%d”,&n); if(n%2==0)
printf(“%d是偶数”,n);
输入n 假
n%2==0 输出n是奇数
else printf(“%d是奇数”,n);
真 输出n是偶数
上机演示程序
.
6-2执行流程
课堂练习
求学生的成绩总评
scanf(“%f”,&s); if(s>=60)
.
真 y=-x
输入x
x>=-5&&x<0
真 y=x
假
假
x>0&&x<=5
真
假
x==0
y=0
输出y
.
C语言有两种选择语句:
(1)if语句,实现两个分支的选择结构 (2)switch语句,实现多分支的选择结构
.
if语句(条件选择语句)
关系表达式,逻辑表
if语句的一般格式
达式,数值等
if (expression) statement1;
语句; if(3+5)
语句 ;
.
语句 ;
if(!a) 语句;
if(a==0) 语句;
关于if~else语句的几点说明
2.无论是否有else子句,if子句中如果只有一条语句 ,则此语句后的分号不能省略。
else不是一条独立的语句,它只是if语句的一部分, 在程序中else必须和if配对,共同组成一条if~else语 句。
.
Thank You !
.
.
输入a,b,c
a+b>c&&
假
b+c>a&&
a+c>b
真 计算s
计算area
输出area
if-else语句(条件选择语句)
if~else语句的一般格式
if (expression)
真
statement1
else
statement1
statement2
假 expression
statement2
.
.
输入a,b,c
计算△
真 a>0&&△>=0
假
计算x1,x2
输出x1,x2
上机演示程序 6-1执行流程
课堂练习
给出三角形的三边长,求三角形面积
if(a+b>c&&a+c>b && b+c>a) { s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c)); printf(“%f”,area); }
《C语言程序设计》
第4章
选择结构程序设计
if~else语句
.
下班买10个包子,如果看 到卖西瓜的,就买一个。
if(遇到卖西瓜) 买一个包子;
else 买十个包子;
.
学习目标➢ 用if~els语句实现选择 ➢ 理解if~else语句的执行流程 ➢ 熟练使用关系运算与逻辑运算构造条件表达式
.
例:求二元一次方程的实根。 输入a,b,c