C语言程序设计 教学课件 ppt 作者 蔡启先 第3章 基本程序设计

上传人:E**** 文档编号:89187875 上传时间:2019-05-20 格式:PPT 页数:72 大小:1.19MB
返回 下载 相关 举报
C语言程序设计 教学课件 ppt 作者 蔡启先 第3章 基本程序设计_第1页
第1页 / 共72页
C语言程序设计 教学课件 ppt 作者 蔡启先 第3章 基本程序设计_第2页
第2页 / 共72页
C语言程序设计 教学课件 ppt 作者 蔡启先 第3章 基本程序设计_第3页
第3页 / 共72页
C语言程序设计 教学课件 ppt 作者 蔡启先 第3章 基本程序设计_第4页
第4页 / 共72页
C语言程序设计 教学课件 ppt 作者 蔡启先 第3章 基本程序设计_第5页
第5页 / 共72页
点击查看更多>>
资源描述

《C语言程序设计 教学课件 ppt 作者 蔡启先 第3章 基本程序设计》由会员分享,可在线阅读,更多相关《C语言程序设计 教学课件 ppt 作者 蔡启先 第3章 基本程序设计(72页珍藏版)》请在金锄头文库上搜索。

1、第3章 基本程序设计,C语言是一种结构化的程序设计语言。C语言主要由三种基本结构组成,即:顺序结构、选择结构、循环结构。这三种基本结构的实现都有对应的流程控制语句,由此,就能编写出功能复杂的C语言程序。本章先从C语句讲起,重点介绍各种流程控制语句的功能和使用方法。,3.1 C语句概述,3.2 选择结构程序设计,3.4 goto语句和标号语句,第 3 章 基 本 程 序 设 计,目录,3.3 循环结构程序设计,3.5 综合实例,3.1 C语句概述,3.1.1 C语言的基本语句,3.1.2 三种基本结构和流程控制语句,3.1 C语句概述,3.1.1 C语言的基本语句,1表达式语句,在C语言中,任何

2、一个表达式加上一个分号就构成为一个语句。分号是语句的结束符。 例如: x=5; /* 赋值语句 */ i+; /* 自增语句 */ scanf(“%d”,&a); /* 标准函数调用语句 */ printf(“This a c statement.”) /* 标准函数调用语句 */ display(); /* 自定义函数的调用语句 */ 这类语句我们称之为表达式语句,又称为简单语句。,3.1 C语句概述,3.1.1 C语言的基本语句,2.控制语句 控制语句能完成一定的程序流程控制,它分为两类:流程控制语句和流向控制语句。 流程控制语句:功能是控制程序流程,具有一定的结构形式。 流向控制语句:功

3、能是控制程序流向,它们都是简单语句。,3.1 C语句概述,3.1.1 C语言的基本语句,3.空语句,表3-1 控制语句,只有一个分号的语句,我们称为空语句。空语句在执行时不产生任何动作,常作为流程控制语句中的组成部分,如循环体。它也可在程序中预留语句位置,便于以后插入语句。,3.1 C语句概述,3.1.1 C语言的基本语句,4. 复合语句,C语言允许把一组语句用一对大括号 和 括起来构成一个语句组,称之为复合语句。复合语句在语法上等价于一条简单语句,它们用来将一组逻辑相关的语句组织起来,常用在流程控制语句中。注意复合语句中两个花括号必须配对,且第2个 后面没有分号。 例如: if (xy) x

4、+; print (“x=% dn”, x) /* 复合语句 */ else printf (“y=% dn”, y); 如果这里不用大括号,if后只执行一条语句,而else找不到匹配项,编译时就会出错。,3.1 C语句概述,3.1.2 三种基本结构和流程控制语句,1966年,Bohm和Jacopini说明了程序设计语言中只要有三种形式的控制结构,就足以表示出各种各样的其它形式的结构。这三种基本结构就是顺序结构、选择结构和循环结构。,3.1 C语句概述,3.1.2 三种基本结构和流程控制语句,3.1 C语句概述,3.1.2 三种基本结构和流程控制语句,这三种基本结构有一个共同的特点,就是每种结

5、构严格地只有一个入口和一个出口,这适合于将一个大的问题分而治之的编程方法。将一个大的问题划分为若干个模块,模块之间通过入口和出口联系,彼此可以独立地编写和调试。 C语言是一种结构化的程序设计语言,它提供了结构化程序设计所需的三种基本结构。C语言中的语句是按它们在程序中出现的顺序逐条执行的;选择结构的控制语句有条件语句if和switch;循环结构的控制语句有while、for和do while。,3.2 选择结构程序设计,3.2.1 if 语句的三种形式,3.2.2 switch语句,3.2.3 程序举例,3.2 选择结构程序设计,3.2.1 if 语句的三种形式,1.不含else的if 语句

6、不含else的if语句可以实现单分支的选择结构。 其结构形式为: 不含else的if 语句的执行流程如图3.2所示。语句先计算表达式,如果表达式非零值,则表示条件为真,执行if后面的语句;否则,就跳过if 后面的语句往下执行。 表达式后面的语句可以是简单语句,也可以是复合语句。,if(表达式) 语句;,0,图3-2 不含else的if 语句的执行流程,3.2 选择结构程序设计,3.2.1 if 语句的三种形式,例3.1三变量排序。输入三个变量x、y、z,按照从大到小的顺序,将三个变量输出。 #include void main( ) int x, y, z, t; printf(“enter

7、value of x,y,z:“); /* 输入x,y,z值的提示信息 */ scanf(“%d,%d,%d “, 运行情况如下: enter value of x,y,z: 5,18,12 max=18, mid=12, min=5,3.2 选择结构程序设计,3.2.1 if 语句的三种形式,2.完整的if 语句 完整的二分支if语句可以实现双分支选择结构。 其结构形式如下: if 语句的执行流程如图3-3所示。语句先计算表达式,如果表达式非零值,则表示条件为真,执行if后面的语句1;否则,就执行else后面的语句2。请记住:要么执行与if相关的语句,要么执行与else相关的语句,不能两者都

8、执行。if和else后面的语句可以是单条语句,也可以是复合语句。,if(表达式) 语句1; else 语句2;,3.2 选择结构程序设计,3.2.1 if 语句的三种形式,图3-3 if 语句的执行流程,3.2 选择结构程序设计,3.2.1 if 语句的三种形式,例3.2 输入正方形的边长,求正方形的周长。 #include void main( ) float x; printf(“请输入正方形的边长:”); scanf(“%f”, 程序对输入数据进行检验,如果数据超出要求范围,则给出出错信息。,3.2 选择结构程序设计,3.2.1 if 语句的三种形式,3.if语句嵌套 在if语句中又包含

9、一个或多个if语句称为if语句的嵌套。通过if语句的嵌套可以实现多分支选择结构。 if语句的嵌套的形式为: if-else的匹配规则:else总是与离它最近的且尚未有else与之相匹配的if语句相对应。,if (表达式1)语句1 else if (表达式2) 语句2 else if (表达式m) 语句m else 语句n,3.2 选择结构程序设计,3.2.1 if 语句的三种形式,例3.3 输入一个数,如果大于0,输出“plus” ;如果是负数,输出“negative”,如果正好是0,则输出“zero” 。 #include void main( ) float num; scanf(“%f”

10、, ,3.2 选择结构程序设计,3.2.1 if 语句的三种形式,例3.4 输入一个年份值,判断是否为闰年。闰年的年份值必须满足两个条件之一,即要么年数可以被四整除,且不能被100整除即为闰年;要么能被400整除的也为闰年。比如2000年是闰年,而1900年不是。 #include void main( ) int y; printf(“enter a value of the year:“); /* 输入一个年份值的提示信息 */ scanf(“%d“,&y);/* 从键盘输入一个年份 */ if(y%4=0&y%100!=0) printf(“This is a leap year!n”)

11、; /* 年数可以被4整除,且不能被100整除即为闰年 */ else if(y%400=0) printf(“This is a leap year!n”); /* 能被400整除的也为闰年 */ else printf(“This isnt a leap year!n”); /* 上述条件皆不满足,则不是闰年 */ ,3.2 选择结构程序设计,3.2.1 if 语句的三种形式,例3.5 例3.4的另一种算法。 #include void main( ) int year, leap; /* leap作为闰年的标志 */ printf(“enter a value of the year:“

12、); /* 输入一个年份值的提示信息 */ scanf(“%d“, ,3.2 选择结构程序设计,3.2.1 if 语句的三种形式,本例还可以采用两分支算法,直接用一个逻辑表达式表示闰年的条件,若满足为闰年,否则不是闰年。程序如下: #include void main( ) int y; printf(“enter a value of the year:“); /* 输入一个年份值的提示信息 */ scanf(“%d“, ,3.2 选择结构程序设计,3.2.2 switch语句,1. switch语句的一般形式 switch语句的一般形式如下:,switch(表达式) case 常量表达式1

13、: 语句序列1 case 常量表达式2: 语句序列2 . case 常量表达式n: 语句序列n default: 语句序列n+1 ,3.2 选择结构程序设计,3.2.2 switch语句,在 switch 语句中,表达式的值依次与各个case中的常量表达式进行比较,如果找到一个匹配值,就执行此case后面的语句序列 i;并依次执行语句序列i之后的各个case 后面的语句,而不再进行判断,直到 switch 语句结束或遇到break语句。如果没有找到匹配值,则执行default中的语句序列n+1。default语句是可以缺省的,如果没有default语句,且没有匹配值,就不执行任何语句。所谓常量

14、表达式,是指表达式中只含常数的表达式,如3+5,4*8等,当然也可以是一个常数。,3.2 选择结构程序设计,3.2.2 switch语句,switch语句的执行流程如图3-4所示:,常数n,计算表达式的值,语句序列1,语句序列2,语句序列n,语句序列n+1,常数1,常数2,default,图3-4 switch语句的执行流程,出口,3.2 选择结构程序设计,3.2.2 switch语句,对于switch语句必须注意以下几点: (1) switch中的表达式可以是数值,也可以是字符。 (2) 在同一个switch语句中,表达式和各常量表达式的类型应一致,且任何两个case的常量表达式不能具有相同

15、的值。当然,在switch语句嵌套时,一个外部switch语句所包含的内部switch语句的常量表达式可以与外部switch语句的常量表达式具有相同的值。 (3)case 常量表达式只起语句标号的作用,并不是在该处进行条件判断。多个case可共用一组执行语句。 (4)每个case或default后的语句组可以是一条语句也可以是多条语句,且不需要用大括号“ ”括起来。,3.2 选择结构程序设计,3.2.2 switch语句,(5) break用来中途退出switch语句的执行,通常在一个case执行完成后使用break退出switch语句,而default后则可以不要break。 如果在每个ca

16、se语句后都使用break,则switch语句的执行流程如图3-5所示 :,常量表达式n,计算表达式的值,语句序列1,语句序列2,语句序列n,语句序列n+1,常量表达式1,常量表达式2,default,图3-5 含break的switch语句执行流图,3.2 选择结构程序设计,3.2.2 switch语句,(6)default子句可以省略。但一般用来其他情况(例如错误的输入)的处理。 (7)switch可以嵌套。在switch语句嵌套中,内部和外部switch语句中的case常数可以具有相同的值,它们不会发生冲突。 在多分支处理上,switch语句比if_else_if结构效率更高。但是switch语句中,各个常量表达式仅能对switch(表达式)中的表达式结果是否匹配

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号