这是有声音的视频,请检查播放器或者声音输出设备。
这次学习的内容:预处理命令(包含文件, 宏定义, 条件编译) 介绍和使用
//======================================================
编译生产可执行文件之前进行预先处理
在源程序中 以#开头的,不需要要分号结束,可以写在程序任何地方
有三种预处理命令: 包含文件, 宏定义(宏替换), 条件编译(程序调试用到)
--------------------------
#include <stdio.h>
main()
{
printf( "Hello World \n" );
}
<> 和 "" 区别
编译预处理, 把 stdio.h 文件内容 拷贝到 包含文件 语句位置
//======================================================
定义宏:#define 宏名 串
终止宏:#undef 宏名
#include <stdio.h>
#define PI 3.14159
main()
{
float r = 3.0;
printf( "%f \n", PI*r*r );
printf( "%f \n", 2*PI*r );
}
------------------------
带参数的宏定义
#include <stdio.h>
#define S(a, b) a*b
main()
{
int area = S(2, 3);
printf( "%d \n", area );
}
-----------------
int S( int a, int b )
{
return a*b;
}
//===============================================
根据条件是否编译语句块
#include <stdio.h>
main()
{
#if 2>1
printf( "编译\n" );
#else
a=100;
printf( "不编译\n" );
#endif
}
没有定义变量 a ,编译也不会出错 。说明 a=100; 这条语句没有被编译。
------------------------------------
相比我们以前学过的 if else
#include <stdio.h>
main()
{
if (2>1)
printf( "编译\n" );
else
{
a=100;
printf( "不编译\n" );
}
}
就会出现错误
[17rumen@localhost ~]$ gcc c_09.c
c_09.c: In function ‘main’:
c_09.c:9: error: ‘a’ undeclared (first use in this function)
视频就到这里结束了。88