C语言选择结构设计

合集下载

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。

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语句,实现多分支的选择结构 语句, 语句

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

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


!注意 if 与 else 的配对关
系,else总是与它上面最近 的未配对的 if 配对,若if与 else 的数目不一致,可以加 { }来确定配对关系。
整理课件
例:有一函数
y=
-1 0
(x<0) 输入X值,输出Y值。 (x=0)
1 (x>0)
main( ) { int x, y; scanf("%d",&x);
if (x<0) y= -1; else if (x= =0) y=0;
if(x<=0)
else y=1;
if (x= =0) y=0; y= -1;
else y=-1;
if (x>=0)
eplrsientfy(="1x;=%d,y=%d\n{"i,xf ,(yx)>;0) y=1; }
}
else y=0;
整理课件
程序设计基本步骤
定义变量 产生数据 数据处理、计算 输出结果
整理课件

程序举例
编程1:判断某一年是否闰年。 能被4整除但不能被100整除的是闰年; 能被400整除的是闰年。
main( ) { int y; scanf("%d",&y);
if ((y%4==0&&y%100!=0)||(y%400==0)) printf("yes\n",y);
}
15 x 30 30 x 100 100 x 200 其它
整理课件
读程序段
m,n,x,y,z均为整型变量,求执行完该段 程序后各变量的值。
m=10;n=5;
x=(--m==n++)?--m:++n;

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

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

第一章CH4 选择结构程序设计4.1 读程序1.有如下代码:#include<stdio.h>main( ){ char ch;ch=getchar( );switch(ch){ case ‘A’ : printf(“%c”,’A’);case ‘B’ : printf(“%c”,’B’); break;default: printf(“%s\n”,”other”);}}当从键盘输入字母A时,运行结果为:AB详见switch语句switch(表达式){ case 常量1 :语句1case 常量2 :语句2┇┇┇case 常量n :语句ndefault : 语句n+1}其中表达式,常量1,…,常量n都为整型或字符型case相当于给出执行程序的入口和起始位置,若找到匹配的常量,则从此处开始往下执行程序,不再匹配常量,直至遇到break或switch结束本题过程:首先从键盘接收一个字符’A’并将其放在变量ch中。

执行switch语句。

Switch后面的条件表达式为ch,因此表达式的值即为字符’A’. 用字符’A’依次与下面的case中的常量匹配。

与第1个case后的常量匹配,则从其后的语句开始往下执行程序(在执行过程中不再进行匹配。

)因此先执行printf(“%c”,’A’),屏幕上输出A;再往下继续执行printf(“%c”,’B’),屏幕上输出B;再继续执行break,此时跳出switch语句。

2. 有如下代码:#include <stdio.h>main( ){ int a=1,b=0;scanf(“%d”,&a);switch(a){ case 1: b=1;break;case 2: b=2;break;default : b=10;}printf("%d ", b);}若键盘输入5,运行结果为:10本题过程:首先用scanf函数为变量a赋值为5。

C语言程序设计—选择结构

C语言程序设计—选择结构

C语言程序设计—选择结构C语言是一门广泛应用于计算机科学和软件开发领域的编程语言。

它提供了丰富的选择结构,允许程序根据条件来选择不同的执行路径。

选择结构是控制程序流程的重要组成部分,它基于条件的真假来决定不同的操作。

1. if语句if语句是C语言中最常用的选择结构之一。

它用于根据条件的真假来执行不同的代码块。

if语句的基本格式如下:```if (条件) {// 条件为真时执行的代码块}```可以根据需要添加else语句来处理条件为假的情况。

若条件为假,则执行else后的代码块。

示例如下:```if (条件) {// 条件为真时执行的代码块} else {// 条件为假时执行的代码块}```2. switch语句switch语句用于在多个可能的选项之间选择一个执行路径。

它将某个变量的值与一系列case标签进行比较,并根据匹配的结果执行相应的代码块。

switch语句的基本格式如下:```switch (表达式) {case 值1:// 执行代码块1break;case 值2:// 执行代码块2break;default:// 默认执行代码块break;}在switch语句中,表达式的值会与每个case标签进行比较,如果匹配则执行相应的代码块。

在每个代码块的末尾,使用break语句来跳出switch语句,以避免执行其他不相关的代码块。

如果没有匹配到任何一个case标签,将执行默认的代码块。

3. 嵌套选择结构C语言允许选择结构的嵌套使用,即在一个选择结构中嵌入另一个选择结构。

这样可以根据多个条件进行判断,实现更灵活和复杂的程序逻辑。

```if (条件1) {if (条件2) {// 执行代码块1} else {// 执行代码块2}} else {// 执行代码块3}在上述示例中,先判断条件1,如果条件1为真,则进一步判断条件2。

根据不同的条件结果执行相应的代码块。

选择结构是C语言程序设计中非常重要的部分,它使程序能够根据不同的条件来选择不同的执行路径。

C语言_实验二、选择结构程序设计

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的值。

C选择结构程序设计

C选择结构程序设计
}
printf("The maximum value is %dn", max);
简单的选择结构程序示例
• return 0;
简单的选择结构程序示例
}
```
复杂的选择结构程序示例
• 总结词:一个复杂的示例,通过嵌套的ifelse语句实现多个条件判断和流程控制。
复杂的选择结构程序示例
嵌套if-else语句
选择结构在游戏中的应用示例
}
printf("Congratulations! You guessed the number
in %d tries.n", tries); // 输出猜测结果和猜测次数
选择结构在游戏中的应用示例
• return 0;
选择结构在游戏中的应用示例
}
```
06
总结与展望
• 人工智能与机器学习:随着人工智能和机器学习技术的不断发展,选择结构程 序设计可能会与这些领域产生更多的交叉和融合。例如,使用机器学习算法来 自动生成或优化选择结构代码,从而提高开发效率和代码质量。
THANKS
感谢观看
• 泛型编程:泛型编程是一种更通用的编程范式,它允许算法独立于特定数据类 型进行操作。泛型选择结构可以进一步提高代码的复用性和可维护性,是未来 发展的重要方向之一。
• 条件编译:条件编译是一种特殊的编程技巧,可以根据预定义的宏或条件来决 定是否编译某段代码。条件编译可以看作是一种更灵活的选择结构,它允许在 编译时根据不同条件决定程序的某些部分是否被包含。
简单的选择结构程序示例
• 总结词:一个简单的选择结构程序示例,通过if语句实现 条件判断和流程控制。
简单的选择结构程序示例

c语言选择结构程序设计教案

c语言选择结构程序设计教案

C语言选择结构程序设计教案一、教学目标1. 理解选择结构的概念和作用。

2. 掌握if语句和switch语句的语法和使用方法。

3. 能够运用选择结构解决实际问题。

二、教学内容1. 选择结构的概念和作用。

2. if语句的语法和使用方法。

3. switch语句的语法和使用方法。

4. 选择结构的嵌套。

三、教学重点与难点1. 重点:if语句和switch语句的语法和使用方法。

2. 难点:选择结构的嵌套和运用。

四、教学方法1. 讲解:讲解选择结构的概念和作用,以及if语句和switch语句的语法和使用方法。

2. 示例:通过示例演示如何使用选择结构解决实际问题。

3. 练习:让学生通过练习掌握选择结构的运用。

五、教学准备1. 教材或教案。

2. 计算机和投影仪。

3. 练习题。

六、教学过程1. 引入:通过一个简单的例子,比如判断一个数的正负,引入选择结构的概念。

2. 讲解:详细讲解if语句和switch语句的语法和使用方法,包括条件表达式和分支语句。

3. 示例:给出一些示例代码,演示如何使用if语句和switch语句来实现不同的选择结构。

4. 练习:让学生编写一些简单的程序,练习使用if语句和switch语句。

七、案例分析1. 案例一:编写一个程序,根据用户输入的年份,判断是平年还是闰年。

2. 案例二:编写一个程序,根据用户输入的分数,判断成绩等级。

八、选择结构的嵌套1. 讲解:讲解选择结构嵌套的概念和作用。

2. 示例:给出一些示例代码,演示如何使用选择结构嵌套来解决更复杂的问题。

3. 练习:让学生编写一些程序,练习使用选择结构嵌套。

九、课堂互动1. 提问:让学生回答关于选择结构的问题,比如if语句和switch语句的区别等。

2. 讨论:让学生分组讨论如何使用选择结构解决实际问题,并展示他们的解决方案。

十、总结与作业1. 总结:总结本节课所学的内容,包括选择结构的概念、if语句和switch语句的语法和使用方法,以及选择结构的嵌套。

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

D
80>score≥70
C
90>score≥80
B
100≥score≥90 A
#include "stdio.h"
void main( ) { int score;
printf("score= " ); scanf( "%d" , &score ); if (score>=0 && score<60 )
printf( "grade is B" ); if (score>=90)
printf( "grade is A" ); }
#include "stdio.h"
void main( ) { int score;
printf("score=" ); scanf( "%d" , &score ); if ( score>=0 && score<60 )

P2
假……


Pn-1
S1
S2
Sn-1
Sn
……
下一语句
注意:else与最近的if相匹配。
【例】根据成绩打印出等级。 (0-59:E 60-69:D 70-79:C 80-89:B 90-100:A)
算法分析:设成绩为score,假设取值在0-100之间, 没有错误的输入。
60>score≥0
E
70>score≥60
如:if(a>0) printf(“a is positive.\n”);
if(x>y) { t=y;
y=x; x=t; }
2)分支选择 if(e) A else B 当e为真值(非0)时执行A,否则执行B或后续语句。
if(a>0) printf(“A is positive.\n”); else printf(“A is not positive.\n”); ¡A或B都可以是单一语句,也可以是复合语句; ¡else部分不能独立存在,即else前一定有一个“;”,它 必定是if语句的一部分。
例:任给a,b,c三个数,按从大到小的顺序输出。
分析: 1)对于任意两个数a,b:
若a>b,则输出a,b;否则输出b,a。 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
例:计算函数
#include <stdio.h>
#include <math.h>
void main()
{ float x,y;
printf(“input x:”);
scanf(“%f”,&x); if(x<-3.0) y=x-1.0;
if(x<=3.0)
else if(x>=-3.0&&x<=3.0) y=sqrt(9.0-x*x);
printf("grade is E" ); if (score >=60 && score<70 )
printf( "grade is D"); if (score >=70 && score<80 )
printf( "grade is C"); if (score>=80 && score<90 )
a
b
c
5
6
7
若a<b,则交换a和b
a
b
c
6
5
7
若a<c,则交换a和c,结果a最大
a
b
c
7
5
6
若b<c,则交换b和c,结果a>b>c
a
b
c
7
6
5
#include <stdio.h> void main() { int a,b,c,t;
printf(“input a,b,c:”); scanf(“%d,%d,%d”,&a,&b,&c); if(a<b) { t=a; a=b; b=t;} if(a<c) { t=a; a=c; c=t;} if(b<c) { t=b; b=c; c=t;} printf(“%d,%d,%d”,a,b,c); }
printf( "grade is C");
13
else if ( score>=60 )
14
printf( "grade is D" );34;grade is E" ); }
4.2 if语句
二、if语句的嵌套 if(P1) if(P2) A else B else if(P3) C else D
#include<math.h>
void main()
{
float x,y; printf(“Enter x:”); scanf(“%f”,&x);
Enter x: 2 x= 2.00 y= 0.4546
if(x!=0.0)
y=sin(x)/x;
else y=1;
printf(“\nx=%5.2f\ty=%7.4f\n”,x,y);
6 scanf( "%d" , &score );
7 if ( score>=90 &&score<=100)
8
printf("grade is A" );
9 else if ( score>=80 )
10
printf( "grade is B");
11
else if ( score>=70 )
12
if ( a < b ) if ( c < d ) x = 1 ; else if ( a < c ) if ( b < d ) x =2 ; else x = 3 ; else x = 6 ;
else x = 7 ;
A)1 B)2 C)3 D)6
4.2 if语句
三、条件运算符与条件表达式 1.条件运算符:?和: /*唯一的三目运算符*/ 2.条件表达式:e1?e2:e3
printf( "grade is A" ); }
1 #include "stdio.h" 2 void main( )
注意条件的表示形式和顺序
3 { /*E:0-59 D:60-69 C:70-79 B:80-89 A:90-100*/
4 int score;
5 printf("score=" );
②对于逻辑或运算,如果第1个对象被判定为“逻辑 真”,系统不再计算第2个对象。
思 考 : 假 设 n1=1、 n2=2、 n3=3、 n4=4、 x=1、 y=1, 求解表达式
(x = n1 > n2) && (y = n3 > n4)后,x、y的值? 答案: x=0,y=1
4.2 if语句
一、if语句的三种形式 1)条件执行 if(e) A -----A可为简单或复合语句
第四章 选择结构程序设计
内容提要: 1、关系表达式与逻辑表达式 2、选择结构控制语句
(if语句、switch语句)
引例:
计算函数值:
需考虑:1)输入x 2)判断x的值 3)根据x的值计算y的值 4)输出y的值
显然2)3)顺序结构程序不能实现,须引入选择结构 程序。
#include<stdio.h>
printf("grade is E" ); else if ( score<=69 )
printf( "grade is D"); else if ( score<=79 )
printf( "grade is C"); else if ( score<=89 )
printf( "grade is B" ); else
如:x!=0 ‘a’==‘A’ a*a+b*b<Y*Y
注意:数值量比较---数字的大小
字符量比较---ASCII的大小
¡ 关系表达式的值:真(1) 假(0)
c>a+b
c>(a+b)
a==b<c a==(b<c)
a=b<c
a=(b<c)
问:a=1,b=-5,c=‘a’时上面表达式的值
¡ 结合规则:左结合
}
4.1 条件判断---关系表达式
¡ 关系运算:是对两个量进行“比较运算”
¡ 关系运算符:<、<=、 >、>=、==、!=
¡ 优先级别


算术运算符、关系运算符、赋值运算符


如:c>a+b a==b<c
c>(a+b) a==(b<c) 注意:”=”与”==”不同
a=b<c
a=(b<c)
¡ 关系表达式:用关系运算符将两个表达式(算术、 字符表达式)连接起来的有意义的式子。
注意:在C语言中,表达式e的值为非0时,系统均按“真值”处理。 如:if(‘a’) printf(“O.K.”); x=-5; if(x) printf(“O.K.”); y=0; if(y==0) printf(“O.K.”); y=0; if(y) printf(“O.K.”);
相关文档
最新文档