各位计算机考研的小伙伴们,大家好。很开心以这样的方式和大家分享计算机考研的相关知识,今天给大家带来的内容是考研《C语言程序设计》中符号常量的常见考法。符号常量是用一个标识符来表示一个常量,特点是编译后写在代码区,不可寻址,不可更改,属于指令的一部分。符号常量分为两种:
(1)无参符号常量
定义格式:#define 标识符 字符串
define为宏定义,标识符是宏名,字符串可以是常数、表达式或格式串。
例如:#define PI 3.141592
(2)有参符号常量
定义格式:#define 标识符(形参表) 字符串
调用格式:标识符(实参表)
例如:#define s(x,y) x*y+2
无论是对于无参符号常量还是有参符号常量,符号常量的重要考点就是“原样替换”,那么何为原样替换呢?我们给大家举几个例题来看看。
【例题1】设有宏定义:#define S(a,b) a*b,则在程序中赋值语句:area=S(5+6,12);将展开为: 5+6*12 。
解:将5+6原样带入宏定义a中,12原样带入宏定义b中,则a*b就为5+6*12。
【例题2】设有宏定义:#define N 5+4,则执行程序a=N*N+30;后,a的值为多少?
解:将5+4原样带入a=N*N+30中,可以得到a=5+4*5+4+30=59,所以a的值为59。
最后给大家留一个题目,希望可以帮助各位小伙伴们检验一下知识点的掌握情况。
#include
#define F(x) 2.84+x
#define w(y) printf("%d",(int)(y))
#define P(y) w(y)
main()
{ int x=2;
P(F(5)*x);
}
A)12 B)13 C)14 D)16