对#define的思考

在宏定义#define PI 3.1415926中,用宏名PI代替了一个()

A。单精度数 B。字符串 C。常量 D。双精度数

C语言中有明确规定,宏定义是利用#define命令,用一个指定的标识代替一个字符串。对应到题目上就是#define 标识符 字符串,所以PI是标识符,3.1415926是字符串。所以这题选B

关于C选项,如果3.1415926不在宏函数定义中,那么它就是一个常量,只是因为它在#define命令中,所以它是一个字符串。

A选项,单精度数是指计算机表达实数近似值的一种方式,而不是只明确的值,故错。

D选项,双精度数也是值计算机表达实数近似值的一种方式,而不是只明确的值,故错。但是和单精度数有一点区别。具体体现在数字的范围上。

1654245416462.png
赞赏