内容正文:
第3章 顺序结构程序设计
3.1 程序设计概述
3.2 C语言语句
3.3 格式化输出函数printf()
3.4 格式化输入函数scanf()
3.5 单个字符的输入/输出函数
3.6 顺序程序设计举例
3.1 程序设计概述
3.1.1算法的概念
简单地说,程序的功能就是进行数据加工,程序通常包括两方面的内容:对数据的描述和对加工的描述。对数据的描述称为“数据结构”,对加工的描述称为“算法”。广义地说,为解决某一个问题而采取的方法和步骤,就称为“算法”。在计算机科学中,算法则是指描述用计算机解决给定问题的过程。
下一页
返回
3.1 程序设计概述
3.1.2算法的特征
通常,一个算法必须具备以下五个基本特征:
1.有穷性。一个算法必须在它所涉及的每一种情形下,都能在执行有限次的操作之后结束;
2.确定性。算法的每一步,其顺序和内容都必须严格定义,而不能有任何的歧义;
3.有零个或多个输入。输入是算法实施前需要从外界取得的信息,有些算法需要有多个输入,而有一些算法不需要输入,即零个输入;
4.有一个或多个输出。输出就是算法实施后得到的结果,显然,没有输出的算法是没有意义的;
5.可行性。算法的每一步都必须是可行的,也就是说能够由计算机执行的。
上一页
下一页
返回
3.1 程序设计概述
3.1.3算法的描述
1.用自然语言描述
自然语言就是人们日常使用的语言,第3.1.1节中的算法就是用自然语言描述的。用自然语言表示算法,通俗易懂。但是,自然语言表示的含义往往不太严格,要根据上下文才能判断它的正确的含义,另外,用自然语言描述分支和循环不很方便。因此,除对简单的问题使用以外,一般不用自然语言描述算法。
上一页
下一页
返回
3.1 程序设计概述
2.用流程图描述
传统的流程图由图3-1所示的几种基本元素组成。
用流程图描述算法,形象直观,简单方便。例3.1.1节中的算法用流程图可表示为如图3-2所示。
3.用N-S流程图描述算法
传统的流程图用流程线和流程元素表示各个处理的执行顺序,但对流程线的使用没有严格的规定,因此,使用者可以不受限制的使流程转来转去,这样的流程图使人难以理解算法的逻辑。为了解决这个问题,规定了算法的三种基本结构:顺序结构、分支结构和循环结构,用这些基本结构按一定的规律组成一个算法,这样的算法称为结构化算法。1973年,美国学者I.Nassi和B.Shneiderman提出一种新的流程图,称为N-S流程图。N-S流程图的基本符号如图3-3所示。
上一页
下一页
返回
3.1 程序设计概述
3.1.4结构化程序设计方法
结构化程序设计强调程序设计风格和程序结构的规范化,提倡清晰的结构。结构化程序设计的基本思路是,把一个复杂问题的解决过程分阶段进行,每一个阶段处理的问题都控制在人们容易理解和处理的范围内。具体一点来说,就是在分析问题时采用“自顶向下,逐步细化”的方法;设计解决方案时采用“模块化设计”方法;编写程序时采用“结构化编码”方法。
上一页
下一页
返回
3.1 程序设计概述
“自顶向下,逐步细化”是对问题的解决过程逐步具体化的一种思想方法。例如,要在一组数中找出其中的最大数,首先,可以把问题的解决过程描述为:
(1)输入一组数。
(2)找出其中的最大数。
(3)输出最大数。
上一页
返回
3.2 C语言语句
1. 控制语句
控制语句完成一定的控制功能。C语言只有9条控制语句,又可细分为三种:
(1)选择结构控制语句。
if()... else... ,switch()...
(2) 循环结构控制语句。
Do...while(),for()...,while()...,break,continue
(3) 其他控制语句。
goto, return
下一页
返回
3.2 C语言语句
2. 函数调用语句
函数调用语句由一次函数调用加一个分号(语句结束标志)构成。例如:
printf(“This is a C Program.”);
3.表达式语句
表达式语句由表达式后加一个分号构成。
表达式能构成语句,是C语言的一大特色,最典型的表达式语句是在赋值表达式后加一个分号构成的赋值语句。例如,“num=5”是一个赋值表达式,而“num=5;”却是一个赋值语句。
4.空语句