入门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!
原创粉丝点击