第一章 C语言概述
第一节 C语言概况
1.1.1 C语言的发展过程(了解) 1.1.2 C语言的特点(了解)
第二节 简单的C语言程序
1.2.1 举例说明简单的C语言程序(重难点)
【例1-1】 编写程序,在屏幕上输出?Hello,World!?的字符串。 程序说明:
1.include是文件包含命令,扩展名为.h的文件称为头文件 ,表示在程序中要用到这个文件中的函数。
2.main是主函数的函数名,表示这是一个主函数。1个C语言源程序只允许有1个main函数。
3.printf是函数调用语句。
printf函数是系统定义的标准函数,其功能是把要输出的内容送到显示器上显示。在stdio.h库函数中。
4.main()函数中的内容必须放在一对花括号?{}?中。 【例1-2】 请从键盘输入一个角度的弧度值x,计算该角度的余弦值,将计算结果输出到屏幕。
程序说明:
1.程序包含了两个头文件:stdio.h、math.h。
2.在main函数中定义了两个双精度实数型变量x、s。
3.printf(\;用于显示提示信息。
4.scanf(? %lf ?,&x) ;用于从键盘获得一个实数x。 x代表角度的弧度值。
5.s=cos(x) ;计算x的余弦,并把计算结果赋给变量s。
6.printf (?cos(%lf)=%lf\\n?,x,s) ;将x和s的值输出到屏幕。双引号中得两个格式字符?%lf?,分别对应着x和s两个输出变量。 【例1-3】 设计一个加法器,能实现两数的相加。通过调用该加法器,计算两数的和。
程序说明:
1.主函数体分为两部分:说明部分和执行部分。
2.语句c=add(a,b);是通过调用加法器add()来完成a+b的计算,并将计算结果赋给变量c。
3.屏幕上显示字符串:?please input value of a and b:?是提示用户从键盘输入a和b的值,用户从键盘上键入两个数,屏幕上会显示出这两个数的和。
1.2.2 C语言程序的结构(重点)
通常,C语言程序可由下面几个部分组合而成: 1.文件包含部分; 2.预处理部分; 3.变量说明部分; 4.函数原型声明部分; 5.主函数部分;
6.自定义函数部分。
关于程序结构的几点说明:
1.不是每一个C语言程序都包含有上面的6个部分,最简单的C语言程序可以只有文件包含和主函数部分。
2.每一个C语言程序都必须有且仅有一个主函数,主函数的组成形式如下所示:
main() {
变量说明部分 程序语句部分 }
3.每一个C语言程序可以有0个或多个自定义的函数。 注:自定义函数的形式同主函数形式一样: <自定义的函数名>(<参数列表>) {
变量说明部分 程序语句部分 }
4.每一个C语言程序的语句由分号结束。 2.3 Visual C++6.0的基本操作(掌握)
1. C语言程序要通过编译、链接后生成可加载模块(执行文件),才能在计算机上运行。
2. 程序开发的具体步骤如下:
(1)编辑源程序。将C源程序用一个后缀为.C的文件保存。如:myfile.c (2)编译。检查源程序中的语法错误,生成目标代码文件。如:myfile.obj (3)链接。将多个目标程序链接到一个程序中,生成可执行文件,如:myfile.exe
(4)运行。可执行文件,检验程序的正确性。 第三节 算法 ? 算法:
(1)解决问题的方法和要遵循的步骤。
(2)算法描述了程序要执行的操作及操作的步骤顺序。 ? 程序的功能是通过算法来描述的。 ? C语言程序是一种结构化的程序。 ? 结构化程序:
(1)问题可以分解成相互独立的几个部分。
(2)每个独立部分可以通过简单的语句或结构来实现。 ? 分问题解的过程就是算法设计的过程。 重点:掌握分析问题、解决问题的方法。
备注:此节内容参看教材第三章程序的简单算法设计
1.3.1 结构化程序的算法设计
【例3-1】 要求从键盘输入3个数,找出其中最小的那个数,将其输出到屏幕。请给出解决这个问题的算法。
说明:通过算法描述的步骤,可以很方便地用程序语言来实现。
1.3.2 结构化算法性质 1.3.3 结构化算法的结构
1.在C语言算法的主要结构有如下3种。
(1)顺序结构:程序在执行过程中是按语句的先后顺序来执行的,每一条语句都代表着一个功能,
(2)分支结构:程序在执行过程中,会根据条件的不同有选择的执行不同的功能。
(3)循环结构:程序在执行过程中,在一定的时间段内或一定的条件下,重复地执行某个功能,直到时间已到或条件不再满足。
2.程序设计要解决的两个主要问题: (1)按什么顺序或步骤来执行; (2)用什么语句来实现。
1.3.4 结构化算法的描述方法 1.自然语言
? 用类自然语言表示算法。如:汉语、英语或其他语言。 ? 特点:通俗易懂,简单明了。
【例3-2】 从键盘输入两个变量的值a、b,请按输入值从小到大的顺序将这两个变量的值输出到屏幕。请写出这个问题的算法描述。
【例3-3】 几何级数求和:sum=1+2+3+4+5?+(n?1)+n。请写出该问题的算法。
2.流程图
? 流程图是一种算法的形象表示。
? 流程图是由流程线和几何图形框连接而成的。
? 算法流程图的符号采用美国国家标准化协会(ANSI)规定的一些常用符号 算法流程图的3种基本结构: 顺序结构、分支结构、循环结构
(1)顺序结构:一种简单的线性结构,根据流程线所示的方向,按顺序执行各矩形框的指令。
(2)分支结构:对给定的条件进行判断,看是否满足给定的条件,根据条件结果的真假而分别执行不同的执行框。 基本流程图有两种: T F F 条件 条件 T A B A (a) (b)
(3)循环结构
?基本流程图有两种
while 循环 do_ while 循环
条件TAFAF条件T注:(1) 虚线框表示可将循环结构看成一个矩形框。 (2) 指令A称为循环体,可以是一条或多条指令,也可以是其 他分支或循环结构。
(3) do_while结构可以转化成while结构。 ? 循环结构的特点:
①在循环体指令A中必须要有对条件的值进行修改的语句,使得经过有限次循环后,循环一定能结束。
② while型循环中循环体可能一次都不执行,而do_while型循环则至少执行一次循环。
③ do_while型循环可以转化成为while型循环结构,但while型循环不一定能转化为do_while型循环。
关于结构化流程图的规则:
1. 可分别将顺序结构、分支结构、循环结构的基本流程图看成是一个执行框。
2. 任何两个按顺序的执行框可以合并为一个执行框。
? 反复运用规则1和规则2可得到结构化流程图的最简形式 【例3-4】分析下面的流程图,是否符合结构化算法标准。 【例3- 5 】将例3-1的算法用流程图表示,分析其是否符合结 构化的标准。从键盘输入3个数,找出其中最小的那个数,将其输出到屏幕
【例3-6】 将例3-2所描述的问题用算法流程图来表示。
从键盘输入两个整型变量a,b的值,按输入值从小到大的顺序输出到屏幕
【例3-7】将例3-3所描述的问题用算法流程图来表示。 计算几何级数的和:sum=1+2+3+4+5+?+(n?1)+n。 3.伪代码
? 伪代码是一种接近于程序语言的算法描述方法。
? 特点:采用有限的英文单词作为伪代码的符号系统,按照特定的格式来表达算法,可读性好,方便将算法改写成计算机的程序源代码。 ? 伪代码的7个主要部分:(1) 算法名称(2)指令序列(3)输出/输出(4)分支选择(5)赋值(6)循环(7)算法结束 (1)算法名称
? 两种表示算法的伪代码:过程(Procedure)?函数(Function) ? 过程和函数的区别是: ? 算法伪代码的书写规则:
Procedure <算法名> ([<参数列表>]) Function <算法名> ([<参数列表>])
(2)指令序列

