资源描述:
《第4章 顺序和选择结构程序设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章顺序和选择结构程序设计4.1结构化程序设计4.2语句与分程序4.3顺序结构程序设计4.4选择结构程序设计4.5switch语句4.6条件运算符4.7程序举例4.1结构化程序设计(1)顺序结构顺序结构就是一组逐条执行的可执行语句。按照书写顺序,自上而下的执行。(2)选择结构(分支结构)选择结构是一种先对给定条件进行判断,并根据判断的结果执行相应命令的结构。(3)循环结构循环结构是指多次重复执行同一组命令的结构。具有循环结构的程序一般必须指定循环的终止条件,以便对程序的循环进行有效的控制,以免进入无限循环(或称死
2、循环)的状态。C程序的执行部分由执行语句构成。执行语句的种类表达式语句函数调用语句控制语句复合语句(或称分程序)空语句4.2语句与分程序最简单的可执行语句。只要在表达式后面加上分号就可以了。例如:++i;x=y;有效的表达式语句一般都要有赋值运算,否则,不做任何赋值运算的表达式大多数是无意义的。表达式语句函数调用语句由函数名、实际参数以及分号构成。例如:printf("welcome");printf是函数名,“welcome”是实际参数。函数名既可以是C语言提供的库函数名,也可以是我们自己定义的函数名。控制语句控
3、制语句是用于控制程序流程的语句,控制语句一般指那些改变了顺序结构的语句。C语言的控制语句分支语句(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,交换它们的值,
5、并输出交换前后的数。#include“stdio.h“/*方法一*/voidmain(){intx,y,temp;printf("Pleaseinputtointnumber:");scanf("%d%d",&x,&y);printf("beforechangedx=%3dy=%3d",x,y);temp=x;x=y;y=temp;printf("afterchangedx=%3dy=%3d",x,y);}#include"stdio.h"voidmain()/*方法二(注意适用条件)*/{intx,y;p
6、rintf("Pleaseinputtointnumber:");scanf("%d%d",&x,&y);printf("beforechangedx=%3dy=%3d",x,y);x=x+y;y=x-y;x=x-y;printf("afterchangedx=%3dy=%3d",x,y);}4.4选择结构程序设计4.4.1问题的提出4.4.2if形式4.4.3ifelse形式4.4.4elseif形式4.4.5嵌套的if语句4.4.1问题的提出用数学公式可以这样描述:xx>=0y=-xx<0y是x的绝对值
7、,如果x大于等于0,绝对值就是x自己;否则,绝对值就是取x的负值。这个数学问题用顺序结构是不能解决的,因为要根据x的值的不同,做不同的动作。只有用选择结构才能解决问题。4.4.2if形式if形式是最简单的条件语句。语法:if(表达式)语句1;下一条语句;功能:检测表达式,如果表达式的值为非0(真),则执行语句1,然后执行下一条语句;如果表达式的值为0(假),直接执行下一条语句。条件表达式注意:(1)表达式必须用圆括号括起来,不能省略。(2)表达式可以使用关系表达式,例如if(x>10)表示如果x大于10;也可以使用
8、逻辑运算符连接关系表达式,例如,if(a>b)&&(b==c);还可以是一般的表达式,甚至是一个常量或一个变量,例如,if(x)和if(checkstate())只要x或checkstate()的值为非0,表达式即为真。例4.2使用if形式编写程序:输入x,求出并输出x的绝对值。#include"stdio.h"/*---------------------