这是有声音的视频,请检查播放器或者声音输出设备。

这次学习的内容:预处理命令(包含文件, 宏定义, 条件编译) 介绍和使用

//======================================================

编译生产可执行文件之前进行预先处理

在源程序中 以#开头的,不需要要分号结束,可以写在程序任何地方

有三种预处理命令: 包含文件, 宏定义(宏替换), 条件编译(程序调试用到)

--------------------------

#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


“linux_C语言_09 预处理命令(包含文件,宏定义,条件编译) 介绍和演示”没有评论

有任何疑问或建议,可以给作者留言:



公告:

  • 2010年5月之前的视频是文字解说演示,没有声音。
  • 2010年5月以后的视频全部带声音。