第4章c语言谭浩强版顶级讲义
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
if(x>y) z=x;else z=y;
(2) 函数调用语句。由一次函数调用加一个分号构 成一个语句,例如:printf("this is a c statem ent.");
(3) 表达式语句。 由一个表达式构成一个语句, 最典型的是,由赋值表达式构成一个赋值语句。
a=3 是一个赋值表达式,而
第4章 最简单的c程序设计—顺序程序设计
4.1 C语句概述 4.2 程序的三种基本结构 4.3 赋值语句 4.4 数据输入输出的概念及在C语言中的实现 4.5 字符数据的输入输出 4.6 格式输入与输出 4.7 顺序结构程序设计举例 习题
在上一章介绍了程序中用到的一些基本要素 (常量、变量、运算符、表达式等),它们是 构成程序的基本成分。在第1章中已经介绍 了几个简单的c程序。本章将介绍为编写简 单的程序所必需的一些内容。
根据k的值(k1,k2,…,kn)不同而决定执行a1,a2,…,an 之一。
已经证明,由以上基本结构组成的程序能处理任何 复杂的问题。上面图4.2~图4.7中方框中的 a,b,a1,…,an等可以是一个简单的语句,也可以又 是一个基本结构。例如,图4.7是一个顺序结构,它 由两个操作顺序组成。虚线框内是一个当型循环 结构,可以用“b”表示,因此图4.7就可以理解为图 4.2(a)所示的顺序结构。
(1) 顺序结构,见图4.2。先执行a操作,再执行b操作, 两者是顺序执行的关系。图中(b)是ns结构化流程 图(下同)。
图4.2
图4.3
(2) 选择结构,见图4.3。p代表一个条件,当p条件成 立(或称为“真”)时执行a,否则执行b。注意,只能 执行a或b之一。两条路径汇合在一起然后出口。
(3) 循环结构,有两种循环结构:
4.1 C语句概述
和其他高级语言一样,c语言的语句用来向计算机系统 发出操作指令。一个语句经编译后产生若干条机器指 令。一个实际的程序应当包含若干语句。应当指出, c语句都是用来完成一定操作任务的。声明部分的内 容不应称为语句。如:int a;不是一个c语句,它不产 生机器操作,而只是对变量的定义。从第1章已知, 一个函数包含声明部分和执行部分,执行部分即由语 句组成。c程序结构可以用图4.1表示。即一个c程序可 以由若干个源程序文件(分别进行编译的文件模块)组 成,一个源文件可以由若干个函数和预处理命令以及 全局变量声明部分组成(关于“全局变量”见第7章, “预编译命令”见第8章),一个函数由数据定义部分 和执行语句组成。
a=3;
是一个赋值语句。可以看到一个表达式的最后加一 个分号就成了一个语句。一个语句必须在最后出 现分号,分号是语句中不可缺少的一部分(而不 像pascal语言那样,分号只是语句间的分隔符号)。 例如:
i=i+1 i=i+1;
(是表达式,不是语句) (是语句)
任何表达式都可以加上分号而成为语句,例如i++; 是一语句,作用是使i值加1。又如x+y;也是一 个语句,作用是完成x+y的操作,它是合法的, 但是并不把x+y的和赋给另一变量,所以它并无 实际意义。
图4.6
图4.7
关于三种基本结构的特征以及结构化程序设计方法, 读者可能已在学习其他高级语言程序设计时学习 过,在此不再重复。只是应当强调说明,在今后的 程序设计中应当采用结构化程序设计方法。在本 章中,我们将介绍几种最基本的语句,以及用它们 构成顺序结构的程序。在第4、第5章介绍选择结 构和循环结构的程序设计。
}
注意:复合语句中最后一个语句中最后的分号不能 忽略不写(这是和pascal不同的)。
C语言允许一行写几个语句,也允许一个语句拆开 写在几行上,书写格式无固定要求(fortran、 cobol有严格要求)。
4.2 程序的三种基本结构
为了提高程序设计的质量和效率,现在普遍采用结 构化程序设计方法。结构化程序由若干个基本结 构组成。每一个基本结构可以包含 一个或若干个 语句。有三种基本结构:
① 当型循环结构,见图4.4。当p条件成立(“真”)时, 反复执行a操作。直到p为“假”时才停止循环。
② 直到型循环结构,见图4.5。先执行a操作,再判断p 是否为“假”,若p为“假”,再执行a,如此反复,直 到p为“真”为止。
图4.4
图4.5
由选择结构可以派生出另一种基本结构: 多分支选 择结构,见图4.6。
图4.1
在第2章中已经说明,程序应该包括数据描述(由声 明部分来实现)和数据操作(由语句来实现)。数据 描述主要定义数据结构(用数据类型表示)和数据
初值。数据操作的任务是对已提供的数据进行加 工。
C语句可以分为以下5类:
(1) 控制语句,完成一定的控制功能。c只有9种控 制语句,它们是:
① if()~else~ (条件语句)
② for()~
(循环语句)
③ while()~
(循环语句)
④ do~while()
(循环语句)
⑤ continue (结束本次循环语句)
⑥ break (中止执行switch或循环语句)
⑦ switch (多分支选择语句)
来自百度文库⑧ goto
(转向语句)
⑨ return
(从函数返回语句)
上面9种语句中的括号()表示其中是一个条件,~ 表示内嵌的语句。例如:“if()~else~”的具体 语句可以写成:
表达式能构成语句是c语言的一个重要特色。其实 “函数调用语句”也是属于表达式语句,因为函 数调用(如sin(x))也属于表达式的一种。只是为了 便于理解和使用,我们把“函数调用语句”和 “表达式语句”分开来说明。由于c程序中大多 数语句是表达式语句(包括函数调用语句),所以 有人把c语言称作“表达式语言”。
4.3 赋值语句
前已介绍,赋值语句是由赋值表达式加上一个分号 构成。由于赋值语句应用十分普遍,所以专门再 讨论一下。
(4) 空语句。下面是一个空语句: ;
即只有一个分号的语句,它什么也不做。有时用来 做被转向点,或循环语句中的循环体(循环体是 空语句,表示循环体什么也不做)。
(5) 可以用 {}把一些语句括起来成为复合语句, 又称分程序。如下面是一个复合语句。
{z=x+y; t=z/100; printf("%f",t);