C语言第5讲--数据的复杂操作之选择程序设计_图文.ppt
合集下载
C语言程序设计教程PPT完整全套教学课件
联合体定义和使用场景分析
联合体定义
使用`union`关键字定义联合体类型,指定联合体名 称和成员列表。
内存共享
联合体的所有成员共享同一块内存空间。
使用场景
适用于多种数据类型但只需存储其中一种的场景, 如混合类型的数据存储和处理。
枚举类型定义及应用举例
枚举类型定义
使用`enum`关键字定义枚举类型,指定枚举名称和枚举常量列表。
01
跳转语句的概念和 特点
改变程序执行流程,实现程序的 跳转。
02
跳转语句的语法和 示例
break语句、continue语句、 goto语句等。
03
跳转语句的应用场 景
适用于需要中断循环、跳过某些 操作等特殊情况。
04
函数与模块化设计
函数定义和调用
函数定义的基本语法
返回类型 函数名(参数列表) { 函数体 }
将数组元素作为实参传递给形参,形参和实参类型必须一致;
数组名作为函数参数
将数组名作为实参传递给形参,形参和实参类型可以不一致,但形 参数组的大小必须大于等于实参数组的大小;
多维数组作为函数参数
多维数组可以作为函数参数传递,但需要注意多维数组的传递方式 和一维数组的传递方式不同。
06
指针与动态内存管理
02
数据类型、运算符与表达式
基本数据类型
01
整型(int)
02
浮点型(float、 double)
字符型(char)
03
04
布尔型(bool)
常量与变量
常量
在程序运行过程中,其值不能被改变 的量。
变量
在程序运行过程中,其值可以被改变 的量。
运算符和表达式
c语言(第五章选择结构) c语言 教学课件
▪ 非闰年的判别:
• !((year%4==0 && year%100!=0)||year%400==0)或者:
• (year%4!=0 )||( year%100==0 && year%400!=0)
C语言程序设计
第五章 选择结构程序设计
5.3 if语句(条件选择语句)
• if语句的三种形式 ▪ 形式一: • 格式:
语句2
=0
表达式3 非0
语句3
=0 语句4
C语言程序设计
第五章 选择结构程序设计
• 例:
if (salary>1000) else if (salary>800) else if (salary>600) else if (salary>400) else index=0;
index=0.4; index=0.3; index=0.2; index=0.1;
if (x>0) printf(“%f”,x) ;
else printf(“%f”,-x);
(3)在if 和else 后面可以只含一个内嵌的语句,也可以有 多个操作语句,此时用花括号将几个语句括起来成为一 个复合语句。如:
if (x>y)
{ t=x ; x=y ; y=t ; }
C语言程序设计
第五章 选择结构程序设计
a=4;b=5;
!a
//值为0
a&&b //值为1
a||b
//值为1
!a||b
//值为1
4&&0||2 //值为1
5>3&&2||8<4-!0 //(5>3)&&2||(8<(4-(!0))) 值为1
• !((year%4==0 && year%100!=0)||year%400==0)或者:
• (year%4!=0 )||( year%100==0 && year%400!=0)
C语言程序设计
第五章 选择结构程序设计
5.3 if语句(条件选择语句)
• if语句的三种形式 ▪ 形式一: • 格式:
语句2
=0
表达式3 非0
语句3
=0 语句4
C语言程序设计
第五章 选择结构程序设计
• 例:
if (salary>1000) else if (salary>800) else if (salary>600) else if (salary>400) else index=0;
index=0.4; index=0.3; index=0.2; index=0.1;
if (x>0) printf(“%f”,x) ;
else printf(“%f”,-x);
(3)在if 和else 后面可以只含一个内嵌的语句,也可以有 多个操作语句,此时用花括号将几个语句括起来成为一 个复合语句。如:
if (x>y)
{ t=x ; x=y ; y=t ; }
C语言程序设计
第五章 选择结构程序设计
a=4;b=5;
!a
//值为0
a&&b //值为1
a||b
//值为1
!a||b
//值为1
4&&0||2 //值为1
5>3&&2||8<4-!0 //(5>3)&&2||(8<(4-(!0))) 值为1
C语言第5章 选择结构的程序设计PPT教学课件
开始
输入a,b,c
a<b?
F
T a与b交换
a<c?
F
T a与c交换
b<c?
F
T b与c交换
输出a,b,c
2020/12/10
结束
11
2.双分支if语句——if_else语句
格式:
if (<表达式>) 语句1
else
语句2
2020/12/10
12
2. if_else语句
功能:
T 语句1
表达式
F 语句2
2020/12/10
13
3. 多分支if语句
格式:
if (<表达式1>) 语句1 else if (<表达式2>) 语句2 else if (<表达式3>) 语句3
…... else if (<表达式n-1>) 语句n-1 else 语句n
2020/12/10
14
3. 多分支语句
功能: F 表达式1
(4)default一般出现在所有的case之后,也可以出现在 case之前或两个case语句之间。Default可以省略。
2020/12/10
23
5.2 switch语句
例1 用switch语句设计程序,实现输出学生成绩和 等级的功能。 分析:因为分数x为0~100分,则x/10的值为0,1,2, 3,4,5,6,7,8,9,10。
…… case <常量表达式n>:语句n default 语句n+1
}
2020/12/10
21
5.2 switch语句
功能:
首先计算<表达式>的值,然后依次与<常量表达式i> (i=1,2,…,n)比较,若表达式的值与<常量表达式j>相 等,则从<常量表达式j>处开始执行,这里就是执行的 入口,直到switch语句结束。若所有的<常量表达式i> (i=1,2,…,n)的值均不等于表达式的值,则从default处 开始执行。
C语言程序设计第5章 选择结构程序设计简明教程PPT课件
计算机科学与技术学院—— C语言程序设计
4.2 C语言if选择结构
输出某整数的绝对值 void main(){
int i;
printf("input an integer:"); scanf("%d",&i); if(i < 0){ i = -i;
}
printf("absolute value is %d\n", i); }
执行语句集合1
} else{
if(判断表达式){ if(判断表达式){ 执行语句集合 } } } 后续语句 或者 else{ }
执行语句集合2
执行语句集合3
计算机科学与技术学院—— C语言程序设计
4.2 C语言if选择结构
4.2.4 if的嵌套 •在外层的if的执行语句集合中可能出现单独if 的情况,也可能出现if…else的情况。 •可能出现多个if与多个else扎堆出现的情况。 •C语言中规定,以else之前最近的if为配对的 判断语句。 •按照缩进的方式书写程序,能帮助避免配对 错误
执行语句集合n
else{
执行语句集合n+1
后续语句
计算机科学与技术学院—— C语言程序设计
4.2 C语言if选择结构
4.2.3 多分支判断执行语句 •这种结构是从上到下逐个的对条件进行判断。 •一旦条件判断表达式运算为真值,则执行相关的 语句集合,并结束整个判断语句,其他的情况会 被跳过。 •如果所有的条件判断表达式均为假值,则执行 else所对应的执行语句集合。
计算机科学与技术学院—— C语言程序设计
4.2 C语言if选择结构
4.2.3 多分支判断执行语句 if…else if…else if…else
4.2 C语言if选择结构
输出某整数的绝对值 void main(){
int i;
printf("input an integer:"); scanf("%d",&i); if(i < 0){ i = -i;
}
printf("absolute value is %d\n", i); }
执行语句集合1
} else{
if(判断表达式){ if(判断表达式){ 执行语句集合 } } } 后续语句 或者 else{ }
执行语句集合2
执行语句集合3
计算机科学与技术学院—— C语言程序设计
4.2 C语言if选择结构
4.2.4 if的嵌套 •在外层的if的执行语句集合中可能出现单独if 的情况,也可能出现if…else的情况。 •可能出现多个if与多个else扎堆出现的情况。 •C语言中规定,以else之前最近的if为配对的 判断语句。 •按照缩进的方式书写程序,能帮助避免配对 错误
执行语句集合n
else{
执行语句集合n+1
后续语句
计算机科学与技术学院—— C语言程序设计
4.2 C语言if选择结构
4.2.3 多分支判断执行语句 •这种结构是从上到下逐个的对条件进行判断。 •一旦条件判断表达式运算为真值,则执行相关的 语句集合,并结束整个判断语句,其他的情况会 被跳过。 •如果所有的条件判断表达式均为假值,则执行 else所对应的执行语句集合。
计算机科学与技术学院—— C语言程序设计
4.2 C语言if选择结构
4.2.3 多分支判断执行语句 if…else if…else if…else
《C语言程序设计》PPT课件
②库函数与文件包含命令include #include <stdio.h>
库函数:系统提供的标准函数,程序可直接使用;
使用库函数必须将其有关说明信息写入程序。为 了用户方便,系统定义库函数时,把一类相关库 函数的说明信息,分别写在一些文件中。本例中 使用了库函数printf ,其有关说明信息写在文件 stdio.h中。所以在程序的开始加入了#include <stdio.h>
对硬件进行操作。 • 生成目标代码质量高,程序执行效率高。 • C语言编写的程序可移植性好。
1.2 简单的C语言程序介绍
• /*ex101.c-在屏幕上输出This is a C program. */
• #include <stdio.h>
• void main( )
•{
•
printf(“This is a C program.\n”);
• 对于C语言程序来说,这一过程一般分为4步: 第1步:编辑源程序; 第2步:编译; 第3步:链接; 第4步:执行;
(整个过程如下图)
编辑器
编译器
链接器
(excute/run) (link)
(compile) edit
( 编 filename.c预
处
)辑
理
编
filename.o bj
译
出错
库函数和 其他目标模
•
第6章~第11章为第三部分,讲述了模块化程序设计的
概念和实现的方法,为程序设计提供了更多、更方便的途径,
为进行综合程序设计奠定了基础。每一个章节里都有详细的程
序范例来说明程序的设计思想、语句的概念、作用、含义和使
用方法,使学生能够由浅入深系统地学习c语言的知识,同时掌
C语言 第5章_选择 PPT教学课件
(2)第二,第三种形式的if语句中,在每个 else前面有一个分号,整个语句结束处有一 个分号。
(3)在if和else后面可以只含有一个内嵌的操 作语句,也可以由多个操作语句,此时用花 括号将几个语句括起来成为一个复合语句。
C程序设计(第三版)
12
5.3 if语句
2.If语句的嵌套
在if语句中又包含一个或多个if语句称为if语句的嵌套。
switch语句的格式:
switch (表达式)
{case 常量表达式1:语句1;break; case 常量表达式2:语句2; break; … case 常量表达式n:语句n; break; default :语句n+1 }
C程序设计(第三版)
18
5.4 switch语句
例: 要求按照考试成绩的等级输出百分制分数段,用 switch语句实现: switch(grade) { case ′A′∶printf(″85~100\n″);break;
•!(非)->&&(与)->||(或) •逻辑运算符中的“&&”和“||”低于关系运算符,“!”高于算 术运算符
C程序设计(第三版)
6
5.2 逻辑运算符和逻辑表达式
2.逻辑表达式 •用逻辑运算符将关系表达式或逻辑量连接起来的式子就 是逻辑表达式。 •逻辑表达式的值应该是一个逻辑量“真”或“假”。
任何非零的数值被认作“真”
C程序设计(第三版)
5
5.2 逻辑运算符和逻辑表达式
1.逻辑运算符及其优先次序 (1)&& (逻辑与) 相当于其他语言中的AND (2)|| (逻辑或) 相当于其他语言中的OR (3)! (逻辑非) 相当于其他语言中的NOT 例:a&&b 若a,b为真,则a&&b为真。
(3)在if和else后面可以只含有一个内嵌的操 作语句,也可以由多个操作语句,此时用花 括号将几个语句括起来成为一个复合语句。
C程序设计(第三版)
12
5.3 if语句
2.If语句的嵌套
在if语句中又包含一个或多个if语句称为if语句的嵌套。
switch语句的格式:
switch (表达式)
{case 常量表达式1:语句1;break; case 常量表达式2:语句2; break; … case 常量表达式n:语句n; break; default :语句n+1 }
C程序设计(第三版)
18
5.4 switch语句
例: 要求按照考试成绩的等级输出百分制分数段,用 switch语句实现: switch(grade) { case ′A′∶printf(″85~100\n″);break;
•!(非)->&&(与)->||(或) •逻辑运算符中的“&&”和“||”低于关系运算符,“!”高于算 术运算符
C程序设计(第三版)
6
5.2 逻辑运算符和逻辑表达式
2.逻辑表达式 •用逻辑运算符将关系表达式或逻辑量连接起来的式子就 是逻辑表达式。 •逻辑表达式的值应该是一个逻辑量“真”或“假”。
任何非零的数值被认作“真”
C程序设计(第三版)
5
5.2 逻辑运算符和逻辑表达式
1.逻辑运算符及其优先次序 (1)&& (逻辑与) 相当于其他语言中的AND (2)|| (逻辑或) 相当于其他语言中的OR (3)! (逻辑非) 相当于其他语言中的NOT 例:a&&b 若a,b为真,则a&&b为真。
C语言第5讲--数据的复杂操作之选择程序设计
y= 1 (x>0) 0 (x=0) -1 (x<0)
*/
24
在内嵌if语句中要注意配对关系
y=
1 (x>0) 0 (x=0) -1 (x<0)
从键盘上输入-3时程序的运行顺序, 可以看出,不能得到正确结果
main ( ) { int x,y; x=-3,y=0 scanf("%d",&x); y=-1; if (x!=0) if (x>0) y=1; /* x!=0成立且x>0成立 */ else y=0; /* x!=0成立且x>0不成立,即x<0 */ printf("x=%d,y=%d\n",x,y); }
10
2双边选择结构
格式: if (表达式) 语句1 else 语句2
执行过程:
表达式取值非0,即条件成立,执行语句1后继续向下执行
判断条件
表达式取值为0,即条件不成立,跳过语句1执行语句2后向 下执行 (入口)
Y
语句1
P
N
语句2
(出口)
11
课堂练习
按升序输出两个实数。用双边选择结构实 现。
12
8
课堂练习
用单边选择结构将整型变量a,b,c由大到小 输出。
9
2双边选择结构
if子句的用法相当于 前面的单边选择结构 整个是一条语句, 分为if子句部分和 else子句部分
格式:
if (表达式) else ; 语句2
X 错误!
语句1
else子句条件默认为:所有不满足if子句 条件的情况下,都执行else子句的步骤, 因此不需要再写执行后面步骤所需的条件 (即不再有圆括号和圆括号里的条 件),else后面也不要加分号
*/
24
在内嵌if语句中要注意配对关系
y=
1 (x>0) 0 (x=0) -1 (x<0)
从键盘上输入-3时程序的运行顺序, 可以看出,不能得到正确结果
main ( ) { int x,y; x=-3,y=0 scanf("%d",&x); y=-1; if (x!=0) if (x>0) y=1; /* x!=0成立且x>0成立 */ else y=0; /* x!=0成立且x>0不成立,即x<0 */ printf("x=%d,y=%d\n",x,y); }
10
2双边选择结构
格式: if (表达式) 语句1 else 语句2
执行过程:
表达式取值非0,即条件成立,执行语句1后继续向下执行
判断条件
表达式取值为0,即条件不成立,跳过语句1执行语句2后向 下执行 (入口)
Y
语句1
P
N
语句2
(出口)
11
课堂练习
按升序输出两个实数。用双边选择结构实 现。
12
8
课堂练习
用单边选择结构将整型变量a,b,c由大到小 输出。
9
2双边选择结构
if子句的用法相当于 前面的单边选择结构 整个是一条语句, 分为if子句部分和 else子句部分
格式:
if (表达式) else ; 语句2
X 错误!
语句1
else子句条件默认为:所有不满足if子句 条件的情况下,都执行else子句的步骤, 因此不需要再写执行后面步骤所需的条件 (即不再有圆括号和圆括号里的条 件),else后面也不要加分号
C语言程序设计课程课件PPT之第五章复杂构造数据类型
例: struct note { char name[20]; char sex; char addr[20]; char tel[8]; } txl1, txl2;
济南大学
注意:不出 现类型名 3、直接定义结构体类型变量 :
例 如: struct { 类型标识符1 成员名1; 类型标识符2 成员名2; …… …… 类型标识符n 成员名n; } 变量名表; 例: struct { char name[20]; char sex; char addr[20]; char tel[8]; } txl1, txl2;
Rose
济南大学
Rose
结构体数组各元素在内存中是连续存放的,各元素 的成员也是按顺存放的。 num name Stu[0] 10101 Li Lin Stu[1] 10102 Zu Feng …… ……
sex score addr M 87.5 103 Beijing F 98 130 Shanghai
济南大学 补充:结构体做为函数的参数
Rose
struct student { int num; char name[20]; float score[3]; }; void print(struct student stu) { printf("%d\n%s\n%f\n%f\n%f\n",stu.num,,st u.score[0],stu.score[1],stu.score[2]); } main() {struct student stu; stu.num=12345; strcpy(,"Li Li"); stu.score[0]=67.5; stu.score[1]=89; stu.score[2]=78; print(stu); }
C语言之选择结构程序设计PPT课件
char grade;
printf("请输入学生成绩:"); scanf("%d",&score); temp=score/10;
第32页/共45页
switch(temp) { case 10: case 9: grade='A'; break; case 8: grade='B'; break; case 7: grade='C'; break; case 6: grade='D'; break; case 5: case 4: case 3: case 2: case 1: case 0: grade='E'; }
else if (表达式3) 语句3
…
else 语句n
第22页/共45页
练习:判断由键盘输入的字符是数字、大写字母、小写字母、空格还是其他字符。
#include <stdio.h> void main() { char c; c=getchar();
第23页/共45页
if(c<='9'&&c>='0') printf("%c 是字符!\n",c);
第2页/共45页
5.1 关系运算符与关系表达式
1、关系运算符 假值用0表示,非0都为真; 关系运算符与优先级: < <= > >= (高) == != (低) 结合性:左到右
第3页/共45页
2、关系表达式
赋值运算 关系运算 算术运算(高) 例: c>a+b 等价于 c>(a+b)
a=b>c等价于 a=(b>c)
printf("请输入学生成绩:"); scanf("%d",&score); temp=score/10;
第32页/共45页
switch(temp) { case 10: case 9: grade='A'; break; case 8: grade='B'; break; case 7: grade='C'; break; case 6: grade='D'; break; case 5: case 4: case 3: case 2: case 1: case 0: grade='E'; }
else if (表达式3) 语句3
…
else 语句n
第22页/共45页
练习:判断由键盘输入的字符是数字、大写字母、小写字母、空格还是其他字符。
#include <stdio.h> void main() { char c; c=getchar();
第23页/共45页
if(c<='9'&&c>='0') printf("%c 是字符!\n",c);
第2页/共45页
5.1 关系运算符与关系表达式
1、关系运算符 假值用0表示,非0都为真; 关系运算符与优先级: < <= > >= (高) == != (低) 结合性:左到右
第3页/共45页
2、关系表达式
赋值运算 关系运算 算术运算(高) 例: c>a+b 等价于 c>(a+b)
a=b>c等价于 a=(b>c)
《选择程序设计》PPT课件
else if ( y > 0 ) printf ("在第二象限\n"); else printf ("在第三象限\n");
}
精选PPT
汗水和丰收是忠实的伙伴,勤学和知识是一对最美丽的情侣
23
switch结构
swsiwtcithc(h表-c达as式e )语句是多路判断语句 { switch 语句计算条件表达式并对照多个常数值进行检查
12
求 a 和 b 两数中较大的一个。
简单if语句使用
#include <stdio.h>
main( )
/* 求a和b的最大值 */
{ int a,b,max;
printf("Input a and b=");
scanf("%d%d",&a, &b);
max = a;
if ( max < b )
max = b;
printf("\n 中");
else
printf("\n 差");
printf("\n");
} 精选PPT
汗水和丰收是忠实的伙伴,勤学和知识是一对最美丽的情侣
19
嵌套 if 结构
嵌套 if 结构就是将整个 if 块插入另一个 if 块中
if (表达式1) {
if (表达式2) if (表达式3) 语句;
case 常量 1: 语句; break;
case 常量 2: 语句; break;
default: 语句;
}
精选PPT
汗水和丰收是忠实的伙伴,勤学和知识是一对最美丽的情侣
24
}
精选PPT
汗水和丰收是忠实的伙伴,勤学和知识是一对最美丽的情侣
23
switch结构
swsiwtcithc(h表-c达as式e )语句是多路判断语句 { switch 语句计算条件表达式并对照多个常数值进行检查
12
求 a 和 b 两数中较大的一个。
简单if语句使用
#include <stdio.h>
main( )
/* 求a和b的最大值 */
{ int a,b,max;
printf("Input a and b=");
scanf("%d%d",&a, &b);
max = a;
if ( max < b )
max = b;
printf("\n 中");
else
printf("\n 差");
printf("\n");
} 精选PPT
汗水和丰收是忠实的伙伴,勤学和知识是一对最美丽的情侣
19
嵌套 if 结构
嵌套 if 结构就是将整个 if 块插入另一个 if 块中
if (表达式1) {
if (表达式2) if (表达式3) 语句;
case 常量 1: 语句; break;
case 常量 2: 语句; break;
default: 语句;
}
精选PPT
汗水和丰收是忠实的伙伴,勤学和知识是一对最美丽的情侣
24
相关主题