编译预处理和动态存储分配及答案(2)

2019-04-15 11:35

*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 #define SUB(X,Y) (X)*Y main()

{ 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 N 2 # define M N+1

# 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


编译预处理和动态存储分配及答案(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:高考语文第一轮复习 各题型答题技巧说明汇总[含答案]

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: