}
该程序的输出结果是 A)2 B)4 C)6 D)8 正确答案: B 8.28 现有如下程序 #include \int fun(int x)
{ printf(\\n\); } main() { fun(12+5); }
则程序的输出结果是 A)12 B)13 C)17 D)18 正确答案: D
8.30 下列程序的输出结果是
#include \#define N 3 #define M 3
void fun(int a[M][N]) { printf(\\n\(a[1]+2)); } main()
{ int a[M][N]; int i,j;
for(i=0;ifor(j=0;ja[i][j]=i+j- (i-j); fun(a); } A)3 B)4 C)5 D)6 正确答案: B
8.35 阅读程序,则执行后的结果为 #include \main() { int i,m,n;
for(i=0;i<3;i++) { m=test1(); n=test2(); }
printf(\\n\); }
test1() { int x=0; x++; return x; }
test2() { static int x=0; x++; return x; } A)1,1 B)1,3 C)3,1 D)3,3 正确答案: B 9.1 有以下程序
#define F(X,Y)(X)*(Y) main() { int a=3, b=4;
printf(\\n\(a++, b++)); }
程序运行后的输出结果是 A)12 B)15 C)16 D)20 正确答案: A
9.2 以下叙述中不正确的是 A)预处理命令行都必须以#号开始 B)在程序中凡是以#号开始的语句行都是 预处理命令行
C)宏替换不占用运行时间,只占编译时间 D)在以下定义是正确的: #define PI 3.1415926;
9.4 以下程序的运行结果是
#define MIN(x,y)(x)<(y)?(x): (y) main()
{ int i=10,j=15,k; k=10*MIN(i,j); printf(\\n\); } A)10 B)15 C)100 D)150 正确答案: B
9.6 以下程序段的执行结果为 #define PLUS(X,Y)X+Y main()
{ int x=1,y=2,z=3,sum;
sum=PLUS(x+y,z)*PLUS(y,z); printf(\); }
A)SUM=9 B)SUM=12 C)SUM=18 D) SUM=28 正确答案: B
9.7 下列程序的输出结果是 #include \#define M(x,y)x%y