浙江大学刘加海C语言课件1

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第1章C程序设计基础

◆本章重点

1.C语言程序的结构。

2.变量与常量的表示方法。

3.运算符与表达式。

4.指针的概念及变量地址与指针的关系。

5.指针与数组的初步基本概念。

◆本章难点

1.C语言中常量的表示方法。

2.整型数在计算机中存储的形式。

3.不同类型数据的转换。

4.转义字符。

5.各种运算符与表达式的正确理解。

6.指针的运算与数组的赋值。

1.1 C程序的结构

1.1.1 程序的概念

程序是指人们将需要计算机做的工作写成一定形式的指令,并把它们存储在计算机的内部存储器中。当人们给出命令之后,它就按指令操作顺序自动进行,把这种可以连续执行的一条条指令的集合称为“程序”。目前,正在使用的计算机程序设计语言有上百种,有些语言是面向机器的,如二进制语言,而多数是面向问题的语言。面向问题的语言都被称为计算机的“高级语言”,如C语言等。当然把C++等称为面向对象的语言。这些语言都是用接近人们习惯的自然语言和数学语言作为语言的表达形式,人们学习和操作起来感到十分方便。目前的程序设计一般可分为非结构化程序设计、结构化程序设计和面向对象的程序设计,C语言是结构化程序设计语言。

程序设计的过程一般包括:

(1)问题的提出、要求及所采用的数据结构。

(2)算法的确定、程序的编制。

(3)程序的调试及修改。

(4)整理并写出文档资料。

结构化程序设计由三种结构组成:顺序结构、选择结构、循环结构。

(1)顺序结构:顺序结构的程序是一条语句接一条语句顺序地往下执行的。例如在图1.1中,先执行语句1,然后执行语句2,最后执行语句3,顺序结构

的程序是最简单的程序。

图1.1 顺序结构的程序段

(2)分支结构:若在程序执行过程中,程序的流程可由多路分支组成,根据不同的条件去执行不同的任务。例如在图1.2中程序执行到条件表达式时,首

先判断条件是否为“真“,如为真执行语句1,否则执行语句2。

图1.2 分支结构的程序段

(3)循环结构:如在程序中需要根据某项条件重复地执行某项任务若干次或直到满足或不满足某条件为止,这就构成循环结构。例如在图1.3中程序执行

到循环条件表达式时,首先判断循环条件是否为“真“,如循环条件为“真

“,执行循环语句,循环语句执行完成后,又转去判断循环条件,如循环条

件仍为真,再次执行循环语句,如此反复,直到循环条件为假,退出此循环。

第1章C程序设计基础

图1.3 循环结构的程序段

用C语句所写的序列称为C源程序,它的后缀为.c,C源程序经过编译(compile)后生成一个后缀为.obj的二进制文件,最后由连接程序(link)把此.obj文件与C语言提供的各种库函数连接起来生成一个.exe文件,它就是可执行文件。

因而程序的设计过程如图1.4所示。

图1.4 程序的设计过程

1.1.2 C函数的构成

C语言是结构化的程序设计语言,C程序由一个或多个文件组成,而一个文件可由一个或多个函数组成。C程序中必须有一个函数名为main的函数,且只能有一个main函数。程序运行时从main函数开始,最后回到main函数。

C语言源程序可由一个或一个以上文件组成,而每个文件至少有一个函数,函数是C 语言的最基本的单位。

C函数由语句构成,语句结束符用“;”表示,语句由保留字、标识符、运算符和表达式构成。其中“{”和“}”分别表示函数执行的起点与终点或程序块的起点与终点。

C程序中书写格式自由,一行内可写几个语句,但区分大小写字母。用C语言写成的函数结构图如1.5所示。

图1.5 C函数定义的结构示意图

例1.1函数结构的例子。

int add(int x,int y) /*函数返回值类型、函数名及形式参数的声明*/

{ /*函数体开始*/

int z; /* 数据定义部分,给变量分配内存空间*/

z=x+y; /*执行语句*/

return z; /*函数结束前返回一个整型值*/

} /*函数体结束*/

在程序中可以对程序进行注释,注释的目的主要是为了人们能读懂您的程序。注释部分必须用符号“/*”和“*/”来界定,“/”和“*”之间不可以有空格。注释可以用西文,也可以用中文。注释可以出现在程序中任意合适的地方,注释部分对程序的运行不起作用。在注释中可以说明变量的含义、程序段的功能,以便帮助人们阅读程序。因此一个好的程序应该有详细的注释。

在上例中,如要在机器上运行必须要有一个main函数,通过main调用函数add函数,例如完整的程序代码为:

#include /*文件预处理,包含标准输入输出库,程序可调用输入、输出函数*/ int add(int x,int y)

{

int z;

z=x+y;

return z;

}

void main( )

{

int add(int,int); /* 函数的说明,告诉系统在主函数中要调用add函数 */ int a=1,b=2,c; /* 变量的定义*/

c=add(a,b); /* 函数调用 */

printf("%d+%d=%d\n",a,b,c);

/* 调用系统输出函数printf,%d为格式控制符,依次用后面的变量值填充,以整数形式输出*/ }

此程序的执行结果如下:

1+2=3

分析:程序执行的步骤:

1)从main函数中的符号‟{…开始执行;

相关文档
最新文档