C语言课件 第7章 编译预处理.pptVIP

  • 1
  • 0
  • 约5.53千字
  • 约 16页
  • 2018-01-05 发布于河南
  • 举报
C语言课件 第7章 编译预处理

例9.1 #define PI 3.1415926 main() { float l, s, r, v; printf( “input radius:” ); scanf( “%f”, r ); l = 2.0*PI*r; s = PI*r*r; v = 3.0/4*PI*r*r*r; printf(“%10.4f,%10.4f,%10.4\n”, l, s, v); } 例如 由键盘输入y值,求表达式: 3(y2+3y)+ 4(y2+3y)+ y(y2+3y) 说明: ⑴宏名一般用大写表示,以便与变量名区分。 ⑵使用宏名使程序易读,易修改。 ⑶只作简单的置换,不作正确性检查。 ⑷宏定义不是C语句,不必在行末加分号。 ⑸宏名的作用域一般从自定义命令到本源文件结束。 ⑹可以用# undef命令终止宏定义的作用域。 ⑺宏定义允许嵌套,允许层层置换。 ⑻宏名在源程序中用双引号括起来,则TC中预处理不对其作宏代换。 例: ⑼宏定义与定义的变量不同,宏只作字符替换,不分配内存空间。 ⑽对“输出格式”进行宏定义,可以减少书写麻烦。 详细见下例。 例如: #define P printf #define D “%d,%d,%d\n” #define F

文档评论(0)

1亿VIP精品文档

相关文档