#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!