计算机二级C语言编译预处理和动态存储分配考点归纳

发布于 2018-08-01 09:03  编辑:jokex
0
计算机等级考试题库 扫码微信刷题

小编所收集到的相关计算机二级C语言编译预处理和动态存储分配考点归纳的资料 大家要认真阅读哦!



一、宏定义(不带参数的宏定义,带参数的宏定义)

1.编译预处理就是对C源程序进行编译前,由″编译预处理程序″对预处理命令行进行处理的过程。


2.C语言中,凡是以″#″开头的行,都称为″编译预处理″命令行。C语言中的编译预处命令有:#define,#undef,#include,#if,#else,#elif,#endif,#ifdef,#ifndef,#line,#pragma,#error。这些预处理命令组成的预处理命令行必须在一行的开头以″#″号开始,每行的未尾不得加″;″号,以区别于C语句、定义和说明语句。


3.不带参数的宏定义:命令的一般形式为:

#define 标识符 字符串

定义中的″标识符″为用户定义的标识符,称为宏名。在预编译时,C预编译程序将出现的宏名替换成″字符串″的内容,这一过程也称为宏展开。


4.带参数的宏定义:命令的一般形式为

#define宏名(形式参数) 字符串

定义中的″字符串″应包含括号中所指定的形式参数。注意宏名与括号之间不要加空格,否则就成为不带参数的宏定义了。


5.预编译时,遇到带实参的宏名,则按命令行中指定的字符串从左到右进行置换,原则是:遇到实参则以实参代替,非形参字符原样保留,从而成展开后的内容。



二、“文件包含”处理

1.文件包含的一般形式为:

#include″头文件名″

#include<头文件名>

头文件名一般由C语言提供,也可以是用户自己编写的,头文件通常用.h作为后缀。


2.当头文件名用双引号括起来时,系统首先在使用此命令的文件所在的目录中查找被包含的文件,找不到时,再按系统指定的标准方式检索其它目录;当头文件名用尖括号括起来时,则直接按系统指定的标准检索方式查找被包含的文件。


3.预编译时,将被包含文件的内容全部复制到包含文件中,这就是文件″包含处理″。



三、条件编译

C语言中的条件编译命令可对源程序代码的各部分有选择地进行编译。条件编译主要有如下3种使用格式:

使用格式1:

#ifdef标识符

程序段1

#else

程序段2

#endif

使用格式2:

#ifndef标识符

程序段1

#else

程序段2

#endif

使用格式3:

#if表达式

程序段1

#else

程序段2

#endif

使用格式1表示如果已定义了“标识符”,则编译“程序段1”,否则编译“程序段2”;使用格式2表示如没有定义了“标识符”,则编译“程序段1”,否则编译“程序段2”;使用格式3表示如“表达式”的值为“真”时,则编译“程序段1”,否则编译“程序段2”。




继续了解计算机二级?点击下方链接,进入考无忧官方网站,更多精彩等你来!


文章推荐:

2018年全国计算机等级考试都有哪些科目?

2018年全国计算机考试报名为什么照片上传不成功?

2018年全国计算机等级考试一二三四级最新考试大纲汇总


温馨提示:

想要了解更多试题请点击查看>>>计算机考试题库

考试想拿高分吗?更多ms office相关资讯请点击查看>>>二级ms office

想知道更多关于计算机等级考试的最新资讯吗?点击进入>>>计算机等级考试


本文网址:http://www.k51.com.cn/info/jsjdjks/1808/0142367.html
选择分享到: