欢迎来到天天文库
浏览记录
ID:43810915
大小:100.50 KB
页数:18页
时间:2019-10-15
《计算机二级第18讲》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、教学内容:1宏定义2文件包含编译预处理编译预处理是指,在对源程序进行编译之前,系统将自动引用预处理程序对源程序中的预处理部分作处理;然后再将处理的结果,和源程序一起进行编译,以得到目标代码。第13章预处理宏定义是由源程序中的宏定义命令完成的。宏代换是由预处理程序自动完成的。在C语言中,“宏”分为有参数和无参数两种。使用宏定义的优点(1)可提高源程序的可维护性,可移植性(2)减少源程序中重复书写字符串的工作量1.不带参数的宏定义(1)无参宏定义的一般格式#define标识符语言符号字符串#definePI3.14159261宏处理宏定义可以嵌套,但嵌套的宏定义名
2、要是已经定义的宏名。在宏展开时由预处理程序层层替换。例如:#defineR14.256#definePI3.1415926#defineSPI*R*R/*PI、R是已定义的宏名*/则语句printf("%f",s);在宏代换后变为printf("%f",3.1415926*14.256*14.256);可用宏定义表示数据类型,使书写方便。例如:#defineSTUint在程序中可用STU替换数据类型int。例#defineN2#defineMN+1#defineNUM2M+1main(){inti;for(i=1;i<=NUM;i++)printf(“%d
3、n”,i);}宏展开后的等价程序如下:main(){inti;/**/for(i=1;i<=6;i++)printf(“%d”,i);}NUM宏展开:2*N+1+1再宏展开:2*2+1+13.带参宏定义(1)带参宏定义格式:#define宏名(形参表)宏体(2)带参宏调用格式:宏名(实参表)(3)宏展开:用宏调用提供的实参字符串,直接置换宏定义命令行中相应形参字符串,非形参字符保持不变带参宏定义说明(1)定义有参宏时,宏名与左圆括号之间不能留有空格。否则,C编译系统将空格以后的所有字符均作为替代字符串,而将该宏视为无参宏。(2)有参宏的展开,只是将实参作为
4、字符串,简单地置换形参字符串,而不做任何语法检查。例带参数的宏#include#defineF(a)a*a/*宏名F,形参a*/main(){intx=3,y=4,b,z;b=x+y;z=F(x+y);/*展开为z=x+y*x+y;*/printf("b=%dz=%d",b,z);}2文件包含1.文件包含的概念文件包含是指,一个源文件可以将另一个源文件的全部内容包含进来。2.文件包含处理命令的格式#include“包含文件名”或#include<包含文件名>两种格式的区别仅在于:(1)使用双引号:系统首先到当前目录下查找被包含文件,如
5、果没找到,再到系统指定的“包含文件目录”(由用户在配置环境时设置)去查找。(2)使用尖括号:直接到系统指定的“包含文件目录”去查找。一般地说,使用双引号比较保险。A>typefile2.c/*显示file2.c内容*/fun2(){printf(“file2include”);}A>typefile1.c#include“file2.c”/*包含file2.c文件*/fun1(){printf(“file1include”);fun2();}A>typeexpfile.c#include“file1.c”/*包含file1.c文件*/main(){pr
6、intf(“expfileinclude”);fun1();printf(“end”);}动态存储分配函数:malloc,calloc,freemalloc(字节数)是分配一个括号内字节数的存储空间,返回的是一个空类型地址,给指针变量赋值此函数时要用强制类型转换calloc(n,字节数)分配n*字节数个存储空间,返回的是一个空类型地址,给指针变量赋值此函数时要用强制类型转换free(p)释放指针变量p所指向的存储空间,p需要是指向的动态存储空间教学内容:1typedef类型定义2结构类型与结构变量的定义结构体变量的初始化和引用3共用体第14章结构体与共
7、用体1typedef类型定义除可直接使用C提供的标准类型和自定义的类型(结构、共用、枚举)外,也可使用typedef定义已有类型的别名。该别名与标准类型名一样,可用来定义相应的变量。(1)简单的名字替换typedefcharCHARACTER;经过上面的定义后CHARACTER就与数据类型char等价,同样也可以用CHARACTER来定义字符型变量。例如:typedefcharCHARACTER;chara;CHARACTERb;变量a,b都是字符型。C语言提供结构体(structure)数据结构,将不同数据类型、但相互关联的一组数据,组合成一个有机整体使用。
8、结构类型定义定义形式:strcut结构
此文档下载收益归作者所有