*p=(double *)malloc( 10*sizeof( double)); …… }
p是该函数的形参,要求通过p把动态分配存储单元的地址传回主调函数,则形参p的正确定义应当是 A) double *p B) float **p C) double **p D) float *p
(19) 有如下程序
#define N 2 #define M N+1 #define NUM 2*M+1 #main() { int i;
for(i=1;i<=NUM;i++)printf(“%d\\n”,i); }
该程序中的for循环执行的次数是 A) 5 B) 6 C) 7 D) 8
(20) 下列程序执行后的输出结果是 A) 6 B) 8 C) 10 D) 12
#define MA(x) x*(x-1) main()
{ int a=1,b=2; printf(\
(21) 若有说明:long *p,a;则不能通过scanf语句正确给输入项读入数据的程序段是 A) *p=&a; scanf(\,p); B) p=(long *)malloc(8); scanf(\,p); C) scanf(\,p=&a); D) scanf(\,&a);
(22) 以下程序的输出结果是 A) 1 B) 4 C) 7
D) 5
#include
int a[3][3]={1,2,3,4,5,6,7,8,9,},*p; main( )
{ p=(int*)malloc(sizeof(int)); f(p,a);
printf(\,*p); }
f(int *s, int p[][3]) { *s=p[1][1]; }
(23) 以下程序的输出结果是 A) 9 B) 6 C) 36 D) 18
#define f(x) x*x main( )
{ int a=6,b=2,c; c=f(a) / f(b); printf(\,c); }
(24) 以下程序运行后,输出结果是 A) 49.5 B) 9.5 C) 22.0 D) 45.0
#include
#define PT 5.5 #define S(x) PT* x * x main()
{ int a=1,b=2;
printf(\ }
(25) 以下程序运行后,输出结果是 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(\ }
(26) 设有以下宏定义:
#define N 3
#define Y(n) ( (N+1)*n) 则执行语句:z=2 * (N+Y(5+1));后,z的值为 A) 出错 B) 42 C) 48 D) 54
(27) 若有说明,double *p,a;则能通过scanf语句正确给输入项读入数据的程序段是 A)*p=&a; scanf(\ B)p=(double *)malloc(8);scanf(\ C) p=&a;scanf(\ D)p=&a; scanf(\
(28) 执行下面的程序后,a的值是 #define SQR(X) X*X main( )
{ int a=10,k=2,m=1; a/=SQR(k+m)/SQR(k+m); printf(\ } A) 10 B) 1 C) 9 D) 0
(29) 以下程序的输出结果是 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);
primtf(\ }
A) 1 B) 7 C) 9 D) 11
(30) 若要用下面的程序片段使指针变量p指向一个存储整型变量的动态存储单元: int *p;
p=__________ malloc( sizeof(int)); 则应填入
A) int B) inst * C) (*int) D) (int *)
(31) 请读程序: #include
{ int a=3, b=4;
printf(\}
上面程序的输出结果是
A) 12 B) 15 C) 16 D) 20
(32) 请读程序: #include
void fun(float *pl, float *p2, float *s) { s=( float * )calloc( 1, sizeof(float)); *s=*p1+ *(p2++); } main()
{ float a[2]={1.1, 2.2}, b[2]={10.0, 20.0}, *s=a; fun(a, b, s) printf(\}
上面程序的输出结果是 A) 11.100000 B) 12.100000 C) 21.100000
D) 1.100000
(33) 在宏定义 #define PI 3.14159中,用宏名PI代替一个 A) 单精度数 B) 双精度数 C) 常量 D) 字符串
(34) 请选出以下程序段的输出结果 #include
#define MIN(x,y) (x)<(y)? (x):(y) main() { int i,j,k; i=10; j=15; k=10*MIN(i,j); printf(\}
A) 15 B) 100 C) 10 D) 150
(35) sizeof(double)是 【35】 。 A)一种函数调用 B)一个双精度型表达式 C)一个整型表达式 D)一个不合法的表达式
(36) 以下for语句构成的循环执行了 【36】 次。 # include
# define NUM (M+1)*M/2 main()
{ int i , n=0;
for ( i=1;i<=NUM;i + + ); {n + + ; printf(\ printf(\ } A) 5 B) 6 C) 8 D) 9