当执行下列宏定义命令后,S的值为() # defineR3.0 # define PI 3.1415926 # define L2 * PI *

题目

当执行下列宏定义命令后,S的值为 ( ) # defineR3.0 # define PI 3.1415926 # define L2 * PI * R # define S PI * R * R

A.3.1415926

B.18.849556

C.3

D.28.2743334

参考答案和解析
正确答案:D
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

已知#define M 2;的宏定义,执行语句k=M*5;后,k的值是

A.10

B.5

C.2

D.以上答案都不对


正确答案:D

第2题:

在宏定义define P13.14159中,用宏名PI代替一个______。


正确答案:
本题考查字符替换格式:#define标识符字符串。

第3题:

以下程序的执行结果是【】。 include define PI____3.14159 const int R=10; void main()

以下程序的执行结果是【 】。

include<iostream>

define PI____3.14159

const int R=10;

void main()

{

double a,b;

ac2*R*PI;

b=R*R*PI;

cout<<"a="<<a<<","<<"b="<<b<<endl;"

}


正确答案:a=62.8318b=314.159
a=62.8318,b=314.159

第4题:

下面程序的输出结果是( )。 #define PI 3.1415 #define ARE(X) PI*x*x main() { int r=2; printf("%.2f",ARE(r+1)); }

A.28.26

B.28.26

C.9.28

D.9.28


正确答案:C
解析:带参数的宏展开是在编译时进行的,是一种纯粹文字性的替换过程。本题定义了一个带参数宏#defineARE(x)PI*x*x,在printf()函数中使用了这个宏,展开过程为:ARE(r+1)=>PI*r+1*r+1=>3.1415*r+1*r+1,其结果为3.1415*2+1*2+1=6.283+2+1=9.283,由于输出格式限定为两位小数,故输出结果为9.28,应该选择C。

第5题:

以下叙述中不正确的是( )。

A.预处理命令行都必须以#号开始

B.在程序中凡是以#号开始的语句行都是预处理命令行

C.宏替换不占用运行时间,只占编译时间

D.定义#define PI 3.1415926;是正确的


正确答案:D
解析:带参数的宏定义如下:#define宏名(参数)字符串。本题中,宏定义的作用是指定用标识符PI来代替“3.1415926”这个字符串,但宏定义不是C语句,行末不加分号。

第6题:

设有以下宏定义:#define N 3#define Y(n) ((N+1)*n)则执行以下语句后,z的值为______。z=2 * (N+Y(5+1));

A.出错

B.42

C.48

D.54


正确答案:C

第7题:

设有变量pi=3.1415926,执行命令?ROUND(pi,3)的显示结果为 ______。

A.3.141

B.3.142

C.3.14

D.3


正确答案:B
解析:四舍五入函数格式:ROUND(数值表达式1>,数值表达式2>)功能:返回指定表达式在指定位置四舍五入后的结果,其中数值表达式2>指明四舍五入的位置。若数值表达式2>大于等于0,那么它表示的是要保留的小数位数;若数值表达式2>小于0,那么它表示的是整数部分的舍入位数。本题使用ROUND函数计算pi保留3位小数的值,因为小数点后第4位为5,要入一位。

第8题:

若有以下宏定义:

#define N 2

#define Y(n)((N+1)*n)

则执行语句z=2*(N+Y(5));后的结果是( )。

A.语句有错误

B.z=34

C.z=70

D.z无定值


正确答案:B

本题考查宏定义的功能,可以把它看成一个函数,直接代人参数,可计算出结果为34, 故选B。 

第9题:

以下叙述中不正确的是

A.预处理命令行都必须以#号开始

B.在程序中凡是以#号开始的语句行都是预处理命令行

C.宏替换不占用运行时间,只占编译时间

D.在以下定义是正确的:#define PI 3.1415926;


正确答案:D
解析:带参数的宏定义如下:#define宏名(参数)字符串。本题中,宏定义的作用是指定用标识符PI来代替“3.1415926”这个字符串,但宏定义不是C语句,不必在行末加分号。

第10题:

下面宏定义正确的是( )

A.#define S a*b

B.#define PI 3.14;

C.#define max(a,b) ((a) >(b) ?(a) ;(b) )

D.#define s(x) (x)*(x);


正确答案:C