码迷,mamicode.com
首页 > 编程语言 > 详细

黑马程序员------C 语言学习笔记---C语言中的宏定义

时间:2015-05-10 16:57:18      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:

1.5    C语言程序的运行过程

01 源程序:由高级语言或汇编语言编写,C语言源程序的扩展名为.C

02 目标程序:源程序经“编译程序”翻译所得的二进制代码为目标程序,其扩展名为.obj

03 可执行程序:目标程序与库函数连接,形成可执行程序,.out

#include <stdio.h>
int main()
{
#define PI 3.14
    double r,len,area;
   
    printf("请输入半径:\n");  // 提示用户输入半径
    
    scanf("%lf",&r);  // 接受数据
    
    len = 2*PI*r;
    
    area = PI*r*r;
    
    printf("len=%lf,area=%lf\n",len,area);
    
    return 0;
}

 

            1.6 C语言中的宏定义

 01 不带参数的宏定义

#define 标示符 字符串

l #代表这是一条预处理命令

l 标示符为所定义的宏名,一般用大写字母表示

l 字符串可以是常数,表达式,格式串等

l 宏定义不是语句,再行末不加分号,如果加上分号则连分号一起替换

l 宏定义的作用域从宏定义命令开始到源程序结束,若要终止其作用域可以用#undef

l 宏定义用宏名表示一个字符串,在宏展开时又以该字符串取代宏名,只是简单的替换

l 宏名在源程序中若用双引号括起来,则不对其进行宏展开

l 宏定义不进行内存分配,只进行字符替换

l 宏定义可以嵌套

#include <stdio.h>
#define PI 3.14
#define R 3.0
#define L 2*PI*R
#define AR PI*R*R
int main()
{
    double len;
    
    double area;
    
    len = L;
    
    
    
    area = AR;
    
    
    printf("len=%lf,area=%lf\n",len,area);
    
    
    
    
    return 0;
}

 

02 带参数的宏定义

#define 宏名(形参表)字符串

l 宏名和形参表之间不能出现空格

l 通常将形参用小括号括起来,还将字符串也用小括号括起来

// 输入半径,计算圆的周长和面积
#include <stdio.h>

#define PI 3.14
#define L(r) 2*PI*r
#define S(r) PI*r*r

int main()
{
    double x,len,area;
    printf("输入半径:\n");
    scanf("%lf",&x);
    
    len = L(x);
    area = S(x);
    
    printf("len=%lf,area=%lf\n",len,area);
    
    
    
    
    
    return 0;
}

 

黑马程序员------C 语言学习笔记---C语言中的宏定义

标签:

原文地址:http://www.cnblogs.com/iceshan/p/4492462.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!