资源描述:
《控制流顺序结构选择结构》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章顺序和选择结构程序设计4.1结构化程序设计4.2语句与分程序4.3顺序结构程序设计4.4选择结构程序设计4.5switch语句4.6程序举例4.1结构化程序设计(1)顺序结构顺序结构就是一组逐条执行的可执行语句。按照书写顺序,自上而下的执行。(2)选择结构(分支结构)选择结构是一种先对给定条件进行判断,并根据判断的结果执行相应命令的结构。(3)循环结构循环结构是指多次重复执行同一组命令的结构。具有循环结构的程序一般必须指定循环的终止条件,以便对程序的循环进行有效的控制,以免进入无限循环(或称死循环)的状态。C程序的执行部分由执行语句构成。执行语句的种类表达式语句函数调用语句控制流
2、语句复合语句(或称分程序)空语句4.2语句与复合语句最简单的可执行语句。只要在表达式后面加上分号就可以了。例如:++i;x=y;尽量避免写无意义的表达式。表达式语句函数调用语句由函数名、实际参数以及分号构成。例如:printf("welcome");printf是函数名,“welcome”是实际参数。函数名既可以是C语言提供的库函数名,也可以是我们自己定义的函数名。复合语句和分程序结构复合语句是用{和}把数据说明语句和若干个有序的执行语句组合在一起而构成。其一般格式为:{[数据说明];[语句];}复合语句在语法上相当于一个简单语句,在程序中可以作为一个独立语句来看待,因此又称为分程序。
3、控制流语句控制流语句是用于控制程序流程的语句,控制流语句一般指那些改变了顺序结构的语句。C语言的控制语句分支语句(if和switch)循环语句(while,do-while,for)转向语句(break,goto,continue,return)熟练掌握控制语句是学会程序设计的基础。空语句C语言中有一个很特殊的语句,即空语句。空语句,顾名思义,就是什么也不存在的语句,只有一个分号:;尽管空语句不会有任何命令执行,但仍然是一个有用的语句。常用于循环语句中,使循环体为空。例如:for(sum=0,i=0;i<=9;i++;sum=sum+i);4.3顺序结构程序设计顺序程序设计的步骤可以归
4、纳为:(1)用预处理命令包含文件或进行宏定义(不是必须的,根据具体情况);(2)定义变量(分配内存空间);(3)为变量赋初值(可以用赋值语句或输入函数);(4)计算;(5)输出结果(用输出函数)。例4.1编写程序,输入x和y,交换它们的值,并输出交换前后的数。#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("afte
5、rchangedx=%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的绝对值,如果x大于等于0,绝对值就是x自己;否则,绝对值就是取x的负值。这个数学问题用顺序结构是不能解决的。只有用选择结构才能解决问题。4.4.2if形式——单分支结构if形式是最简单的条件语句。语法:if(表达式)语句1;下一条语句;功能:检测表达式,如果表达式的值为非0(真),则执行语句1,然后执行下一条语句;如果表达式的
6、值为0(假),直接执行下一条语句。条件表达式注意:(1)表达式必须用圆括号括起来,不能省略。(2)表达式可以使用关系表达式,例如:if(x>10)表示如果x大于10;(3)表达式可以使用逻辑运算符连接关系表达式,例如:if(a>b)&&(b==c);还可以是一般的表达式,(4)表达式甚至是一个常量或一个变量,例如:if(x)和if(1)只要x或1的值为非0,表达式即为真。例4.2使用if形式编写程序:输入x,求出并输出x的绝对值。#include"stdio.h"/*----------abs(x)-----------*/voidmain(){intx;scanf("%d",&x);
7、if(x<0)x=-x;printf("
8、x
9、=%d",x);}例4.3使用if形式编写程序:若a>b将两个数的位置调换;否则,保持不变。#include"stdio.h"/*-------------swapaandb--------------*/voidmain(){inta,b,temp;scanf("%d%d",&a,&b);if(a>b){temp=a;a=b;b=temp;}printf("%d,%d",a,b);}例4.