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