07预处理与存储类别.pptVIP

  • 6
  • 0
  • 约6.34千字
  • 约 34页
  • 2017-02-12 发布于重庆
  • 举报
07预处理与存储类别

Lesson 7 预处理与存储类别 mtysoft@163.com 带参数的宏3-1 [2004.4.38]以下程序的运行结果是 #define F(x) x*x main() { int i1, i2; i1 = F(8)/F(4); i2 = F(4+4)/F(2+2); printf(%d,%d\n, i1, i2); } 带参数的宏3-2 [例]以下程序的运行结果是 #define F(x) (x)*(x) main() { int i1, i2; i1 = F(8)/F(4); i2 = F(4+4)/F(2+2); printf(%d,%d\n, i1, i2); } 带参数的宏3-3 [2005.9.33]以下程序的运行结果是 #define F(x) (x*x) main() { int i1, i2; i1 = F(8)/F(4); i2 = F(4+4)/F(2+2); printf(%d,%d\n, i1, i2); } 函数和带参数的宏 编译预处理 编译预处理7-1 [2007.9.15]以下程序的运行结果是 #include stdio.h #define M 5 #define N M+M main() { int k; k = N*N*5; printf(%d\n, k); } 编译预处理7-2 [2005.4.7]以下程序的运行结果是 #define S(x) 4*x*x+1 int i = 6, j = 8; printf(%d, S(i+j)); 编译预处理7-3 [2010.3.35]以下程序的运行结果是 #include stdio.h #define SUB(a) (a)-(a) main() { int a = 2, b = 3, c = 5, d; d = SUB(a+b) * c; printf(%d\n, d); } A)0 B)-12 C)-20 D)10 编译预处理7-4 [2006.9.43]以下程序的运行结果是 #include stdio.h #define N 5 #define M N+1 #define F(x) (x*M) main() { int i1, i2; i1 = F(2); i2 = F(1+1); printf(%d,%d\n, i1, i2); } 编译预处理7-5 [2009.9.35]以下程序的运行结果是 #define F(x) x*x*x main() { int a = 3, s, t; s = F(a+1); t = F((a+1)); printf(%d,%d, s, t); } A)10,64 B)10,10 C)64,10 D)64,64 编译预处理7-6 [2007.4.43]名为init.txt的文件,内容如下: #define HDY(A,B) A/B #define PRINT(Y) printf(y=%d\n, Y) 以下程序的运行结果是 #include init.txt main() { int a = 1, b = 2, c = 3, d = 4, k; k = HDY(a+c, b+d); PRINT(k); } 编译预处理7-7 [2009.3.36]以下程序的运行结果是 #include stdio.h #define PT 3.5; #define S(x) PT*x*x; main() { int a = 1, b = 2; printf(%4.1f\n, S(a+b)); } A)14.0 B)31.5 C)7.5 D)程序有错,无输出结果 编译预处理9-1 [例]以下叙述中正确的是 A)无参宏是用一个简单的名字代替一个数值 B)在源文件的一行上可以有多条预处理命令 C)#include命令只能包含库文件 D)宏替换不占用程序的运行时间 编译预处理9-2 [2008.4.28]以下叙述中错误的是 A)凡是以#开始的语句行

文档评论(0)

1亿VIP精品文档

相关文档