您现在的位置:学赛首页 > 计算机等级考试 > 复习资料 > 正文
C语言重点难点分析第12章 编译预处理与动态存储分配
http://www.educity.cn 作者:希赛IT教育研发中心 来源:希赛网 2007年3月22日 发表评论 进入社区
更多知识点请查看:http://ncre.educity.cn/ncrefx/200703151118271174.htm

第12章 编译预处理与动态存储分配

    本章节内容来自全国计算机等级考试用书《计算机等级考试二级C语言考点分析、题解与模拟》。本章主要考查编译预处理与动态存储分配。通过对历年试卷内容的分析,本章考核内容约占3%,属于非重点考查内容。由《计算机等级考试二级C语言考点分析、题解与模拟》命题走势图12-1可知,本章部分所涉及考题分值基本上是稳定的。

    12.1  编译预处理
    12.1.1  考点1:预处理概述
    在C语言程序中,会出现以“#”号开头的预处理命令。如包含命令#include,宏定义命令#define等。在源程序中这些命令都放在函数之外, 而且一般都放在源文件的前面,它们称为预处理部分。本章节内容来自希赛全国计算机等级考试用书《计算机等级考试二级C语言考点分析、题解与模拟》。(购书请见 :http://shop.csai.cn/itbook/itbookinfo.asp?lbbh=10032480

    所谓预处理是指在进行编译的第一遍扫描(词法扫描和语法分析)之前所做的工作。预处理是C语言的一个重要功能,它由预处理程序负责完成。当对一个源文件进行编译时,系统将自动引用预处理程序对源程序中的预处理部分做处理,处理完毕自动编译源程序。

    C语言提供了多种预处理功能,如宏定义、文件包含、条件编译等。合理地使用预处理功能编写的程序便于阅读、修改、移植和调试,也有利于模块化程序设计。后面将介绍常用的几种预处理功能。

    例12.1.1  以下叙述中正确的是(   )。[2005年4月 选择第37题]
    A.预处理命令行必须位于源文件的开头
    B.在源文件的一行上可以有多条预处理命令
    C.宏名必须用大写字母表示
    D.宏替换不占用程序的运行时间
    答案:D

       例12.1.2  以下叙述中正确的是(   )。[2006年4月 选择第49题]
    A.预处理命令行必须位于源程序的起始位置
    B.在C语言中,预处理命令行都以“#”开头
    C.每个C语言必须在开头包含预处理命令行:#include<stdio.h>
    D.C语言的预处理不能实现宏定义和条件编译的功能
    答案:B