第4章 顺序和选择结构程序设计.ppt
《第4章 顺序和选择结构程序设计.ppt》由会员分享,可在线阅读,更多相关《第4章 顺序和选择结构程序设计.ppt(55页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第4章 顺序和选择结构程序设计,4.1 结构化程序设计 4.2 语句与分程序 4.3 顺序结构程序设计 4.4 选择结构程序设计4.5 switch语句4.6 条件运算符4.7 程序举例,4.1 结构化程序设计,(1) 顺序结构 顺序结构就是一组逐条执行的可执行语句。按照书写顺序,自上而下的执行。(2) 选择结构(分支结构) 选择结构是一种先对给定条件进行判断,并根据判断的结果执行相应命令的结构。,(3) 循环结构 循环结构是指多次重复执行同一组命令的结构。 具有循环结构的程序一般必须指定循环的终止条件,以便对程序的循环进行有效的控制,以免进入无限循环(或称死循环)的状态。,C程序的执行部分由
2、执行语句构成。执行语句的种类 表达式语句 函数调用语句 控制语句 复合语句(或称分程序) 空语句,4.2 语句与分程序,最简单的可执行语句。只要在表达式后面加上分号就可以了。例如:+i;x=y; 有效的表达式语句一般都要有赋值运算, 否则,不做任何赋值运算的表达式大多数是无意义的。,表达式语句,函数调用语句,由函数名、实际参数以及分号构成。例如:printf(welcome);printf是函数名,“welcome”是实际参数。函数名既可以是C语言提供的库函数名,也可以是我们自己定义的函数名。,控制语句,控制语句是用于控制程序流程的语句,控制语句一般指那些改变了顺序结构的语句。 C语言的控制语
3、句 分支语句(if 和 switch) 循环语句(while、do-while、for) 转向语句(break、goto、continue、return)。 熟练掌握控制语句是学会程序设计的基础。,复合语句和分程序结构,复合语句是用 和 把数据说明语句和若干个有序的执行语句组合在一起而构成。其一般格式为 数据说明; 语句; 复合语句在语法上相当于一个简单语句,在程序中可以作为一个独立语句来看待,因此又称为分程序。,空语句,C语言中有一个很特殊的语句,即空语句。空语句,顾名思义,就是什么也不存在的语句,只有一个分号:; 尽管空语句不会有任何命令执行,但仍然是一个有用的语句。常用于循环语句中,使循
4、环体为空。 例如:for (sum=0,i=0;i=9;i+;sum=sum+i);,4.3 顺序结构程序设计,顺序程序设计的步骤可以归纳为:(1) 用预处理命令包含文件或进行宏定义(不是必须的,根据具体情况);(2) 定义变量(分配内存空间);(3) 为变量赋初值(可以用赋值语句或 输入函数);(4) 计算;(5) 输出结果(用输出函数)。,例4.1 编写程序,输入x和y,交换它们的值,并输出交换前后的数。#include “ stdio.h“ /*方法一 */void main() int x,y,temp; printf(Please input to int number:); sca
5、nf(%d%d,#include stdio.hvoid main() /*方法二 (注意适用条件)*/ int x,y; printf(Please input to int number:); scanf(%d%d,4.4 选择结构程序设计,4.4.1 问题的提出 4.4.2 if形式 4.4.3 if else 形式 4.4.4 else if 形式 4.4.5 嵌套的if语句,4.4.1 问题的提出,用数学公式可以这样描述: x x=0y = -x x0 y是x的绝对值,如果x大于等于0,绝对值就是x自己;否则,绝对值就是取x的负值。这个数学问题用顺序结构是不能解决的,因为要根据x的值
6、的不同,做不同的动作。只有用选择结构才能解决问题。,4.4.2 if形式,if 形式是最简单的条件语句。语法:if (表达式) 语句1;下一条语句; 功能:检测表达式,如果表达式的值为非0(真),则执行语句1,然后执行下一条语句;如果表达式的值为0(假),直接执行下一条语句。,条件表达式,注意:(1) 表达式必须用圆括号括起来,不能省略。(2) 表达式可以使用关系表达式,例如if (x10)表示如果x大于10;也可以使用逻辑运算符连接关系表达式,例如,if (ab) &(b=c);还可以是一般的表达式,甚至是一个常量或一个变量,例如,if (x)和if (checkstate() 只要x 或c
7、heckstate()的值为非0,表达式即为真。,例4.2使用if形式编写程序:输入x,求出并输出x的绝对值。 #include stdio.h/*-abs(x)-*/ void main() int x; scanf(%d,例4.3使用if形式编写程序:若ab将两个数的位置调换;否则,保持不变。#include stdio.h/*-swap a and b-*/void main() int a,b; scanf(%d%d,例4.4请判断下面程序的执行结果,并解释该程序的功能。#include stdio.hvoid main() int a=10,b=20,x; x=a; if (ab)
8、x=b; printf(%dn,x);,4.4.3 if else 形式,if else 形式的语法是:if (表达式) 语句1;else 语句2;下一条语句;功能: 检测表达式,如果值为非0(真),则执行语句1,然后执行下一条语句;如果值为0(假),执行语句2,再执行下一条语句。,例4.5解决求商的问题。#include stdio.h/*-a divided by b-*/void main() int a,b; scanf(%d%d,例4.6:将输入字符的大写字符转换成小写字符输出,小写字符原样输出。#include stdio.h/*-lowercase-*/void main() i
9、nt c; c=getchar(); if (c=A ,例4.7 请判断下面程序的执行结果。#include stdio.hvoid main() int a=30,b=20,x; if (ab) x=a; printf(%dn,a); else x=b; printf(%dn,b);,4.4.4 else if 形式,例如我们要解决这样一个问题:输入一个整数,根据输入值,输出数的范围属于大于0、小于0还是等于0。 x的范围实际上是三种情况,我们先用if else解决这个问题:,if (x=0) printf ( x=0);else if (x0); ,else if的语法:if (表达式1)
10、 语句1; else if (表达式2) 语句2; else if (表达式3) 语句3; else if (表达式n) 语句n; else 语句n+1; 一条语句;,功能:按表达式的顺序进行判断,最早值为真的表达式将引起执行相应语句i,并且不再继续判断其它条件,跳转到下一条语句执行。若全部 表达式为假,则执行语句n+1。if (x0) printf ( x=0);else if (x0);,例4.8 根据输入的百分制按五分制的成绩输出。百分制与五分制之间的关系见下表。 百分制 五分制 90 100 5 80 89 4 60 79 3 0 59 2,#include stdio.hvoid m
11、ain() int score; char grade; printf(“please input score:”);/*请输入分数*/ scanf(%d,4.4.5 嵌套的if语句,修改例4.8,排除不可能的分数。#include stdio.hvoid main() int score; char grade; printf(please input score:); scanf(%d,if (表达式1) if (表达式2) 语句1;else 语句2;,if (表达式1) & (表达式2) 语句1;if (!表达式1) 语句2 ;,if (表达式1) if (表达式2) 语句1; else
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第4章 顺序和选择结构程序设计 顺序 选择 结构 程序设计
限制150内