第四章 选择结构程序设计 if语句

合集下载

if语句

if语句
§选择结构程序设计
1 • 用if语句实现选择结构 • 选择结构的嵌套
2
3
• 练习题
§if 语句(条件选择语句)
If语句的三种形式
形式一:
格式:if (表达式) 语句 执行过程:
表达式
=0
非0
语句
main() { int x , y ; x=20 ; 没有”;” y=10 ; if (x>y) printf(“%d”,x); }
一般形式: if (条件1) if (条件2) else else if(条件3) else 语句1 语句2
内嵌if
语句3 语句4
内嵌if
if ~ else 配对原则:缺省{ }时,else总是和它上
面离它最近的未配对的if 配对。
if(……) if(……) if(……) else…... else…... else…...
非0
=0
表达式3
非0 语句1 语句2
=0
非0 语句3 语句n
格式:if (表达式1) 语句1 else if (表达式2) 语句2 else if (表达式3) 语句3 …… else if (表达式m) 语句m else 语句n 执行过程:
例:if (number>500) else if (number>300) else if (number>100) else if (number>50) else
例 考虑下面程序的输出结果
结果:-1
main() { int x=100,a=10,b=20; int v1=5,v2=0; if(a<b) if(b!=15) if(!v1) x=1; else if(v2) x=10; x= -1; pst=0.15 ; cost=0.1 ; cost=0.075 ; cost=0.05 ; cost=0 ;

C语言程序设计第4章选择结构程序设计ppt课件

C语言程序设计第4章选择结构程序设计ppt课件

8
printf("grade is E" );
9 else if (score >=60 && score<70 )
10
printf( "grade is D");
11 else if (score >=70 && score<80 )
12
printf( "grade is C");
13 else if (score>=80 && score<90 )
printf("a,b="); scanf("%d,%d",&a,&b); if (a>b) max=a; else max=b; printf("max=%d\n",max); }
结束
8
3.if-else if-else语句
(1)语句格式:
if (表达式1) 语句1
else if (表达式2) 语句2
不再判断,顺序执 行下面的语句
21
4.2 switch语句
switch (表达式) {case 常量表达式1:语句1 case 常量表达式2:语句2 …… case 常量表达式n:语句n [default:语句n+1] }
注意:
1. <表达式>可以是整型或字 符型表达式; 2. case后面必须是常量表达 式,不能包含变量; 3. 每个常量表达式的值应互 不相同; 4. case语句先后顺序随意; 5.若从上至下没有找到与表 达式的值相匹配的case,含有 default子句时,执行语句n+1。

第4章 选择结构程序设计《C语言程序设计(第三版)》-电子教案

第4章 选择结构程序设计《C语言程序设计(第三版)》-电子教案

【注意】
switch后跟的"表达式"允许为任何类型的表达式,其 后跟的"表达式"允许为任何类型的表达式, 后跟的 数据类型和case后面的常量表达式的数据类型一致. 后面的常量表达式的数据类型一致. 数据类型和 后面的常量表达式的数据类型一致 每一个case后的各常量表达式的值不允许重复,否则 后的各常量表达式的值不允许重复, 每一个 后的各常量表达式的值不允许重复 会报错. 会报错. 每一个case后允许有多条语句 可以不用花括号" 后允许有多条语句, 每一个case后允许有多条语句,可以不用花括号"{}" 括起来. 括起来. case和default子句出现的先后顺序可以变动,不会影 子句出现的先后顺序可以变动, 和 子句出现的先后顺序可以变动 响程序的执行结果. 子句也可以省略不用. 响程序的执行结果.default子句也可以省略不用. 子句也可以省略不用 多个case可以共用一组执行语句.例如: 可以共用一组执行语句. 多个 可以共用一组执行语句 例如: … case 'A': case 'B': case 'C':printf("Pass\n");break;
3<5 || ++b
【例4-2】测试短路现象 】
#include <stdio.h> void main() { int a,b; a=b=0; a || ++b; printf("%d,%d\n",a,b); a=b=1; a || ++b; printf("%d,%d\n",a,b); a=b=0; a && ++b; printf("%d,%d\n",a,b); a=b=1; a && ++b; printf("%d,%d\n",a,b); }

C语言 第4章 选择结构程序设计

C语言 第4章 选择结构程序设计

#include <stdio.h> int main() { float a,b,c,t; scanf("%f,%f,%f",&a,&b,&c); if(a>b) 如果 a>b,将a和b对换 , 和 对换 是 、 中的小者 { t=a; a=b; b=t; } a是a、b中的小者 if(a>c) { t=a; a=c; c=t; } if(b>c) { t=b; b=c; c=t; } printf("%5.2f,%5.2f,%5.2f\n",a,b,c); return 0; }
if (disc<0) 8<0为假 为假 printf(“has not real roots\n”); else 的值变为-1 的值变为 { p=-b/(2.0*a); p的值变为 的值变为0.71 的值变为 q=sqrt(disc)/(2.0*a); q的值变为 x1=p+q; x1的值变为 的值变为-0.29 的值变为 x2=p-q; x2的值变为 的值变为-1.71 的值变为 printf(“real roots:\nx1=%7.2f\n x2=%7.2f\n”,x1,x2); } return 0; }
if (disc<0) printf(“has not real roots\n”); else { p=-b/(2.0*a); q=sqrt(disc)/(2.0*a); x1=p+q; x2=p-q; printf(“real roots:\nx1=%7.2f\n x2=%7.2f\n”,x1,x2); } return 0; 复合语句 }
C语言有两种选择语句: 语言有两种选择语句: 语言有两种选择语句 (1)if语句,实现两个分支的选择结构 语句, 语句 (2)switch语句,实现多分支的选择结构 语句, 语句

第07讲 关系运算与逻辑运算 if 语句

第07讲 关系运算与逻辑运算 if 语句

2
4.1.2 关系运算符与关系表达式
所谓“关系运算”实际上就是“比较运 算”,即将两个数据进行比较,判定两个数据是 否符合给定的关系。 例如,“a > b”中的“>”表示一个大于关 系运算。如果a的值是8,b的值是5,则这个关 系运算的结果为“真”,即数值1,表示条件成 立;如果a的值是6,b的值是9,则运算的结果 为“假”,即数值0 ,表示条件不成立。
13
2. 嵌套的if语句
if语句中的if子句和else子句可以是任意合法 的C语句,当然也可以是另外一个if语句,通常称 这种语句为嵌套的if语句。 内嵌的if语句既可以嵌套在if子句中,也可以嵌 套在else子句中。在运用嵌套的if语句时,应该 特别注意else子句和if子句的配套问题。如果在 嵌套的if语句中没有用一对花括号强制地结束某 个内嵌的不带else子句的if语句,则else子句总 是与在它前面的、离它最近的、尚未与其它else 子句匹配的if子句相匹配。 以下介绍两种值得关注的嵌套if语句。
14
(1) 用嵌套的if语句形成多分支语句
在if语句的else子句中嵌套多个具有else子句的if语句 语句形式如下: if(表达式1) 语句1 else if(表达式2) 语句2 else if(表达式3) 语句3 else if(表达式4) 语句4 ... else 语句n 执行过程:从上向下逐一对if后的表达式进行检测,当其 中某一个表达式的值为非零时,就执行与之对应的if子句,阶 梯形子句中的其余部分就被跳越过去。如果所有表达式的值 都为零,则执行最后的else子句,即语句n;如果最内层的if 语句没有else子句,那么将不进行任何操作。
第四章 选择结构程序设计
4.1 关系运算和逻辑运算 4.2 if语句

C程序设计(第五版)-第4章选择结构程序设计课后习题答案

C程序设计(第五版)-第4章选择结构程序设计课后习题答案

C程序设计(第五版)-第4章选择结构程序设计课后习题答案1. 什么是算术运算?什么是关系运算?什么是逻辑运算?【答案解析】算熟运算:算术运算即“四则运算”,是加法、减法、乘法、除法、乘⽅、开⽅等⼏种运算的统称。

其中加减为⼀级运算,乘除为⼆级运算,乘⽅、开⽅为三级运算。

在⼀道算式中,如果有多级运算存在,则应先进⾏⾼级运算,再进⾏低⼀级的运算。

C语⾔中的算熟运算符包括:+、-、*、/、++、--、%等种类。

如果只存在同级运算;则从左⾄右的顺序进⾏;如果算式中有括号,则应先算括号⾥边,再按上述规则进⾏计算。

⽰例:$ (1 + 1)^{2} * 4+5 * 3$解析:1. 先进⾏括号内运算1+1,然后进⾏乘⽅运算得到结果4.2. 接下来与4相乘,得到结果163. 因为乘法优先级⼤于加法,因此先进⾏5*3,得到结果154. 最终相加得到结果31结果:31关系运算:关系的基本运算有两类:⼀类是传统的集合运算(并、差、交等),另⼀类是专门的关系运算(选择、投影、连接、除法、外连接等),⽽在C语⾔中,关系运算通常被认为是⽐较运算,将两个数值进⾏⽐较,判断⽐较结果是否符合给定的条件。

常见的关系运算符包括:<、<=、>、>=、==、!=等种类。

其中,前4种关系运算符(<、<=、>、>= )的优先级别相同,后2种(==、!=)也相同。

⽽前4种⾼于后2种。

例如, >优先于==。

⽽>与<优先级相同。

并且,关系运算符的优先级低于算术运算符,关系运算符的优先级⾼于赋值运算符(=)。

逻辑运算:在逻辑代数中,有与、或、⾮三种基本逻辑运算。

表⽰逻辑运算的⽅法有多种,如语句描述、逻辑代数式、真值表、卡诺图等。

⽽在C语⾔中,逻辑运算通常⽤于使⽤逻辑运算符将关系表达式或其它逻辑量连接起来组成逻辑表达式⽤来测试真假值。

常见的逻辑运算符包括:&&、||、!等种类&&:与是双⽬运算符,要求有两个运算对象,表⽰两个运算对象都成⽴,则结果为真,否则结果为假。

C语言程序设计实例教程(第2版)丁爱萍第4章 选择结构程序设计_百度文库

C语言程序设计实例教程(第2版)丁爱萍第4章 选择结构程序设计_百度文库

本文由xjsir2010贡献 ppt文档可能在WAP端浏览体验不佳。

建议您优先选择TXT,或下载源文件到本机查看。

第4章 选择结构程序设计 章 第4章 选择结构程序设计 章 4.1 关系运算符及其表达式 4.2 逻辑运算符及其表达式 4.3 条件运算符 4.4 单条件选择if语句 单条件选择 语句 4.5 开关分支 开关分支switch语句 语句 习题4 第4章 选择结构程序设计 章 4.1 关系运算符及其表达式 关系表达式是由关系运算符连接表达式构成的。

 1. 关系运算符 1) 关系运算符 关系运算符都是双目运算符,共有如下6种: >,<,>=,<=,==,!= 分别是大于、小于、大于或等于、小于或等于、 等于和不等于。

第4章 选择结构程序设计 章 2) 运算符的优先级和结合性 前4种关系运算符的优先级别相同,后2种也相同,前4 种高于后2种。

关系运算符具有自左至右的结合性。

 关系运算符、算术运算符和赋值运算符之间的优先级次序 为:算术运算符优先级最高,关系运算符次之,赋值运算 符最低。

 2. 关系表达式 1) 关系表达式 由关系运算符组成的表达式称为关系表达式。

 关系运算符两边的运算对象可以是C语言中任意合法 的表达式。

例如,x>y,(x=5)<=y,x==y等。

第4章 选择结构程序设计 章 2) 关系表达式的值 关系表达式的值是整数0(代表结果为逻辑假)或 1(代表结果为逻辑真),在C语言中不存在专门的“逻 辑值”,此处请读者务必清楚。

例如,关系表达式 (x=3)>(y=4)的值为0。

 关系表达式常用在条件语句和循环语句中。

 3) 举例 一般情况下,关系表达式用在选择结构或循环结 构的关系判断中,并不需要输出关系表达式的值,这 里我们为了了解关系表达式的内部运行机制,在例4-1 中可以看到关系表达式的值只能是0或1。

第4章 选择结构程序设计 章 【例4-1】关系表达式示例。

 #include "stdio.h" main( ) { char x='m' , y='n' ; int n ; n=x<y ; printf("%d\n" , n) ; n=x==y-1 ; printf("%d\n" , n) ; n=('y'!='Y')+(5<3)+(y-x==1) ; printf("%d\n" , n) ; } 第4章 选择结构程序设计 章 运行结果: 1 1 2 通过上面的程序可以看出:关系运算的结果为 “真”时,值等于1;结果为“假”时,值等于0。

高树芳C语言程序设计--第四章

高树芳C语言程序设计--第四章
37
4.5 switch语句
案例4-10 计算成绩级别 案例4-11 根据月份求季度 案例4-12 输入算式做四则运算
38
4.5 switch语句
案例4-10 [案例任务]
计算成绩级别
输入百分制成绩,输出成绩级别A、B、C、D、E。 90~100分以上为A,80~89分为B,70~79为C, 60~69为D,0~59为E,其他成绩则显示“成绩 错误!”。
26
4.4
if语句
4.4.3多分支
案例4-7 用多分支求解分段函数
27
4.4
if语句
4.4.3多分支
案例4-7 用多分支求解分段函数
[案例任务]
对于如下函数: 用scanf函数输入x的值,输出y的值。 运行结果如下(输入的数据是9)
[解决方案]使用if „ else if„else语句。
28
4.4
分析下列程序的运行结果,掌握“与”、 “或”、“非”三个逻辑运算符及其优先级。
程序代码
11
4.3 逻辑运算符和逻辑表达式
相关知识: 1.逻辑运算符及其优先级 2. 逻辑表达式 3. 逻辑表达式的优先级与结合性
12
4.3 逻辑运算符和逻辑表达式
案例4-4 [案例任务]
逻辑运算中的“短路”现象
分析下列程序的运行结果,掌握多个运算对象 进行“与”、“或”情况下的“短路”现象。
22
4.4
if语句
4.4.2双分支
案例4-6 求两个数中的最大者
23
4.4
if语句
4.4.2双分支
案例4-6 求两个数中的最大者
[案例任务]
由键盘输入两个整数,输出它们中的最大 者。运行结果如下:

选择结构程序设计

选择结构程序设计

选择结构程序设计选择结构程序设计选择结构是程序设计中一种重要的控制结构,它允许根据条件的不同,执行不同的代码块。

在选择结构中,我们使用条件来判断程序的执行路径,决定哪个代码块会被执行。

if语句if语句是选择结构中最简单的一种形式。

在if语句中,我们使用一个条件表达式来判断是否执行某个代码块。

如果条件表达式为真,执行该代码块;如果条件表达式为假,跳过该代码块。

if 条件表达式:如果条件为真执行这里的代码代码块1我们也可以在if语句后面加上一个else语句,以便在条件为假时执行另一个代码块。

if 条件表达式:如果条件为真执行这里的代码代码块1else:如果条件为假执行这里的代码代码块2if-else if语句有时候我们需要更复杂的选择结构,需要根据不同的条件,执行不同的代码块。

这时候我们可以使用if-else if语句。

if 条件表达式1:如果条件1为真执行这里的代码代码块1elif 条件表达式2:如果条件1为假而条件2为真执行这里的代码代码块2我们可以根据实际情况,添加更多的elif语句。

switch语句有些编程语言提供了switch语句作为选择结构的一种形式,它可以代替if-else if语句。

在switch语句中,我们可以根据某个表达式的值,执行不同的代码块。

switch 表达式:case 值1:如果表达式的值为1执行这里的代码代码块1case 值2:如果表达式的值为2执行这里的代码代码块2default:如果表达式的值不匹配上面的值执行这里的代码默认代码块在一些编程语言中,switch语句还提供了break语句,可以在执行完一个代码块后跳出switch语句。

选择结构程序设计是非常常见和重要的一种程序设计技巧,它使得我们可以根据不同的条件,执行不同的代码块,从而实现更灵活和具有逻辑的程序。

无论是if语句还是switch语句,都是选择结构的常见表现形式,在编程过程中需要灵活运用。

【c语言程序设计】选择结构程序设计

【c语言程序设计】选择结构程序设计

【c语言程序设计】选择结构程序设计C语言程序设计 - 选择结构程序设计C语言是一种通用的程序设计语言,广泛应用于计算机科学和软件开发领域。

选择结构是C语言中的一种重要控制结构,用于根据条件的真假来决定程序运行的路径。

本文将介绍选择结构在C语言程序设计中的应用以及相关的编程技巧。

一、IF语句IF语句是最简单的选择结构,用于根据一个条件的真假来决定程序的下一步动作。

它的基本语法如下:if (条件) {// 如果条件为真,执行这里的代码}例如,如果我们想判断一个数字是否为正数,可以使用如下的C代码:```c#include <stdio.h>int main() {int num;printf("请输入一个数字:");scanf("%d", &num);if (num > 0) {printf("这是一个正数。

\n");}return 0;}```上述代码中,用户输入一个数字,程序会判断这个数字是否大于0,如果是,则输出"这是一个正数"。

二、IF-ELSE语句IF-ELSE语句是在条件为真或假的情况下,分别执行不同的代码块。

它的基本语法如下:if (条件) {// 如果条件为真,执行这里的代码} else {// 如果条件为假,执行这里的代码}例如,我们想判断一个数字是否为奇数,可以使用如下的C代码:```c#include <stdio.h>int main() {int num;printf("请输入一个数字:");scanf("%d", &num);if (num % 2 == 0) {printf("这是一个偶数。

\n");} else {printf("这是一个奇数。

\n");}return 0;}```上述代码中,用户输入一个数字,程序会通过判断这个数字是否能被2整除来确定是奇数还是偶数,并输出相应的结果。

实验4 选择结构程序设计

实验4  选择结构程序设计

实验4 选择结构程序设计1.实验目的(1)熟练掌握if语句的三种形式,在实际中能根据具体情况灵活选择某种形式的if语句(2)进一步熟悉关系表达式和逻辑表达式(3)熟练掌握switch语句的功能、格式和执行过程(4)能用switch语句实现简单的选择功能2.实验内容2.1基础知识(1)在横线上填上适当的标点符号。

该程序的功能是输出a、b中的最大值。

#include “stdio.h”void main(){ int a,b,t;scanf("%d %d",&a,&b);if___b>a_______ t=a;a=b;b=t;____ptintf("\nmax=%d",a);}(2)在横线上填上适当的标点符号。

将题(1)改写成if—else的形式:#include “stdio.h”void main(){ int a,b,t;scanf("%d %d",&a,&b);if___a>b_______ptintf("\nmax=%d",a);____ /* 思考:此处的符号是否可以省略?什么情况下不能省略?*/else____ptintf("\nmax=%d",b);____}(3)在横线上填上适当的标点符号。

switch (表达式){ case_____常量表达式1____ 语句1____case_____常量表达式2____ 语句2____……default____ 语句n____ }(4)对于if—else语句,如果分支较多,有时用swtich语句更加合适,swtich语句是多分支选择结构,其执行过程:首先比较___________与___________是否相等,如果相等,则执行case后面的语句,如果都不相等,则执行__________。

2.2阅读程序(1)#include “stdio.h”void main(){ int number;printf(“number=“);scanf(“%d”,&number);if (number%10==0) printf(“%d是10的倍数。

第4章 顺序选择结构程序设计

第4章  顺序选择结构程序设计
功能:如果布尔表达式为true, 则执行语句1,
布尔表达式? false
true
语句2
语句1
否则执行语句2
例 子: if(x>y) Console.WriteLine("x比较大"); else Console.WriteLine("y比较大");
说 明:
① 若布尔表达式的值为真时,程序执行内嵌语句序 列1,否则执行内嵌语句序列2。 ② if else语句中,内嵌语句序列1和内嵌语句序列2可 以是简单语句,也可以是复合语句。如果内嵌语句 序列中为多个执行语句要使用花括号({…})组合为一 个语句块。
当判断的条件相当多时,难以阅读
使用switch 语句
问题: 根据考试等级输出百分制 分数段: A级:90-100分 B级:80-89分 C级:70-79分 D级:60-69分 E级:0-59分
switch( grade) { case 'A': Console.WriteLine("90-100"); break; case 'B':Console.WriteLine("80-89"); break; case 'C': Console.WriteLine("70-79"); break; .................... default: Console.WriteLine("出错啦");
必须是离散类 型 必须是相匹配 switch( 表达式 ) 的常量表达式 { case 常量表达式1 : 语句组1; break; ........ 可以有多行语句, default: 语句组0 ; break; 不需要加 {}号 } default 分支是可选的

C语言程序设计第四章

C语言程序设计第四章

运行情况: 1989↙ 1989is not a leap year.
2000↙
2000 is a leap year.
C程序设计
第五章
选择结构程序设计
例4.6 求
2 ax bx c 0 方程的解
#include "stdio.h" #include "math.h" main() {float a,b,c,d,disc,x1,x2,realpart,imagpart; scanf("%f,%f,%f",&a,&b,&c); printf("The equation"); if (fabs(a)<=1e-6) printf("is not a quadratic"); else disc=b*b-4*a*c; if(fabs(disc)<=1e-6) printf("has two equal roots:%8.4f\n",-b/(2*a)); else if(disc>1e-6) {x1=(-b+sqrt(disc))/(2*a); x2=(-b-sqrt(disc))/(2*a); printf("has distinct real roots:%8.4f and %8.4f\n",x1,x2); } else {realpart=-b/(2*a); imagpart=sqrt(-disc)/(2*a); printf("has complex roots:\n"); printf("%8.4f+%8.4fi\n",realpart,imagpart); printf("%8.4f-%8.4fi\n",realpart,imagpart); } }

PASCAL奥赛培训教程

PASCAL奥赛培训教程

Pascal见简明教程4第四章选择结构程序设计4.1 IF语句IF语句的一般格式是:IF 条件 THEN 语句1{条件为真时的响应、处理}ELSE 语句2;{条件为假时的响应、处理}使用条件语句时要注意:1、条件语句是一个语句。

IF、THEN、ELSE都是语句的一个部分。

所以它只能有一个“;”作为分隔符,放在句子的结束,特别要注意不能放在ELSE 之前。

2、如果我们的程序只需对条件为真的情况作出处理,不需要处理条件为假的情况,则IF语句省略ELSE分句,格式变成:IF 条件 THEN 语句1;3、if语句可以多层嵌套。

嵌套时为了避免误解,可以用begin ,end括起嵌套部分;else分句一般和最近的if分句配套: IF 条件THEN BEGINif 条件ENDELSE BEGINif 条件4.2 CASE语句分情况语句适用于对一个条件的多种情况的响应。

格式:case 表达式 of标号1:语句1;标号2:语句2;……标号n:语句n;else 语句n+1end;case语句在使用时有几点要注意:1. end与case对应;标号与语句之间用“:”分隔;else与语句之间不用分隔符。

2.字符型,布尔型,但不能是实型;跟if语句相同,case语句中的else也可以省略。

3. 语句可以是多个语句,但必须用语句括号(begin……end)括起4. case语句也可以嵌套.例2:从键盘上读入年和月,输出该月有多少天。

上机练习:1、输入三角形的三边a,b,c,判断是否为三角形,如果是则输出三角形的面积。

分析:(1)判断三边是否否和三角形的条件是什么?(2)利用海伦公式求三角形面积:p:=(a+b+c)/2 S=√[p(p-a)(p-b)(p-c)]2、某超市为了促销,规定:购物不足50元的按原价付款,超过50不足100的按九折付款,超过100元的,超过部分按八折付款。

编一程序完成超市的自动计费的工作。

3、输入a,b,c三个不同的数,将它们按由小到大的顺序输出。

c4、c5选择结构及循环结构程序设计

c4、c5选择结构及循环结构程序设计

switch语句的使用要点
1.switch中的表达式可以是整型或字符型表达式。
2.每个常量表达式的值必须各不相同,否则将会出现矛盾. 3.当表达式的值与case后面的常量表达式值相等时就执行此case 后面的语句. 4.break语句在switch中的作用:强行跳出switch体转到其它某条 语句,每个case后面应有一个break语句(否则程序的执行顺序 将改变),default分支后的break可以省略。 5.各个case出现的先后顺序不影响程序的执行结果.
main() { int i,sum;
i=1; 要点: while (i<=100) · 循环体若不止一条语句时, { sum=sum+i; 应用{…}括起来。 i++;} · 在循环体中应有使循环趋于结束的语 printf(“%d”,sum); 句,以避免“死循环”。 }
do—while语句
1、功能:do—while语句一般完成直到型循环, 2、格式为: do 语句块; while (表达式p); 3、执行过程:先执行循环体,后判定表达式,当表达式的值为 “假”时,循环结束。
条件运算符(?:)
1、含义:在if语句中,表达式为真和假时都执行一条赋值语句并 且都是给同一个变量赋值.这时可以把if语句简化为条 件运算符. 2、一般形式为: 表达式1?表达式2:表达式3;
如: 可以写成: if (a>b) max=a; max=(a>b)?a:b; else max=b; (条件运算符是三目运算符)
(5)各种形式的循环都可以用来处理同一问题,一般情况下它们可 以互相替代。
for语句构成的循环
1、功能:用于循环次数已确定或给定循环条件的情况,适合于 描述一个事物从初始态到终止态的变化过程。最为灵活。 2、语句格式为: for(表达式1;表达式2;表达式3) 循环体; 3、执行过程为: (1)先求解表达式1(初值); (2)求解表达式2,并判定其值是否为真(非0),若为真,则执行其 所包含的语句,然后执行下面的步骤3;若为假,则直接执行步 骤5; (3)执行循环体语句后,求解表达式3; (4) 转回执行步骤2; (5)执行for下面的语句.

4.选择结构

4.选择结构

2、if (表达式) 语句1 else 语句2 例如: if (x>y) printf(“%d”, x); else printf(“%d”, y);
例 输入三角形边长,求面积
#include <math.h> #include <stdio.h> main() { double a,b,c,s,area; scanf("%lf,%lf,%lf",&a,&b,&c); s= (a+b+c) /2.0; area=sqrt(s*(s-a)*(s-b)*(s-c)); printf("a=%7.2f,b=%7.2f,c=%7.2f\narea=%7.2f\n",a,b,c,area); } 输入:9.89,12.65,8.76 输出:a= 9.89, b= 12.65, c= area= 43.17
内嵌if
if (expr1) if (expr2) else else if(expr3) else
statement1 statement2 内嵌if statement3 内嵌if statement4
说明: if ~ else 配对原则:缺省{ }时,else总是和它上面 离它最近的未配对的if配对 if(……) if(……) if(……) else…... else…... else…...
(if语句)练习题
2.以下程序的输出结果是( C )
#include “stdio.h” void main() {int a=2,b=-1,c=2; if(a<b) if(b<0) c=0; else c++; printf(“%d\n”,c); } (A) 0 (B) 1 (C) 2 (D) 3

选择结构课件

选择结构课件

N 语句2
在if和else后面可以有多个操作语句,则if语句 的形式变成: if (表达式) {语句序列1} else {语句序列2}
教育改变命运,励志改变人生。
第四章 选择结构程序设计—if语句
if语句的其他形式
当语句2为空时, else可以省 略,if语句的形式变换为: if (条件) 语句 任务2:由键盘输入x、y两个数,要求从大到小排序并输出。 分析: 关键技术:两个变量互换的算法是:t=x;x=y;y=t; 定义x、y、t用于存放输入的两个数和中间变量; 输入x、y if(x<y) {t=x;x=y;y=t;} 输出x、y
引例
计算函数值
sin( x) y x 1
需考虑:① 输入x ② 判断x值
x0 x0
③ 根据x值,计算y值
④ 输出y值 显然②③顺序程序不能够实现,须引入选择结构程序。
教育改变命运,励志改变人生。
第四章 选择结构程序设计—if语句
引例:计算函数值
sin( x) y x 1 x0 x0
通过这几个例子,我们可以发现,计算机编程的核心是算法,算法通用于各种语 言。算法可以通过不同的编程语言来实现。 教育改变命运,励志改变人生。
第四章 选择结构程序设计—if语句
任务3: 任给a、b、c三个数,按从大到小的顺序输出。
分析: 1)对于任意两个数a,b:若a>b, 则输出a,b,否则交换a和b 2)对于三个数,有6种可能: a>b>c a>c>b b>a>c b>c>a c>a>b c>b>a 3) 使用判断-交换法: ① 若a<b,则交换a和b ② 若a<c,则交换a和c 结果a最大 ③ 若b<c,则交换b和c 结果a>b>c 交换方法: 设a=5,b=8 a=b;b=a; 结果a=8,b=8(错误)

计算机二级C语言第4章 选择结构程序设计

计算机二级C语言第4章 选择结构程序设计
在使用时应注意以下两点。
①应当注意if与else的配对关系。原则是else总是与它上面最近的、未
配对的if配对。
②如果if与else的数目不一样,为了避免在if与else配对时出错,建议
读者使用“{}”来限定了内嵌if语句的范围。如下形式的嵌套语句:
if(表达式1)
{if(表达式2)语句1} /*内嵌if*/
这时形成了阶梯形的嵌套if语句,此形式的语句可以用以下语句形式
表示,看起来层次比较分明。
4.4.2 if语句的嵌套
if(表达式1)

语句1

else if(表达式2)
else if(表达式n-1)
语句2
语句n-1
else if(表达式3)
else
语句3
语句n
嵌套选择结构主要用于处理多条件的问题。设计嵌套选择结构时,应
②只在else子句中嵌套if语句,形式如下:
if(表达式1)
语句1
else
if(表达式2) 语句2
else 语句3
③不断在else子句中嵌套if语句就形成多层嵌套,形式如下:
if(表达式1) 语句3
语句1

else
if(表达式n)
if(表达式2) 语句n
语句2
else(表达式n)
else(表达式3) 语句n
case常量表达式2: 语句2

case常量表达式n: 语句n
default:
语句n+1
}
【说明】
①switch后面的表达式必须用圆括号括起来,其取值必须是整型或字
符型。switch语句后面用花括号“{}”括起来的部分称为switch语句体,

第4章 C语言选择结构程序设计

第4章  C语言选择结构程序设计

《 C语言程序设计》
流程图
真 (非0) 表达式
假(0)
语句1
语句2
《 C语言程序设计》
例4.1
【例4.1】试用if…else语句编写程序,判断学生成绩 是否合格。
判断方法: ①如果成绩大于等于60,输出及格 ②否则输出成绩不及格
《 C语言程序设计》
4.2 if语句 if语句
C语言中if条件语句有三种结构形式,分别是: if结构(单分支结构) if if-else if-else结构(双分支结构) if-else-if结构 (多分支结构) if-else-if
《 C语言程序设计》
例4.5 设计一个应用程序,判断某一年是否为闰年
判断方法: ①如果该年能被4整除而不能被100整除,则为闰年; ②或者能被400整除也是闰年。 如: 1996年、2000年是闰年 1996年 2000年是闰年
1998年 1900年不是闰年 1998年、1900年不是闰年
逻辑表达式为: year%4==0 && year%100!=0 || year%400==0
4.4 条件运算符和条件表达式
条件运算符: 1、条件运算符:?:是C语言中惟一的一个三 目运算符。 一般形式为: 2、一般形式为: 表达式1 ? 表达式2 : 表达式3 3、操作过程:如果表达式1成立,则表达式2的 操作过程: 值就是此条件表达式的值;否则,表达式3 的值是此条件表达式的值。
《 C语言程序设计》
《 C语言程序设计》
4.2.2 if-else结构 if-else结构
1、格式: if(条件表达式 语句1 条件表达式) if(条件表达式) 语句1; 真 (非0) else 语句2; 语句 ; 语句1 2、执行过程:

C语言选择结构程序设计

C语言选择结构程序设计

C语言选择结构程序设计C语言是一种常用的编程语言,具有广泛的应用领域。

在C语言中,选择结构是一种重要的程序设计方法,可以根据条件判断来选择不同的执行路径。

本文将介绍C语言中选择结构的使用方法,并通过实例加深理解。

一、if语句if语句是最基本的选择结构,它可以根据条件的真假选择执行不同的代码块。

if语句的语法格式如下:if (条件){// 如果条件为真,执行这里的代码}else{// 如果条件为假,执行这里的代码}例如,我们可以编写一个程序来判断一个数是正数还是负数:```c#include <stdio.h>int main(){int num;printf("请输入一个整数:"); scanf("%d", &num);if (num > 0){printf("这是一个正数。

\n"); }else if (num < 0){printf("这是一个负数。

\n"); }else{printf("这是0。

\n");}return 0;}通过以上代码,我们可以根据用户输入的数判断它是正数、负数还是0,并进行相应的输出。

二、switch语句switch语句可以根据不同的条件值选择执行不同的代码块。

switch 语句的语法格式如下:```cswitch (表达式){case 值1:// 当表达式的值等于值1时执行这里的代码break;case 值2:// 当表达式的值等于值2时执行这里的代码break;// ...default:// 当表达式的值与所有case的值都不相等时执行这里的代码 break;```例如,我们可以编写一个程序来根据用户输入的星期几输出相应的中文名称:```c#include <stdio.h>int main(){int day;printf("请输入星期几的数字(1-7):");scanf("%d", &day);switch (day){case 1:printf("星期一。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

说明:
(1)3种形式的if语句中在if后面都有表达式, 一般为逻辑表达式或关系表达式。 (2)第二,第三种形式的if语句中,在每个 else前面有一个分号,整个语句结束处有一 个分号。 (3)在if和else后面可以只含有一个内嵌的操 作语句,也可以由多个操作语句,此时用花 括号将几个语句括起来成为一个复合语句。
4.3 if语句
1.if语句的三种基本形式 (1)if(表达式) 语句 例: if(x>y) printf(“%d”,x);
表达式 真(非0) 假 (0)
语句
(2)if(表达式) 语句1 else 语句2 例: if (x>y) printf(“%d”,x); else printf(“%d”,y);
上例中的红色字对应的程序段可以有多个不同的形式。 下面列举了四种,同学们还能写出其他的形式吗?
程序1: if(x<0) y= -1; else if(x>=0) if(x>0) y=0; else y=1; 程序3: y= -1; if(x>=0) if(x>0) y=1; else y=0; 程序2: if(x>=0) if(x>0) y=1; else y=0; else y= -1;
语句1
else
{if()
语句1}
if() 语句2 else 语句3
if() 语句2 else 语句3
当if和else数目不同时,可以加花括号来确定= 0 值,输出y值。 1
(x<0) (x=0),编一程序,输入一个x (x>0)
#include <stdio.h> int main( ) {float x,y; scanf("%f",&x); if(x<0) y=-1; else if(x==0) y=0; else y=1; printf("x=%5.2f,y=%5.2f\n",x,y); return 0; }
Y 语句1
条件
N 语句2
(3)if(表达式1) 语句1 else if(表达式2) 语句2 else if(表达式3) 语句3 …… else if(表达式m) 语句m else 语句n
例:
if (number>500) cost=0.15; else if(number>300) cost=0.10; else if(number>100) cost=0.075; else if(number>50) cost=0.05; else cost=0;
例4.2输入一个字符,判别它是否大写字母,如果是,将 它转换成小写字母;如果不是,不转换。然后输出最后 得到的字符。 #include <stdio.h> int main ( ) { char ch; scanf("%c",& ch); ch=(ch>='A'&& ch<='Z')?(ch+32):ch; printf("%c\n",ch); return 0; }
例4.1 输入三个数a,b,c,要求按由小到大的顺序输出。
#include <stdio.h> int main( ) if a>b float a,b,c,t; 将a和b对换 { scanf("%f%f%f",&a,&b,&c); if a>c if(a>b) 将a和c对换 {t=a;a=b;b=t;} if b>c if(a>c) 将b和c对换 {t=a;a=c;c=t;} if(b>c) {t=b;b=c;c=t;} printf("%5.2f,%5.2f,%5.2f\n",a,b,c); return 0; }
如果字符变量ch的值为大写字母,则条件表达 式的值为(ch+32),即相应的小写字母。 如果ch的值不是大写字母,则条件表达式的值 为ch,即不进行转换。
例:
if (a>b) max=a; else max=b; 当a>b时将a的值赋给max,当a≤b时将b的值赋给max, 可以看到无论a>b是否满足,都是向同一个变量赋值。 可以用下面的条件运算符来处理:
max=(a>b)?a∶b;
说明: (1)条件运算符的执行顺序:先求解表达式1,若为非0(真) 则求解表达式2,此时表达式2的值就作为整个条件表达式 的值。若表达式1的值为0(假),则求解表达式3,表达 式3的值就是整个条件表达式的值。 (2)条件运算符优先级高于赋值运算符 ,低于关系运算符 和算术运算符。 (3)条件运算符的结合方向为“自右至左”。 (4)“表达式2”和“表达式3”不仅可以是数值表达式,还可以 是赋值表达式或函数表达式。 (5)条件表达式中,表达式1的类型可以与表达式2和表达 式3的类型不同。
程序4:
y=0; if(x!=0) if(x>0) y=1; else y= -1;
3.条件运算符
•格式: •功能: 表达式1?表达式2∶表达式3 判断表达式1的值,如果成立(表达式1 的值为真)就执行表达式2,否则就执 行表达式3 •使用场合:若在if语句中,当被判别的表达式的 值为“真”或“假” 时,都执行一个 赋值语句且向同一个变量赋值时,可以 用一个条件运算符来处理。
2.if语句的嵌套
在if语句中又包含一个或多个if语句称为if语句的嵌套。 形式: if() if() 语句1 else 语句2 else if() 语句3 else 语句4
匹配规则: Else总是与它上面的,最近的,统一复合语句中的,未配 对的if语句配对。
例:
if()
例:
if()
if()
else
相关文档
最新文档