变量的存储类型与预编译命令

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验十二变量的存储类型与与编译命令(上机练习)1、输入下面的程序并运行,分析为什么会得到此结果。

#include

#define PI 3.1415926

#define S(r) PI*r*r

float S1(int r)

{

return(PI*r*r);

}

void main()

{

printf("%f\n",S(2));

printf("%f\n",S(1+1));

printf("%f\n",S1(2));

printf("%f\n",S(1+1));

}

具体要求:

①分析程序的运行结果。

②认真比较函数和宏定义的不同之处。

2.以下程序的输出结果是()。

A.15 B.100 C.10 D.150

#include

#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);}

3.以下程序中的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++);

printf(“%d\n”,i);}

4.以下程序的输出结果是()。

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); }

5.以下叙述正确的是()。

A.用#include包含的头文件的后缀不可以是“.a”

B.若一些源程序中包含某个头文件;当该头文件有错时,只需对该头文件进行修改,包含此头文件所有源程序不必重新进行编译

C.宏命令可以看做是一行C语句

D.C编译中的预处理是在编译之前进行的。

6.以下有关宏替换的叙述不正确的是()。

A.宏替换不占用运行时间 B.宏名无类型

C.宏替换只是字符替换 D.宏名必须用大写字母表示7.宏定义#define G 9.8中的宏名G代替()

A.一个单精度实数 B.一个双精度实数C.一个字符串 D.不确定类型的数8.若有宏定义:

#define MOD(x,y) x%y

则执行以下程序段的输出为()

int z,a=15,b=100;

z=MOD(b,a);

printf(“%d\n”,z++);

A.11 B.10 C.6 D.宏定义不合法

9.以下程序的运行结果是()。

#define DOUBLE(r) r*r

main( )

{ int y1=1,y2=2,t;

t=DOUBLE(y1+y2);

printf(“%d\n”,t);}

A.11 B.10 C.5 D.9

10.下列程序段的输出结果是()

#include

main()

{int x=10;

int y=x++;

printf("%d,%d\n",(x++,y),y++);}

A .11,10

B .11,11

C .10,10

D .10,11

选择题:

1.若有定义:int x ,*pb ;则以下正确的赋值表达式是( )。

A .pb=&x

B .pb=x

C .*pb=&x

D .*pb=*x

2.以下程序的输出结果是( )。

A .因变量无定义输出不定值

B .0

C .-1

D .1

#include “stdio.h ”

main ()

{ printf (“%d\n ”,NULL );}

3.已知指针p 的指向如图8.1所示,则表达式*++p 的值是( )。

A .20

B .30

C .21

D .31

4.已知指针p 的指向如图8.1所示,则表达式++*p 的值是( )。

A .20

B .30

C .21

D .31

5.以下程序的输出结果是( )。

A .23

B .24

C .25

D .26

void prtv (int *x )

{ printf (“%d\n ”,++*x ); }

main ()

{ int a=25;prtv (&a );}

a[0] a[1] a[2] a[3] a[4] 图8.1 p ↑

相关文档
最新文档