1、编译预处理及答案解析(总分:8.00,做题时间:90 分钟)一、B选择题/B(总题数:4,分数:4.00)1.以下程序运行后,输出结果是_。 #define P4.5 #define S(x)P*x*x #includestdio.h main() int a=2,b=3; printf(“%.1f/n“,S(a+b); (分数:1.00)A.49.5B.112.5C.18.0D.24.02.以下说法正确的是_。(分数:1.00)A.#define和 scanf都是 C语句B.#define是 C语句,而 scanf不是C.#define和 scanf都不是 C语句D.#define不是 C语
2、句,scanf 是3.以下程序的运行结果是_。 #define MIN(x,y)(x)(y)?(x):(y) main() int i=10,j=15,k; k=10*MIN(i,j); printf(“%d/n“,k); (分数:1.00)A.10B.15C.100D.1504.运行下面程序,若输入 a回车 sd回车 in inc1 x=1 in inc1 x=1 in inc2 x=1 in inc2 x=2 in inc2 x=3 fg回车则输出结果为_。 #define N 6 #include stdio.h main() char cN; int i=0; for(;iN;ci=g
3、etchar(),i+); for(i=0;iN;i+)putch8r(ci); printf(“/n“); (分数:1.00)A.a s d f gB.a s d fC.a sd fD.asdfg二、B填空题/B(总题数:2,分数:4.00)5.下面程序的运行结果是_。 #define DOUBLE(r)r*r main() int x=4,y=2,t; t=DOUBLE(x+y);printf(“%d“,t); (分数:2.00)填空项 1:_6.下面程序的运行结果是_。 #define DOUBLE(x,y)x/y main() int x=4,y=2,t; t=DOUBLE(x+y,x
4、-y); printf(“%d“,t); (分数:2.00)填空项 1:_编译预处理答案解析(总分:8.00,做题时间:90 分钟)一、B选择题/B(总题数:4,分数:4.00)1.以下程序运行后,输出结果是_。 #define P4.5 #define S(x)P*x*x #includestdio.h main() int a=2,b=3; printf(“%.1f/n“,S(a+b); (分数:1.00)A.49.5B.112.5C.18.0 D.24.0解析:2.以下说法正确的是_。(分数:1.00)A.#define和 scanf都是 C语句B.#define是 C语句,而 scan
5、f不是C.#define和 scanf都不是 C语句 D.#define不是 C语句,scanf 是解析:3.以下程序的运行结果是_。 #define MIN(x,y)(x)(y)?(x):(y) main() int i=10,j=15,k; k=10*MIN(i,j); printf(“%d/n“,k); (分数:1.00)A.10 B.15C.100D.150解析:4.运行下面程序,若输入 a回车 sd回车 in inc1 x=1 in inc1 x=1 in inc2 x=1 in inc2 x=2 in inc2 x=3 fg回车则输出结果为_。 #define N 6 #inclu
6、de stdio.h main() char cN; int i=0; for(;iN;ci=getchar(),i+); for(i=0;iN;i+)putch8r(ci); printf(“/n“); (分数:1.00)A.a s d f gB.a s d fC.a sd f D.asdfg解析:二、B填空题/B(总题数:2,分数:4.00)5.下面程序的运行结果是_。 #define DOUBLE(r)r*r main() int x=4,y=2,t; t=DOUBLE(x+y);printf(“%d“,t); (分数:2.00)填空项 1:_ (正确答案:14)解析:6.下面程序的运行结果是_。 #define DOUBLE(x,y)x/y main() int x=4,y=2,t; t=DOUBLE(x+y,x-y); printf(“%d“,t); (分数:2.00)填空项 1:_ (正确答案:2)解析: