一、选择题
12.1 以下程序的输出结果是
A) 15
B) 100
C) 10
D) 150
#define MIN(x,y) (x)<(y)?(x):(y)
main()
{ int i,j,k;
i=10; j=15; k=10*MIN(i,j);
printf("%d\\n",k);
}
答案:A
13.2 以下程序中的for循环执行的次数是
A) 5
B) 6
C) 8
D) 9
#define N 2
#define M N+1
#define NUM (M+1)*M/2
main()
{ int i;
for(i=1; i<=NUM; i++);
}
答案:C
13.3 以下程序的输出结果是
A) 11
B) 12
C) 13
D) 15
#include "stdio.h"
#define FUDGF(y) 2.84+y
#define PR(a) printf("%d",(int)(a))
#define PRINT1(a) PR(a); putchar(\’\\n\’)
main()
{ int x=2;
PRINT1(FUDGF(5)*x);
}
答案:B
13.4 以下程序的输出结果是
A) 1
B) 7
C) 9
D)11
fut(int **s,int p[2][3])
{ **s=p[1][1]; }
main()
{ int a[2][3]={1,3,5,7,9,11},*p;
p=(int *) malloc(sizeof(int));
fut(&p,a);
printf("%d\\n",*p);
}
答案:C
13.5 若要使指针变量p指向一个double类型的动态存储单元,在下划线处应填入
A) double
B) double *
C) (* double)
D) (double *)
double *p;
p=_____malloc(sizeof(double));
答案:D