博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
预处理语句
阅读量:5159 次
发布时间:2019-06-13

本文共 1293 字,大约阅读时间需要 4 分钟。

【1】预处理语句是什么语句?

预处理语句最明显的标志是一些行首以#开始的特殊语句。

例如:#include,#define 等就是预处理语句。在程序的其它编译处理(词法分析、语法分析、代码生成、优化和连接等)之前,先进行这些语句的分析处理。

【2】预处理语句使用的目的?

目的在于帮助程序员编写出易读、易改、易移植并便于调试的程序。

【3】预处理语句主要有那些?

(1)宏定义和宏替换

(2)文件包含
(3)条件编译
(4)行控制

【4】预处理语句的作用范围?

  从被定义语句开始直至被解除定义或是到包含它的文件结束为止均有效。

【5】各种预处理语句有何区别

(1)宏定义

 参照文章宏定义

(2)文件包含
 文件包含是指一个程序文件将另一个指定文件的内容包含进来,用#include语句来声明。
 #include <文件名>  第一种,用尖括号表示在标准库目录下找该文件;
 #include "文件名"  第二种,用双引号表示先在当前用户目录(源文件所在目录)中找包含文件,若找不到,再到标准库目录中去找。
 备注:系统的标准库文件都是.h文件。

 常见的例如:

 #include <stdio.h> /* 标准输入输出的基本常量和宏或函数文件 */
 #include <string.h> /* 串函数文件 */
 #include <malloc.h> /* 内存分配函数文件 */
 #include <ctype.h> /* 字符函数文件 */
 #include <math.h> /* 数学函数库文件 */
 用文件包含,可以减少重复工作,提高程序正确性,还便于维护修改。
 程序员可以把自己常用的一些符号常量、类型定义和带参数的宏定义,
 以及一些常用自编函数都放在.h文件中,通过#include语句包含引用之。

(3)条件编译
 提供条件编译措施使同一源程序可以根据不同编译条件(参数)产生不同的目录代码,其作用在于便于调试和移植。
 条件编译控制语句有不同形式,下面分别讨论。

 #ifdef语句及其使用 

 一般格式:

 #ifdef 标识符

 语句块1
 #else
 语句块2
 #endif

(4)格式化输入/输出
  格式化的控制台I/O函数有两种,它们都与标准I/O库有关。源程序开头应包含标准输入输出头文件:
  #include<stdio.h>
  <1>printf()
  printf()函数功能为按指定格式输出显示各种基本类型数据,其一般格式:
  printf(“控制串”,参数列表) 
  控制串分两部分,即:要显示的字符和格式串。格式串以“%”开头,后跟格式码。格式串与参数一一对应。
  <2>scanf()
  scanf()的功能是读入各种类型数据,并自动将其转换为恰当的格式,其一般格式为: scanf(“控制串”,参数列表)
  控制串与前述printf()中的控制串类似,也包含有以“%”开头加格式码组成的格式串。
  参数列表所列出的应当是变量的地址,而不是变量名。

转载于:https://www.cnblogs.com/Braveliu/archive/2012/12/28/2837836.html

你可能感兴趣的文章
A星寻路demo
查看>>
HDU 1260
查看>>
I-team 博客的 gitlab-runner 持续集成实践
查看>>
数据的双向绑定 Angular JS之开端篇
查看>>
JavaScript定时器的开启关闭
查看>>
L1-044 稳赢
查看>>
codeforces 1076E Vasya and a Tree 【dfs+树状数组】
查看>>
class 10 文件和异常
查看>>
HADOOP+ZOOKEEPER集群安装
查看>>
ubuntu 清理垃圾
查看>>
android 表格布局(类似于html)
查看>>
DDD:Command模式的好处
查看>>
使用base64 对图像进行 转换的小程序。附上对视频进行截图的功能程序。
查看>>
io的常用操作
查看>>
算法入门经典-第七章 例题7-1 除法
查看>>
PCB板查短路点的一种技巧(转帖)
查看>>
Asp.Net 用户验证(自定义IPrincipal和IIdentity)
查看>>
常用的正则表达式
查看>>
华为EC169在MAC 10.9.6下的安装方法
查看>>
easy_install和Pip
查看>>