设为首页 加入收藏

TOP

[二级C试题天天练]C语言考试试题2
2014-11-18 03:10:51 来源: 作者: 【 】 浏览:30
Tags:二级 试题 天天 语言 考试试题

17 以下程序的输出结果是()
#define f(x) x * x
#include
Main()
{ int a=8,b=4,c ;
c=f(a)/f(b) ;
printf(“%d\n”,c);
}
A) 4 B) 8 C) 64 D) 16


答案:c
解析:此题程序中定义了一个带参数的宏名为f,当程序中遇到此宏名进行展开时,则应使用定义时的字符串x * x进行替换。替换的原则是:遇到形参x,则以实参a代替,其他字符不变。所以,f (x)经宏展开后成为字符串f (x)* f (x)。整个赋值语句的形式变为c= f(a)* f(a)/f(b)* f(b);,则c=8*8/4*4=64。
按楼上的同学所说,c= f(a)* f(a)/f(b)* f(b) 很明显,乘除处于同一个优先级,所以应该从左到右依次计算。整个程序看明白了,如果就因为计算出现错误,是不是会觉得很可惜啊!提醒同学们一定要更细心一些!


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇2011年计算机等级考试二级C语言辅.. 下一篇[二级C试题天天练]C语言考试试..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: