入门c++(一、编译预处理)
来源:互联网 发布:windows无法取得路径 编辑:程序博客网 时间:2024/06/06 07:42
#include <iostream>
using namespace std;
void main()
{
cout << "hello world !" << endl;
}
编译预处理
包括#include #define 条件编译语句 等
1.#include <文件名> 或#include "文件名" 包含头文件还可以是源文件
一个#include命令只包含一个文件,要包含多个文件要用多个#include
<>和""的区别:<>是从标准库里找,""是先从当前目录下找再去标准库里找
2.#define宏定义:
(1.不带参数的宏定义
格式:#define 标识符 常量(注意:如果宏是表达式一定要加括号)
(2.带参数的宏定义
格式:#define 宏名(参数表) 字符串
如#define MAX(x,y) ((x)>(y)?(x):(y)) //加括号
int a=10,b=20,c;
调用:c=MAX(a,b);//在编译时编译器自动替换为c=((a)>(b)?(a):(b));
注意:
(1.仅仅宏替换,在编译时由编译器将所有标号符用字符串替换,不做任何检查和类型判断
(2.宏定义语句后面不加分号
(3.宏定义必须在函数之外,其作用域是从定义之处开始整个程序有效
(4.宏定义的取消:#undef 标识符
(5.程序中出现宏定义标识符被引号括起来的情况,不进行替换
(6.宏定义可以嵌套
3.条件编译
(1.#ifdef 宏 (2.#ifndef 宏 (3.#if 常量表达式(为真则编译1)
程序段1 程序段1 程序段1
#else #else #else
程序段2 程序段2 程序段2
#endif #endif #endif
程序第二行using namespace std;是使用std命名域,防止冲突
若不写,主函数中语句就要改成 std::cout << "hello world !" << endl;
开头程序运行结果是在屏幕上打印出 hello world!
using namespace std;
void main()
{
cout << "hello world !" << endl;
}
编译预处理
包括#include #define 条件编译语句 等
1.#include <文件名> 或#include "文件名" 包含头文件还可以是源文件
一个#include命令只包含一个文件,要包含多个文件要用多个#include
<>和""的区别:<>是从标准库里找,""是先从当前目录下找再去标准库里找
2.#define宏定义:
(1.不带参数的宏定义
格式:#define 标识符 常量(注意:如果宏是表达式一定要加括号)
(2.带参数的宏定义
格式:#define 宏名(参数表) 字符串
如#define MAX(x,y) ((x)>(y)?(x):(y)) //加括号
int a=10,b=20,c;
调用:c=MAX(a,b);//在编译时编译器自动替换为c=((a)>(b)?(a):(b));
注意:
(1.仅仅宏替换,在编译时由编译器将所有标号符用字符串替换,不做任何检查和类型判断
(2.宏定义语句后面不加分号
(3.宏定义必须在函数之外,其作用域是从定义之处开始整个程序有效
(4.宏定义的取消:#undef 标识符
(5.程序中出现宏定义标识符被引号括起来的情况,不进行替换
(6.宏定义可以嵌套
3.条件编译
(1.#ifdef 宏 (2.#ifndef 宏 (3.#if 常量表达式(为真则编译1)
程序段1 程序段1 程序段1
#else #else #else
程序段2 程序段2 程序段2
#endif #endif #endif
程序第二行using namespace std;是使用std命名域,防止冲突
若不写,主函数中语句就要改成 std::cout << "hello world !" << endl;
开头程序运行结果是在屏幕上打印出 hello world!
阅读全文
0 0
- 入门c++(一、编译预处理)
- [C++]函数与编译预处理(一)
- c++/c编译预处理
- C语言的编译预处理(38)
- C / C++ 编译预处理
- C语言编译预处理
- c编译预处理
- c/c++编译预处理
- C预处理及编译
- C编译预处理宏
- 【C语言】编译预处理
- C语言编译预处理
- C/C++编译预处理
- c/c++编译预处理
- C语言编译预处理
- C语言编译预处理
- C语言的编译期行为(一) defined预处理函数
- C语言编译预处理技术一本道来
- opencv知识点总结
- 吴恩达Coursera深度学习课程 DeepLearning.ai 提炼笔记(1-2)-- 神经网络基础(转载)
- Visualizing and understandingConvolutional Networks笔记4
- c++premier(第五版)读书笔记-第二章
- QtDownloadTool——简单的HTTP资源下载工具
- 入门c++(一、编译预处理)
- 文件的复制
- mips架构linux启动分析(三)(setup_arch--->cpu_probe)
- 循环素数
- pandas分块读取较大csv的方法
- HDU 1171 Big Event in HDU
- ubuntu 常见错误--Could not get lock /var/lib/dpkg/lock
- 摩尔定律还有效吗?
- 判断学生成绩是否有效