C语言第二章程序设计基础.ppt

上传人:wuy****n92 文档编号:70102699 上传时间:2023-01-16 格式:PPT 页数:50 大小:248.50KB
返回 下载 相关 举报
C语言第二章程序设计基础.ppt_第1页
第1页 / 共50页
C语言第二章程序设计基础.ppt_第2页
第2页 / 共50页
点击查看更多>>
资源描述

《C语言第二章程序设计基础.ppt》由会员分享,可在线阅读,更多相关《C语言第二章程序设计基础.ppt(50页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第二章 C语言程序设计基础C语言程序设计学习重点语言程序设计学习重点标识符标识符关键字关键字数据类型数据类型表达式表达式基本语句基本语句函数函数存储类型存储类型预处理预处理程序设计语言介绍从机器语言开始,程序设计语言经历了一个发展过程,如:从机器语言开始,程序设计语言经历了一个发展过程,如:机器语言、汇编语言、高级语言(机器语言、汇编语言、高级语言(C、C+等)。等)。机器语言是由二进制代码机器语言是由二进制代码“0”和和“1”组成的,能够被硬件(计算组成的,能够被硬件(计算机、单片机、机、单片机、DSP等)直接识别和执行的语言。最终烧写到硬件的等)直接识别和执行的语言。最终烧写到硬件的就是机

2、器语言。用机器语言编写程序难学、难记、难懂、难用,很就是机器语言。用机器语言编写程序难学、难记、难懂、难用,很少使用。少使用。汇编语言是一种符号化语言,它使用助记符代替二进制指令。汇汇编语言是一种符号化语言,它使用助记符代替二进制指令。汇 编语言比机器语言易学易懂,它的优点是效率高、占用空间少、实编语言比机器语言易学易懂,它的优点是效率高、占用空间少、实时性高,但由于依赖具体硬件,因此可移植性差,编写大程序时性高,但由于依赖具体硬件,因此可移植性差,编写大程序 时时调试复杂。调试复杂。C语言是一门高级语言,易学易用。它支持自上而下的结构化程序语言是一门高级语言,易学易用。它支持自上而下的结构化

3、程序设计,可大大缩短应用程序的开发周期,使软件的可读性增加,设计,可大大缩短应用程序的开发周期,使软件的可读性增加,编写效率明显提高,可移植性好。因此编写效率明显提高,可移植性好。因此C语言已成为目前最流行的语言已成为目前最流行的 单片机、单片机、DSP开发语言。开发语言。C、汇编和机器语言三者之间的联系如果您想了解硬件的具体结如果您想了解硬件的具体结构和工作原理,那么您可以构和工作原理,那么您可以选择汇编语言。选择汇编语言。如果您想快速入门,开发大如果您想快速入门,开发大的系统,那么的系统,那么 建议您学习建议您学习C语言编程。语言编程。C语言汇编语言机器语言编译汇编一个简单的C的程序voi

4、d main(void)char P0,LED;/P0是端口是端口0,LED是发光二极管输出是发光二极管输出P0=0 x24;LED=0 x35;While(1);C语言程序设计要点标识符标识符关键字关键字数据类型数据类型表达式表达式基本语句基本语句函数函数存储类型存储类型预处理预处理标识符标识符用来定义常量、变量、函数、标号以及用户定义对象的名标识符用来定义常量、变量、函数、标号以及用户定义对象的名 称。称。说明:说明:标识符由数字和字母组成,但第一个字符必须是字母或下划线。标识符由数字和字母组成,但第一个字符必须是字母或下划线。C语言中大、小写字母被认为是不同符号。例如:语言中大、小写字母

5、被认为是不同符号。例如:at、AT、At 就就是是三种不同的标识符。三种不同的标识符。标识符命名的良好习惯标识符命名的良好习惯见名知意:见名知意:所谓所谓“见名知意见名知意”是指,是指,通过变量名就知道变量值的含义。通常应选通过变量名就知道变量值的含义。通常应选择能表示数据含义的英文单词(或缩写)作变量名。择能表示数据含义的英文单词(或缩写)作变量名。例如例如:name(姓名)、(姓名)、sex(性别)、(性别)、age(年龄)。(年龄)。关键字关键字是一种已经被编译器定义过的标识符,具有特定的含义,因 此也称作保留字,意义是不可以再被用户定义。下表列出了ANSI C定义的标准关键字。关键字数

6、据类型F2812支持的基本数据类型数据数据类类型型字字长长/b最小最小值值最大最大值值Signed char16-3276832767Char,unsigned char16065535Short,signed short16-3276832767Unsigned short16065535Int,signed int16-3276832767Unsigned int16065535Long,signed long32-21474836482147483647Unsigned long3204294967295Float 321.17e-383.4e+38Double321.17e-383.4

7、e+38在CCS中将常用的数据类型重新定义如下:Typedef int int16;Typedef long int32;Typedef unsigned int Uint16Typedef unsigned long Uint32;Typedef float float32;Typedef long double float64;数组数组是一些同类型数据的有序结合,它们存储在内存的一个连续数组是一些同类型数据的有序结合,它们存储在内存的一个连续 存储区域。存储区域。定义:数据类型定义:数据类型 数组名数组名常量表达式常量表达式;引用:数组名引用:数组名下标下标说明:说明:定义中的数据类型指的

8、是数组元素的数据类型,它们可以是基本定义中的数据类型指的是数组元素的数据类型,它们可以是基本 数据类型,也可以是构造类型。数据类型,也可以是构造类型。常量表达式表示的是数组容量,也叫数组长度。常量表达式表示的是数组容量,也叫数组长度。数组名可以是任何数组名可以是任何C语言的合法标识符,相当于数组的首地址。语言的合法标识符,相当于数组的首地址。占用空间:所有成员占用空间之和。占用空间:所有成员占用空间之和。注意:在硬件编程中很少使用多维数组,所以此处没有讲述。注意:在硬件编程中很少使用多维数组,所以此处没有讲述。举例p初始化:初始化:在定义数组时对数组元素赋以初值,如下:在定义数组时对数组元素赋

9、以初值,如下:int age4=31,29,32,15;如果想使一个数组全部元素为如果想使一个数组全部元素为0,可以写成:,可以写成:int age4=0;p引用:引用:C语言规定只能逐个引用数组元素而不能引用整个数组。语言规定只能逐个引用数组元素而不能引用整个数组。例如将数组例如将数组age4=31,29,32,15的全部元素之和赋给的全部元素之和赋给a,代码,代码如下:如下:int age4=31,29,32,15;int a;a=age0+age1+age2+age3;结构体p结构体是将不同类型的数据按一定顺序存放在一起的数据结构。结构体是将不同类型的数据按一定顺序存放在一起的数据结构。

10、p定义定义在声明类型的时候同时定义变量,形式为:在声明类型的时候同时定义变量,形式为:struct 结构体名结构体名成员表列成员表列变量名表列;变量名表列;直接定义结构体类型变量,形式为:直接定义结构体类型变量,形式为:struct成员表列成员表列变量名表列;变量名表列;p引用:结构体变量名引用:结构体变量名.成员名成员名结构体p说明:说明:类型与变量不能混淆,只能对变量赋值。类型与变量不能混淆,只能对变量赋值。结构体的成员可单独使用,相当于普通变量。结构体的成员可单独使用,相当于普通变量。成员本身可以是一个结构体。成员本身可以是一个结构体。占用空间:所有成员占用空间之和。占用空间:所有成员占

11、用空间之和。举例定义一个结构体名为定义一个结构体名为student的结构体,有两个变量为的结构体,有两个变量为student1和和 student2,对变量,对变量student1的成员的成员no赋值赋值25,并将,并将student1的成员的成员no 赋值给赋值给student2的成员的成员no,如下:,如下:struct studentint no;/*学号学号*/char name8;/*姓名姓名*/char sex;/*性别性别*/int age;/*年龄年龄*/float score;/*C成绩成绩*/student1,student2;student1.no=25;student2

12、.no=Student1.no;位域型p位域是这样一种数据结构,它定义每个元素(成员)的二进制位位域是这样一种数据结构,它定义每个元素(成员)的二进制位 数,以数,以bit为操作对象,这在对单片机外部设备的管理方面有广泛为操作对象,这在对单片机外部设备的管理方面有广泛 应用。应用。p位域定义的一般形式为:位域定义的一般形式为:struct 位域结构名位域结构名数据类型数据类型 成员成员1:长度:长度 1;数据类型数据类型 成员成员n:长度:长度 n;变量名表列;变量名表列;p引用:位域结构变量名引用:位域结构变量名.成员名成员名位域型p说明:说明:其中其中“数据类型数据类型”为位域结构的成员的

13、数据类型,通为位域结构的成员的数据类型,通常为常为unsignedchar和和unsigned int类型;类型;成员成员1成员成员n为位域结构的成员名,为用户定义的标为位域结构的成员名,为用户定义的标识符;识符;冒号后面的冒号后面的“长度长度”表示相应成员的二进制位数;表示相应成员的二进制位数;不是每个位域类型的成员都需要命名,但要有域长,不是每个位域类型的成员都需要命名,但要有域长,从而可以跳从而可以跳 过这些位;过这些位;位域变量被定义后,按照定义的顺序,系统为其在内位域变量被定义后,按照定义的顺序,系统为其在内存开辟存储存开辟存储 空间,在一个空间,在一个char或或int的各位中逐个

14、存放,的各位中逐个存放,如果小于一个字节,也如果小于一个字节,也 将占用一个字节。将占用一个字节。举例structunsigned char P1OUT_0:1;unsigned char P1OUT_1:1;unsigned char P1OUT_2:1;unsigned char P1OUT_3:1;unsigned char P1OUT_4:1;unsigned char P1OUT_5:1;unsigned char P1OUT_6:1;unsigned char P1OUT_7:1;P1OUT_bit;P1OUT_bit.P1OUT_0=1;共用体p共用体是将不同类型的数据都存放在同

15、一起始地址的内存单元共用体是将不同类型的数据都存放在同一起始地址的内存单元 中,中,共用一段内存以节省内存单元。共用一段内存以节省内存单元。p定义定义:union 共用体名共用体名 数据类型 成员1:长度 1;数据类型 成员n:长度 n;变量名表列;变量名表列;union数据类型数据类型 成员成员1:长度:长度 1;数据类型数据类型 成员成员n:长度:长度 n;变量名表列;变量名表列;共用体 p引用:共用体变量名引用:共用体变量名.成员名成员名p说明:说明:共用体变量中可以包含若干成员及若干种类型,但共用体成员不共用体变量中可以包含若干成员及若干种类型,但共用体成员不 能同时能同时使用。使用。

16、在每一时刻,只能引用一个成员。共用体变量中起在每一时刻,只能引用一个成员。共用体变量中起 作用的成员值作用的成员值是最后一次存储的成员值。是最后一次存储的成员值。共用体变量所有成员共用同一段内存单元,共用体变量和它的各共用体变量所有成员共用同一段内存单元,共用体变量和它的各 个成员个成员具有相同的地址。后来存放的共用体成员值将覆盖之前存具有相同的地址。后来存放的共用体成员值将覆盖之前存 放的共用体成放的共用体成员值,故只能使用最后一次存储的共用体成员值。员值,故只能使用最后一次存储的共用体成员值。不能对共用体变量进行初始化和赋值,也不能通过引用共用体变不能对共用体变量进行初始化和赋值,也不能通

17、过引用共用体变 量名来量名来得到某成员的值。得到某成员的值。共用体变量不能作函数参数,函数的返回值也不能是共用体类共用体变量不能作函数参数,函数的返回值也不能是共用体类 型。型。占用空间:最长的成员的长度。占用空间:最长的成员的长度。枚举p枚举就是列举一个变量所有的取值。实际是用符号来枚举就是列举一个变量所有的取值。实际是用符号来表示若干个可取表示若干个可取 的整型值,的整型值,它是整型的一个子集。它是整型的一个子集。p定义:定义:enum 枚举型名枚举型名枚举常量枚举常量1,枚举常量枚举常量2枚举常量枚举常量n 变变量名表列量名表列;enum 枚举型名枚举型名枚举常量枚举常量1,枚举常量枚举

18、常量2枚举常量枚举常量n;enum 枚举型名枚举型名 变量名表列变量名表列;p引用:变量名引用:变量名举例p定义:定义:Enum weekday sun,mon,tue,wed,thu,fri,sat day;p引用:引用:Day=sun;指针型p指针变量:一种特殊的变量,它在内存中保存指针变量:一种特殊的变量,它在内存中保存的不是一般的数的不是一般的数 值,而是另一个变量的地址。值,而是另一个变量的地址。p间接存取方式:通过指针来实现数据访问的方间接存取方式:通过指针来实现数据访问的方法。法。p定义:定义:数据类型数据类型*指针变量名;指针变量名;p取地址运算符取地址运算符“&”,引用形式:

19、,引用形式:&变量。变量。p取内容运算符取内容运算符“*”,引用形式:,引用形式:*指针变量。指针变量。举例int data5=0;int*pointer=data;char i;int test;for(i=0;i5;i+)*pointer=i;pointer+;常量与变量p常量常量定义:指在运行过程中其值始终不可改变的量,也就是直接使用定义:指在运行过程中其值始终不可改变的量,也就是直接使用 符号(文字)表示的值。如符号(文字)表示的值。如12、3.5、A等。等。分类:整型常量、实型常量、字符常量、字符串常量、布尔常分类:整型常量、实型常量、字符常量、字符串常量、布尔常 量。量。举例:举例

20、:const Uint16 x;形式一形式一#define SCI_IO 0 x0030;形式二形式二p变量:指在运行过程中其值可以改变的量,变量是需要用名字来变量:指在运行过程中其值可以改变的量,变量是需要用名字来 标识的。标识的。表达式p运算符:又称操作符,是一个符号,它指示在一个或多个操作数上运算符:又称操作符,是一个符号,它指示在一个或多个操作数上 完成某种运算完成某种运算操作或动作。操作或动作。算术运算符:算术运算符:+、*、/、%、+、;关系运算符:关系运算符:、=;逻辑运算符:逻辑运算符:!、&、|;位运算符:位运算符:、|、&;赋值运算符:赋值运算符:=、+=、=、*=、/=、

21、%=;条件运算符:?:;条件运算符:?:;逗号运算符:,;逗号运算符:,;指针运算符:指针运算符:*、&;求字节数运算符:求字节数运算符:sizeof;强制类型转换运算符:强制类型转换运算符:(类型类型);其它运算符;其它运算符;、-、()、等。等。p操作数:是运算符的操作对象操作数:是运算符的操作对象,可以是常量、变量、函数与表达式。可以是常量、变量、函数与表达式。算术运算符p+、-(减法(减法/取负)、取负)、*、/、%(求余数)、(求余数)、+、。p说明:说明:两个整数相除,其商为整数,小数部分被舍弃。例两个整数相除,其商为整数,小数部分被舍弃。例如,如,5/2=2。余数运算要求两侧的操

22、作数均为整型数据,否则余数运算要求两侧的操作数均为整型数据,否则出错。出错。关系运算符p关系运算符用于判别两个值之间的关系,判别的结果关系运算符用于判别两个值之间的关系,判别的结果只有真和假两只有真和假两 种结果。判别结果为真,则表示为种结果。判别结果为真,则表示为1,判,判别结果为假则表示为别结果为假则表示为0。p关系运算符有以下几种:关系运算符有以下几种:、=。p说明:关系运算有说明:关系运算有、=,、=的优的优 先级相同先级相同,=、!=的优先级相同的优先级相同,前者的前者的优先级高于后者。优先级高于后者。逻辑运算符p!、&、|。p说明:说明:逻辑运算符的结果为逻辑量,不同于位运算。逻辑

23、运算符的结果为逻辑量,不同于位运算。&和和是一种短路运算。所谓短路运算,是指在计算的过是一种短路运算。所谓短路运算,是指在计算的过程程 中,只要表达式的值能确定,便不再计算下去。逻辑与中,只要表达式的值能确定,便不再计算下去。逻辑与运算运算 时,计算到某个操作数为假,可以确定整个表达式的时,计算到某个操作数为假,可以确定整个表达式的值为假值为假 时,剩余的表达式部分便不再计算。逻辑或运算时,时,剩余的表达式部分便不再计算。逻辑或运算时,计算到某计算到某 个操作数为真,可以确定整个表达式的值为真时,个操作数为真,可以确定整个表达式的值为真时,剩余的表达剩余的表达 式部分便不再计算。式部分便不再计

24、算。位运算符p、|、&。p说明:说明:按位取反运算用来对一个二进制数按位取反,即按位取反运算用来对一个二进制数按位取反,即0位变位变1,1位变位变0。按位与运算的规则是操作数的对应位为按位与运算的规则是操作数的对应位为1,则该位的运算结果为,则该位的运算结果为1,否则为否则为0。按位或运算的规则是操作数的对应位都为按位或运算的规则是操作数的对应位都为 0,则该位的运算结果为则该位的运算结果为0,否则为,否则为 1。按位异或运算的规则是操作数的对应位相同按位异或运算的规则是操作数的对应位相同,则该位的运算结果为则该位的运算结果为0,否则为,否则为 1。赋值运算符赋值运算符为赋值运算符为“=”,作

25、用是将右边表达式的值赋给等号,作用是将右边表达式的值赋给等号左边的变左边的变 量。如:量。如:i=3。复合赋值运算符:在基本赋值运算符复合赋值运算符:在基本赋值运算符“=”之前加上任一之前加上任一双目算术运双目算术运 算符及位运算符可构成复合赋值运算符算符及位运算符可构成复合赋值运算符,又称又称带运算的赋值运算带运算的赋值运算 符。符。一般形式一般形式:变量变量=表达式等价于表达式等价于:变量变量=变量变量表达式表达式说明:说明:代表任一双目算术运算符或位运算符。代表任一双目算术运算符或位运算符。例如:例如:char i;ib?a:b表示若表示若a大于大于b,则表达式的值为,则表达式的值为a;

26、若若a小于小于b,则表,则表 达式的值为达式的值为b。实际上是求。实际上是求a、b的最大的最大值。值。基本语句条件语句条件语句开关语句开关语句循环语句循环语句if语句p单分支单分支if语句语句:格式格式:if(条件表达式)(条件表达式)语句语句;p双分支双分支if语句语句:格式格式:if(条件表达式)(条件表达式)语句语句1;else 语句语句2;p多分支多分支if语句语句:格式:格式:if(条件表达式(条件表达式1)语句)语句1;else if(条件表达式(条件表达式2)语句)语句2;else if(条件表达式(条件表达式n)语句)语句n;else 语句语句n+1;switch语句switc

27、h(表达式表达式)case常量表达式常量表达式1:语句组;:语句组;break;case常量表达式常量表达式2:语句组;:语句组;break;.case常量表达式:语句组;常量表达式:语句组;break;default:语句组;:语句组;break;switch语句p执行流程:执行流程:(1)当)当switch后面后面“表达式表达式”的值,与某个的值,与某个case后面的后面的“常量表达式常量表达式”的值的值 相同时,就执行该相同时,就执行该case后面的语句;当执行到后面的语句;当执行到break语句时,跳出语句时,跳出 switch语句,语句,转向执行转向执行switch语句的下一条。语句

28、的下一条。(2)如果没有任何一个)如果没有任何一个case后面的后面的“常量表达式常量表达式”的值,与的值,与“表达式表达式”的的 值值匹配,则执行匹配,则执行default后面的语句(组)。然后,再执行后面的语句(组)。然后,再执行switch语语 句的下一句的下一条。条。p说明:说明:每个每个case后面后面“常量表达式常量表达式”的值,必须各不相同,否则会出现相互的值,必须各不相同,否则会出现相互 矛盾的矛盾的现象。现象。case后面的常量表达式仅起语句标号作用,并不进行条件判断。系后面的常量表达式仅起语句标号作用,并不进行条件判断。系 统一旦找统一旦找到入口标号,就从此标号开始执行,不

29、再进行标号判断,到入口标号,就从此标号开始执行,不再进行标号判断,所以必须加上所以必须加上break语句,以便结束语句,以便结束switch语句。语句。循环语句pwhile循环语句循环语句格式:格式:while(表达式)(表达式)语句语句;pdo-while循环语句循环语句格式:格式:do 语句语句while(表达式表达式);pfor循环语句循环语句格式:格式:for(循环变量赋初值;循环条件;循环变量增循环变量赋初值;循环条件;循环变量增值值)语句语句;跳转语句pgoto格式:格式:goto 语句标号语句标号;preturn格式:格式:return(表达式表达式);pbreak格式:格式:b

30、reak;pcontinue格式:格式:continue。break和continue语句p说明:说明:break语句只能用于语句只能用于switch结构或循环结构,如果在程序中有下列结构或循环结构,如果在程序中有下列 语句:语句:if()break;则此时的则此时的if语句一定位于循环体中或语句一定位于循环体中或switch结构结构中,中,break语句跳出语句跳出 的也不是的也不是if语句,而是跳出包含此语句,而是跳出包含此if语句的循语句的循环结构或环结构或switch结构。结构。continue语句的作用是结束本次循环,即跳过循环体中位于语句的作用是结束本次循环,即跳过循环体中位于co

31、ntinue 后面的语句而立即开始下一轮循环判定:对于后面的语句而立即开始下一轮循环判定:对于while和和do-while来来 讲,这意味着立即执行条件测试部分,而对于讲,这意味着立即执行条件测试部分,而对于for语句来讲,语句来讲,则意则意 味着立即求解循环条件表达式。味着立即求解循环条件表达式。函数p从用户角度来看,有两种函数:标准库函数和用户自定从用户角度来看,有两种函数:标准库函数和用户自定义函数。标义函数。标 准库函数是编译器提供的,不需要用户定准库函数是编译器提供的,不需要用户定义。可以直接调用。而用义。可以直接调用。而用 户自定义函数用户根据自己户自定义函数用户根据自己需要编写

32、的能实现特定功能的函数,需需要编写的能实现特定功能的函数,需 要先进行定义要先进行定义才能调用。才能调用。函数定义的一般形式为:函数定义的一般形式为:函数类型函数类型函数名(形式参函数名(形式参数表)数表)局部变量定义局部变量定义 函数体语句函数体语句 返回值返回值p函数调用的一般形式为:函数名(实际参数表)函数调用的一般形式为:函数名(实际参数表)函数 p说明:说明:函数的参数传递分为值传递和地址传递。当传递参数大于函数的参数传递分为值传递和地址传递。当传递参数大于3个时,个时,建议用建议用地址传递;地址传递;如果函数没有返回值或者形式参数,建议用如果函数没有返回值或者形式参数,建议用voi

33、d避免错误。如定义避免错误。如定义 函数函数void test(void)。)。p举例举例定义:定义:int sum(int a,int b)int temp;temp=a+b;return(temp);调用:调用:sun(3,7)main函数pmain函数是一个比较特殊的函数。每个单片机函数是一个比较特殊的函数。每个单片机C程序都必须有一个程序都必须有一个 名为名为main的函数,程序从这里开始执行。的函数,程序从这里开始执行。pmain函数另一个独特的属性是,它有两种正式的原型且经常会使函数另一个独特的属性是,它有两种正式的原型且经常会使 用一些其它形式。两种标准型如下:用一些其它形式。两

34、种标准型如下:int main(void);int main(int arge,char*argv);整型返回值的作用是向系统返回整型返回值的作用是向系统返回一个状态码,一般应用在复杂程一个状态码,一般应用在复杂程 序之中,单一程序中一般采用如序之中,单一程序中一般采用如下结构:下结构:void main(void)局部变量定义局部变量定义;函数体语句;函数体语句;存储类型变量p变量和函数都有其有效区域,称为作用域。程序如果使用范围之外变量和函数都有其有效区域,称为作用域。程序如果使用范围之外 的变量和函数,则编译器会报错。的变量和函数,则编译器会报错。p变量变量局部变量:在函数体内部定义的变

35、量,它只在函数内有效,退出函局部变量:在函数体内部定义的变量,它只在函数内有效,退出函 数时所分配的内存被释放;数时所分配的内存被释放;全局变量:在函数之外定义的变量,在程序开始执行的时候就被分全局变量:在函数之外定义的变量,在程序开始执行的时候就被分 配了内存,一直保持到程序结束,可以被任何模块调用。配了内存,一直保持到程序结束,可以被任何模块调用。外部变量:在其它文件中定义但在本文件中使用的变量,用外部变量:在其它文件中定义但在本文件中使用的变量,用extern标识。标识。静态变量:寿命相当于全局变量,但只允许在定义的函数内使用的静态变量:寿命相当于全局变量,但只允许在定义的函数内使用的

36、变量。静态变量在退出定义的函数时,其值仍然保留。变量。静态变量在退出定义的函数时,其值仍然保留。变量的声明形式:作用域类型变量的声明形式:作用域类型 数据类型数据类型变量名;变量名;存储类型变量存储类型函数p函数的存储类型有函数的存储类型有static和和extern两种,函数第一字母大写。两种,函数第一字母大写。声明形式声明形式 为:为:作用域类型作用域类型 返回数据类型返回数据类型 函数名(参数表)函数名(参数表);p说明:说明:声明为声明为static的函数称为内部函数或者静态函数。静态函的函数称为内部函数或者静态函数。静态函数只能在定义此函数的文件中被调用,而不能被其他文件数只能在定义

37、此函数的文件中被调用,而不能被其他文件中的函数调用。中的函数调用。extern称为外部函数。除非被声明为静态函数,函数都称为外部函数。除非被声明为静态函数,函数都可以在其他可以在其他 文件中被调用,编译默认为外部函数,因此文件中被调用,编译默认为外部函数,因此extern通常可忽略。通常可忽略。预处理功能p宏定义宏定义p条件编译条件编译p文件包含文件包含宏定义p不带参数的宏定义形式为:不带参数的宏定义形式为:define宏名宏名宏体宏体p带参数的宏定义形式为:带参数的宏定义形式为:define宏名(参数表)宏名(参数表)宏体宏体p取消宏定义,形式为:取消宏定义,形式为:undef 宏名宏名p说

38、明:说明:宏名一般习惯用大写字母表示,以便与变量名相区别。宏名一般习惯用大写字母表示,以便与变量名相区别。宏定义是用宏名简单替换宏体,也就是作简单的置换,不作语法宏定义是用宏名简单替换宏体,也就是作简单的置换,不作语法 检查,检查,出现错误也不会报告,只有在宏展开后编译时才会报告错出现错误也不会报告,只有在宏展开后编译时才会报告错 误。误。使用宏名,使用宏名,可以减少程序中重复书写某些宏体的工作量。可以减少程序中重复书写某些宏体的工作量。条件编译格式一:格式一:#ifdef 标识符标识符 程序段程序段1#else程序段程序段2#endif格式二:格式二:#ifnde 标识符标识符#define

39、 标识符标识符格式三:格式三:#ifdef 常量表达式常量表达式1程序段程序段1#elif 常量表达式常量表达式2程序段程序段2#else程序段程序段n#endif文件包含p文件包含是指一个文件包含是指一个C语言源程序中将另一个语言源程序中将另一个C语言源程序包含进语言源程序包含进 来,来,通过通过include预处理指令实现。预处理指令实现。一般形式:一般形式:include被包含文件名被包含文件名或或 include p说明:说明:被包含的文件一般指定为头文件(被包含的文件一般指定为头文件(*.h),),也可为也可为C程序等文件。程序等文件。当文件名用双引号括起来时,系统先在当前目录中寻找包含的文当文件名用双引号括起来时,系统先在当前目录中寻找包含的文 件,若找不到,再在系统指定的标准方式检索其它目录。件,若找不到,再在系统指定的标准方式检索其它目录。而用尖而用尖 括号时,系统直接按指定的标准方式检索。括号时,系统直接按指定的标准方式检索。一般系统提供的头文件,用尖括号。自定义的文件,一般系统提供的头文件,用尖括号。自定义的文件,用双引号。用双引号。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁