首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序 #include<stdio.h> #define S1(z)4*z+4*(z) #define S2(x,y)4*(x)*(y)+y*x main( ) {int a=1,b=2; printf("%d,",S1(a+b)); prinff(
有以下程序 #include<stdio.h> #define S1(z)4*z+4*(z) #define S2(x,y)4*(x)*(y)+y*x main( ) {int a=1,b=2; printf("%d,",S1(a+b)); prinff(
admin
2018-06-29
74
问题
有以下程序
#include<stdio.h>
#define S1(z)4*z+4*(z)
#define S2(x,y)4*(x)*(y)+y*x
main( )
{int a=1,b=2;
printf("%d,",S1(a+b));
prinff("%d,",S2(a,b)+S1(3));
printf("%d",S2(3+a,b+3));
}
程序执行后的输出结果是( )。
选项
A、18,34,100
B、24,34,92
C、24,34,100
D、18,34,92
答案
D
解析
程序中s1和s2都是宏定义,所以S1(a+b)宏展开后的表达式为:4*a+b+4*(a+b),即4*1+2+4*(1+2),结果为18;S2(a,b)宏展开的表达式为:4*(a)*(b)+b*a,即4*(1)*(2)+2*1,结果为10;S1(3)宏展开后的表达式为:4*3+4*(3),结果为24;s2(3+a,b+3)宏展开的表达式为:4*(3+a)*(b+3)+b+3*3+a,即4*(3+1)*(2+3)+2+3*3+1,结果为92,本题输出:18,34,92,答案为D。
转载请注明原文地址:https://kaotiyun.com/show/z3xp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
数据字典是各类数据描述的集合,它通常包括5个部分,即数据项、数据结构、数据流、【】和处理过程。
以下程序运行后的输出结果是【】#include<stdio,h>fun(inta){intb=0;staticintc=3;b++;c++;return(a+b+c);}main(
下列叙述中正确的是()。
设有下列宏定义:#defineA2#defineB(A+3)则执行赋值语句“k=B*20;”(k为int型变量)后,k的值是______。
软件生命周期可分为多个阶段,一般分为定义阶段、开发阶段和维护阶段。编码和测试属于()阶段。
在C语言中,函数返回值的类型最终取决于
数据库设计包括概念设计、【 】和物理设计。
一个项目具有一个项目主管,一个项目主管可管理多个项目,则实体“项目主管”与实体“项目”的联系属于【】。
随机试题
A.雌激素水平过高B.雄激素减少,雌激素相对增多C.尿中HCG明显增高D.雄激素水平过高E.血清CEA水平增高前列腺增生症
A.丙戊酸钠B.乙琥胺C.苯巴比妥D.丙戊酸钠E.卡马西平治疗外周神经痛的药物是
有关仲裁的叙述中,正确的是( )。
一般应采用三栏式明细账的账户是()。
下列各句中,没有语病且句意明确的一句是()。
下列观点中,对利润率与剩余价值率的区别和联系表述错误的一项是()。
()对于消费者相当于学校对于()
在计算机应用中工作量最大的应用领域为
已知数据文件IN1.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数JsVal(),其功能是:如果4位数各位上的数字均是0或2或4或6或8,则统计出满足此条件的数的个数cnt,并把这些4位数按从大到小的顺序存入
A、男的今天发工资了B、女的今天发工资了C、男的不想出去吃饭D、女的想请男的吃饭A根据对话中男的说“我发工资了”一句,可知选A。
最新回复
(
0
)