顺序结构的程序设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
下一页 返回
3.1 结构化程序设计的基本概念
也就是说,一个程序应该包括数据描述(由声明部分来实现) 和数据操作(由语句来实现)。数据描述主要定义数据结构 (用数据类型表示)和数据初值。数据操作的任务是对已提 供的数据进行加工。
C语句可以分为5类:控制语句、函数调用语句、表达式语句、 空语句和复合语句。
C语言函数库中有一批“标准输入输出函数”,它是以标准 的输入输出设备为输入输出对象的。其中有:putchar(输 出字符),getchar(输入字符),printf(格式输出), scanf(格式输入),puts(输出字符串),gets(输入字 符串)。本节我们将介绍最基本的输入输出函数。
下一页 返回
略不写。但C语言允许一行写几个语句,也允许一个语句拆 开写在几行上,书写格式无固定要求。
上一页 下一页 返回
3.1 结构化程序设计的基本概念
3.1.2 程序的3种基本结构
为了提高程序设计的质量和效率,现在普遍采用结构化程序 设计方法。结构化程序由若干个基本结构组成。每一个基本 结构可以包含一个或若干个语句。C语言的结构化程序设计 有3种基本结构。
“a=b”,其作用是:先进行赋值运算(将b的值赋给a),
然后判断a是否大于0,如大于0,执行t=a。在if语句中的
“a=b”不是赋值语句而是赋值表达式,这样写是合法的。
如果写成
if((a=b;)>0) t=a; 就错了。在if的条件中不能包含赋值语句。由此可以看到,C 把赋值语句和赋值表达式区别开来,增加了表达式的种类, 从而能实现其他语言中难以实现的功能。
序。这种程序的结构规范、清晰,便于使用和维护。
3.1.3 赋值语句
顺序结构是C程序中最简单、最基本的一种结构,是进行复 杂程序设计的基础。而组成顺序结构的语句,则主要有赋值 语句和输入输出语句。
上一页 下一页 返回
3.1 结构化程序设计的基本概念
赋值语句是由赋值表达式加上一个分号构成。C语言wenku.baidu.com赋值 语句具有其他高级语言的赋值语句的一切特点和功能。但也 要注意到它们的不同:
上一页 下一页 返回
3.1 结构化程序设计的基本概念
赋值语句是最常用的语句,它有以下3种形式: 1.简单赋值语句 格式: 变量=表达式; 例如: a=2*5+5;s=sqrt(5); 2.多重赋值语句 格式: 变量1=变量2=……=变量n=表达式; 例如: a=b=c=5;i=j=k=n+1;
置移到本行开头) 2.getchar函数(字符输入函数) 此函数的作用是从终端(或系统隐含指定的输入设备)输入
一个字符。getchar函数没有参数,其一般形式为: getchar( ) 函数的值就是从输入设备得到的字符。
上一页 下一页 返回
4.空语句 空语句仅由一个分号构成。下面便是一个空语句: ; 空语句什么也不做。有时用来做被转向点,或循环语句中的
循环体(循环体是空语句,表示循环体什么也不做)。
上一页 下一页 返回
3.1 结构化程序设计的基本概念
5.复合语句 复合语句是用一对花括弧{ }括起来的若干语句组合,又称
分程序。如下面就是一个复合语句: {z=x+y; t=z/100; printf(″% f″,t); } 要注意的是:复合语句中最后一个语句中最后的分号不能忽
①C语言中的赋值号“=”是一个运算符,在其他大多数语言 中赋值号不是运算符。
②关于赋值表达式与赋值语句的概念,其他多数高级语言没 有“赋值表达式”这一概念。作为赋值表达式可以包括在其 他表达式之中,例如:
if((a=b)>0) t=a;
按语法规定if后面的( )内是一个条件,例如可以是: “if(x>0)…”。现在在x的位置上换上一个赋值表达式
值表达式构成一个赋值语句。 a=3 是一个赋值表达式,而 a=3; 是一个赋值语句。可以看到一个表达式的最后加一个分号就
成了一个语句。一个语句必须在最后出现分号,分号是语句 中不可缺少的一部分。例如:
上一页 下一页 返回
3.1 结构化程序设计的基本概念
i=i+1 (是表达式,不是语句) i=i+1;(是语句) 任何表达式都可以加上分号而成为语句,例如 i++; 是一语句,作用是使i值加1。又如 x+y; 也是一个语句,作用是完成x+y的操作,它是合法的,但是
上一页 下一页 返回
3.1 结构化程序设计的基本概念
以上3种基本结构,都有以下共同特点: ①所有结构均只有一个入口和一个出口。如图3-3~图3-5
中的语句1点为入口点, 语句2点为出口点。 ②结构内的每一部分都有机会被执行到。 ③结构内不存在无终止的循环。 因此,用以上3种基本的结构组成的程序必然是结构化的程
上一页 下一页 返回
3.2 数据的输入和输出
例3-1 输出单个字符。 #include main( ) { char a,b,c; a=′B′;b=′O′,c=′Y′; putchar(a);putchar(b);putchar(c); } 运行结果: BOY 也可以输出控制字符,如putchar(‘\n’)输出一个换行符,
3.2 数据的输入和输出
注意:在使用C语言库函数时,要用预编译命令 “#include”将有关的“头文件”包括到用户源文件中。在 头文件中包含了与用到的函数有关的信息。例如使用标准输 入输出库函数时,要用到“stdio.h”文件。文件后缀“h” 是head的缩写,#include命令都是放在程序的开头,因 此这类文件被称为“头文件”。在调用标准输入输出库函数 时,文件开头应有以下预编译命令:
第3章 顺序程序设计
3.1 结构化程序设计的基本概念 3.2 数据的输入输出 3.3 顺序结构的程序设计举例
3.1 结构化程序设计的基本概念
3.1.1 C语言的语句
语句是语言的主要组成成分之一。一个完整的C程序是由若 干条C语句有机组合而成的。和其他高级语言一样,C语言的 语句用来向计算机系统发出操作指令。一个语句经编译后产 生若干条机器指令。应当指出,C语句都是用来完成一定操 作任务的。声明部分的内容不应称为语句。如:int a;不是一 个C语句,它不产生机器操作,而只是对变量的定义。一个C 程序可以由若干个源程序文件(分别进行编译的文件模块) 组成,一个源文件又由若干个函数和预处理命令以及全局变 量声明部分组成,一个函数事实上是由数据定义部分和执行 语句组成的。
并不把x+y的和赋给另一个变量,所以它并无实际意义。
上一页 下一页 返回
3.1 结构化程序设计的基本概念
表达式能构成语句是C语言的一个重要特色。其实“函数调 用语句”也是属于表达式语句,因为函数调用(如sin(x)) 也属于表达式的一种。只是为了便于理解和使用,我们把 “函数调用语句”和“表达式语句”分开来说明。由于C程 序中大多数语句是表达式语句(包括函数调用语句),所以 有人把C语言称作“表达式语言”。
使输出的当前位置移到下一行的开头。若将例3-1程序最后 一行改为 putchar(a);putchar(′\n′);putchar(b); putchar(′\n′);putchar(c);putchar(′\n′)
上一页 下一页 返回
3.2 数据的输入和输出
则输出结果为: B O Y 也可以输出其他转义字符,如: putchar(′\101′) (输出字符′A′) putchar(′\′′)(输出单引号字符′) putchar(′\015′)(输出回车,不换行,使输出的当前位
嵌的语句。例如:“if( ) ~else~”的具体语句可以写 成: if(x>y)z=x;else z=y;
上一页 下一页 返回
3.1 结构化程序设计的基本概念
2.函数调用语句 函数调用语句由一次函数调用加一个分号构成一个语句,例
如: printf(″This is a C statement.″); 3.表达式语句 表达式语句由一个表达式构成一个语句,最典型的是,由赋
#include 或#include ″stdio.h″ stdio.h是standard input & output的缩写,它包含了
与标准I/O库有关的变量定义和宏定义。考虑到printf和 scanf函数使用频繁,系统允许在使用这两个函数时可不加 #include命令。
上一页 下一页 返回
3.2 数据的输入和输出
3.2.2 字符数据的输入输出
我们先介绍C标准I/O函数库中最简单的、也是最容易理解 的字符输入输出函数putchar( )和getchar( ),再介绍格 式输入输出函数printf( )和scanf( )函数。
1.putchar函数(字符输出函数) putchar函数的作用是向终端输出一个字符,例如: putchar(c); 它输出字符变量c的值。c可以是字符型变量或整型变量。
4*a*c))/(2*a)。
上一页 返回
3.2 数据的输入和输出
3.2.1 数据输入输出的概念
所谓输入输出是以计算机主机为主体来说的。从计算机向外 部输出设备输出数据称为“输出”,从外部向输入设备输入 数据称为“输入”。
C语言本身不提供输入输出语句,输入和输出操作是由函数 来实现的。在C标准函数库中提供了一些输入输出函数,例 如,printf函数和scanf函数。所以在使用它们时,千万不 要误认为这是C语言提供的输入输出语句。printf和scanf 不是C语言的关键字,而只是函数的名字。C提供的函数以库 的形式存放在系统中,它们不是C语言文本中的组成部 分。
上一页 下一页 返回
3.1 结构化程序设计的基本概念
3.自反赋值语句 格式: 变量 双目操作符=表达式; 例如: i+=2;a%=10; 赋值语句具有如下功能: ①给变量赋值,必要时自动进行数据类型的转换,例如:int
c=′X′。 ②完成C语言的计算功能,例如:y=(-b+sqrt(b*b-
1.顺序结构 顺序结构的语句是自顶而下依次执行的。如图3-1所示。先
执行语句1,再执行语句2,两者是顺序执行的关系。图中 (b)是N-S结构化流程图(下同)。
上一页 下一页 返回
3.1 结构化程序设计的基本概念
2.选择结构 选择结构中的语句是根据条件判断来控制执行的。如图3-2
所示。当条件成立(或称为“真”)时执行语句1,否则执 行语句2。注意,只能执行语句1或语句2之一。两条路径汇 合在一起然后出口。 3.循环结构 循环结构中的语句执行是根据判断条件是真是假来控制某些 操作是否反复执行。其有3种循环结构: (1)当型循环结构 该结构是当循环控制条件为真,则反复执行循环体语句,当 某一次执行时循环控制条件为假才退出循环。如图3-3所示。 此循环结构的特点是先判断循环条件,后执行循环体语句。 因此若循环条件起始为假,则循环体语句将一次都不执行。
上一页 下一页 返回
3.1 结构化程序设计的基本概念
(2)直到型循环结构 该结构是先执行循环体语句,后判断循环条件,若判断的条
件为真,则反复执行循环体语句,直到某一次执行时循环控 制条件为假才退出循环。如图3-4所示。此循环结构的特点 是先执行循环体语句,后判断条件。因此即使循环条件起始 为假,循环体语句也将至少执行一次。 (3)计数型循环结构 该结构是在循环次数指定的情况下,反复执行循环体语句。 如图3-5所示。此循环结构的特点是循环次数是明确的。
1.控制语句 控制语句是完成一定的控制功能。C提供了9种控制语句,它
们是: ①if( )~else~ (条件语句) ②for( )~ (循环语句) ③while( )~ (循环语句) ④do~while( ) (循环语句)
上一页 下一页 返回
3.1 结构化程序设计的基本概念
⑤continue (结束本次循环语句) ⑥break (中止执行switch或循环语句) ⑦switch (多分支选择语句) ⑧goto (转向语句) ⑨return (从函数返回语句) 上面9种语句中的括号( )表示其中是一个条件,~表示内
3.1 结构化程序设计的基本概念
也就是说,一个程序应该包括数据描述(由声明部分来实现) 和数据操作(由语句来实现)。数据描述主要定义数据结构 (用数据类型表示)和数据初值。数据操作的任务是对已提 供的数据进行加工。
C语句可以分为5类:控制语句、函数调用语句、表达式语句、 空语句和复合语句。
C语言函数库中有一批“标准输入输出函数”,它是以标准 的输入输出设备为输入输出对象的。其中有:putchar(输 出字符),getchar(输入字符),printf(格式输出), scanf(格式输入),puts(输出字符串),gets(输入字 符串)。本节我们将介绍最基本的输入输出函数。
下一页 返回
略不写。但C语言允许一行写几个语句,也允许一个语句拆 开写在几行上,书写格式无固定要求。
上一页 下一页 返回
3.1 结构化程序设计的基本概念
3.1.2 程序的3种基本结构
为了提高程序设计的质量和效率,现在普遍采用结构化程序 设计方法。结构化程序由若干个基本结构组成。每一个基本 结构可以包含一个或若干个语句。C语言的结构化程序设计 有3种基本结构。
“a=b”,其作用是:先进行赋值运算(将b的值赋给a),
然后判断a是否大于0,如大于0,执行t=a。在if语句中的
“a=b”不是赋值语句而是赋值表达式,这样写是合法的。
如果写成
if((a=b;)>0) t=a; 就错了。在if的条件中不能包含赋值语句。由此可以看到,C 把赋值语句和赋值表达式区别开来,增加了表达式的种类, 从而能实现其他语言中难以实现的功能。
序。这种程序的结构规范、清晰,便于使用和维护。
3.1.3 赋值语句
顺序结构是C程序中最简单、最基本的一种结构,是进行复 杂程序设计的基础。而组成顺序结构的语句,则主要有赋值 语句和输入输出语句。
上一页 下一页 返回
3.1 结构化程序设计的基本概念
赋值语句是由赋值表达式加上一个分号构成。C语言wenku.baidu.com赋值 语句具有其他高级语言的赋值语句的一切特点和功能。但也 要注意到它们的不同:
上一页 下一页 返回
3.1 结构化程序设计的基本概念
赋值语句是最常用的语句,它有以下3种形式: 1.简单赋值语句 格式: 变量=表达式; 例如: a=2*5+5;s=sqrt(5); 2.多重赋值语句 格式: 变量1=变量2=……=变量n=表达式; 例如: a=b=c=5;i=j=k=n+1;
置移到本行开头) 2.getchar函数(字符输入函数) 此函数的作用是从终端(或系统隐含指定的输入设备)输入
一个字符。getchar函数没有参数,其一般形式为: getchar( ) 函数的值就是从输入设备得到的字符。
上一页 下一页 返回
4.空语句 空语句仅由一个分号构成。下面便是一个空语句: ; 空语句什么也不做。有时用来做被转向点,或循环语句中的
循环体(循环体是空语句,表示循环体什么也不做)。
上一页 下一页 返回
3.1 结构化程序设计的基本概念
5.复合语句 复合语句是用一对花括弧{ }括起来的若干语句组合,又称
分程序。如下面就是一个复合语句: {z=x+y; t=z/100; printf(″% f″,t); } 要注意的是:复合语句中最后一个语句中最后的分号不能忽
①C语言中的赋值号“=”是一个运算符,在其他大多数语言 中赋值号不是运算符。
②关于赋值表达式与赋值语句的概念,其他多数高级语言没 有“赋值表达式”这一概念。作为赋值表达式可以包括在其 他表达式之中,例如:
if((a=b)>0) t=a;
按语法规定if后面的( )内是一个条件,例如可以是: “if(x>0)…”。现在在x的位置上换上一个赋值表达式
值表达式构成一个赋值语句。 a=3 是一个赋值表达式,而 a=3; 是一个赋值语句。可以看到一个表达式的最后加一个分号就
成了一个语句。一个语句必须在最后出现分号,分号是语句 中不可缺少的一部分。例如:
上一页 下一页 返回
3.1 结构化程序设计的基本概念
i=i+1 (是表达式,不是语句) i=i+1;(是语句) 任何表达式都可以加上分号而成为语句,例如 i++; 是一语句,作用是使i值加1。又如 x+y; 也是一个语句,作用是完成x+y的操作,它是合法的,但是
上一页 下一页 返回
3.1 结构化程序设计的基本概念
以上3种基本结构,都有以下共同特点: ①所有结构均只有一个入口和一个出口。如图3-3~图3-5
中的语句1点为入口点, 语句2点为出口点。 ②结构内的每一部分都有机会被执行到。 ③结构内不存在无终止的循环。 因此,用以上3种基本的结构组成的程序必然是结构化的程
上一页 下一页 返回
3.2 数据的输入和输出
例3-1 输出单个字符。 #include main( ) { char a,b,c; a=′B′;b=′O′,c=′Y′; putchar(a);putchar(b);putchar(c); } 运行结果: BOY 也可以输出控制字符,如putchar(‘\n’)输出一个换行符,
3.2 数据的输入和输出
注意:在使用C语言库函数时,要用预编译命令 “#include”将有关的“头文件”包括到用户源文件中。在 头文件中包含了与用到的函数有关的信息。例如使用标准输 入输出库函数时,要用到“stdio.h”文件。文件后缀“h” 是head的缩写,#include命令都是放在程序的开头,因 此这类文件被称为“头文件”。在调用标准输入输出库函数 时,文件开头应有以下预编译命令:
第3章 顺序程序设计
3.1 结构化程序设计的基本概念 3.2 数据的输入输出 3.3 顺序结构的程序设计举例
3.1 结构化程序设计的基本概念
3.1.1 C语言的语句
语句是语言的主要组成成分之一。一个完整的C程序是由若 干条C语句有机组合而成的。和其他高级语言一样,C语言的 语句用来向计算机系统发出操作指令。一个语句经编译后产 生若干条机器指令。应当指出,C语句都是用来完成一定操 作任务的。声明部分的内容不应称为语句。如:int a;不是一 个C语句,它不产生机器操作,而只是对变量的定义。一个C 程序可以由若干个源程序文件(分别进行编译的文件模块) 组成,一个源文件又由若干个函数和预处理命令以及全局变 量声明部分组成,一个函数事实上是由数据定义部分和执行 语句组成的。
并不把x+y的和赋给另一个变量,所以它并无实际意义。
上一页 下一页 返回
3.1 结构化程序设计的基本概念
表达式能构成语句是C语言的一个重要特色。其实“函数调 用语句”也是属于表达式语句,因为函数调用(如sin(x)) 也属于表达式的一种。只是为了便于理解和使用,我们把 “函数调用语句”和“表达式语句”分开来说明。由于C程 序中大多数语句是表达式语句(包括函数调用语句),所以 有人把C语言称作“表达式语言”。
使输出的当前位置移到下一行的开头。若将例3-1程序最后 一行改为 putchar(a);putchar(′\n′);putchar(b); putchar(′\n′);putchar(c);putchar(′\n′)
上一页 下一页 返回
3.2 数据的输入和输出
则输出结果为: B O Y 也可以输出其他转义字符,如: putchar(′\101′) (输出字符′A′) putchar(′\′′)(输出单引号字符′) putchar(′\015′)(输出回车,不换行,使输出的当前位
嵌的语句。例如:“if( ) ~else~”的具体语句可以写 成: if(x>y)z=x;else z=y;
上一页 下一页 返回
3.1 结构化程序设计的基本概念
2.函数调用语句 函数调用语句由一次函数调用加一个分号构成一个语句,例
如: printf(″This is a C statement.″); 3.表达式语句 表达式语句由一个表达式构成一个语句,最典型的是,由赋
#include 或#include ″stdio.h″ stdio.h是standard input & output的缩写,它包含了
与标准I/O库有关的变量定义和宏定义。考虑到printf和 scanf函数使用频繁,系统允许在使用这两个函数时可不加 #include命令。
上一页 下一页 返回
3.2 数据的输入和输出
3.2.2 字符数据的输入输出
我们先介绍C标准I/O函数库中最简单的、也是最容易理解 的字符输入输出函数putchar( )和getchar( ),再介绍格 式输入输出函数printf( )和scanf( )函数。
1.putchar函数(字符输出函数) putchar函数的作用是向终端输出一个字符,例如: putchar(c); 它输出字符变量c的值。c可以是字符型变量或整型变量。
4*a*c))/(2*a)。
上一页 返回
3.2 数据的输入和输出
3.2.1 数据输入输出的概念
所谓输入输出是以计算机主机为主体来说的。从计算机向外 部输出设备输出数据称为“输出”,从外部向输入设备输入 数据称为“输入”。
C语言本身不提供输入输出语句,输入和输出操作是由函数 来实现的。在C标准函数库中提供了一些输入输出函数,例 如,printf函数和scanf函数。所以在使用它们时,千万不 要误认为这是C语言提供的输入输出语句。printf和scanf 不是C语言的关键字,而只是函数的名字。C提供的函数以库 的形式存放在系统中,它们不是C语言文本中的组成部 分。
上一页 下一页 返回
3.1 结构化程序设计的基本概念
3.自反赋值语句 格式: 变量 双目操作符=表达式; 例如: i+=2;a%=10; 赋值语句具有如下功能: ①给变量赋值,必要时自动进行数据类型的转换,例如:int
c=′X′。 ②完成C语言的计算功能,例如:y=(-b+sqrt(b*b-
1.顺序结构 顺序结构的语句是自顶而下依次执行的。如图3-1所示。先
执行语句1,再执行语句2,两者是顺序执行的关系。图中 (b)是N-S结构化流程图(下同)。
上一页 下一页 返回
3.1 结构化程序设计的基本概念
2.选择结构 选择结构中的语句是根据条件判断来控制执行的。如图3-2
所示。当条件成立(或称为“真”)时执行语句1,否则执 行语句2。注意,只能执行语句1或语句2之一。两条路径汇 合在一起然后出口。 3.循环结构 循环结构中的语句执行是根据判断条件是真是假来控制某些 操作是否反复执行。其有3种循环结构: (1)当型循环结构 该结构是当循环控制条件为真,则反复执行循环体语句,当 某一次执行时循环控制条件为假才退出循环。如图3-3所示。 此循环结构的特点是先判断循环条件,后执行循环体语句。 因此若循环条件起始为假,则循环体语句将一次都不执行。
上一页 下一页 返回
3.1 结构化程序设计的基本概念
(2)直到型循环结构 该结构是先执行循环体语句,后判断循环条件,若判断的条
件为真,则反复执行循环体语句,直到某一次执行时循环控 制条件为假才退出循环。如图3-4所示。此循环结构的特点 是先执行循环体语句,后判断条件。因此即使循环条件起始 为假,循环体语句也将至少执行一次。 (3)计数型循环结构 该结构是在循环次数指定的情况下,反复执行循环体语句。 如图3-5所示。此循环结构的特点是循环次数是明确的。
1.控制语句 控制语句是完成一定的控制功能。C提供了9种控制语句,它
们是: ①if( )~else~ (条件语句) ②for( )~ (循环语句) ③while( )~ (循环语句) ④do~while( ) (循环语句)
上一页 下一页 返回
3.1 结构化程序设计的基本概念
⑤continue (结束本次循环语句) ⑥break (中止执行switch或循环语句) ⑦switch (多分支选择语句) ⑧goto (转向语句) ⑨return (从函数返回语句) 上面9种语句中的括号( )表示其中是一个条件,~表示内