📅  最后修改于: 2020-10-23 05:59:16             🧑  作者: Mango
#include
#define DEF
int main(){
int j=3;
#ifdef DEF
printf("square of j=%d\n",j*j);
#else
printf("j=%d\n",j);
#endif
return 0;
}
正确的选项是(a)。
说明:
在程序#ifdef中,#else和#endif是预处理程序命令。
如果宏DEF是由#define语句定义的,则#ifdef之后的代码将立即编译,否则将执行#else和#endif命令之间的代码。由于已经定义了DEF ,因此#ifdef DEF评估为true,因此将计算并打印’j’的平方,即9。
在定义宏DEF时,不必对宏语句提供扩展,因为在程序中我们没有使用宏扩展的值。
因此,程序的输出为j = 9的平方。
#include
#define IT 0.1
#define HRA 0.2
#define DA 0.3
int main()
{
float bas_sal, net_sal;
bas_sal=1000;
net_sal=bas_sal*(1+HRA+DA-IT);
printf("Gross salary=%f\n", net_sal);
return 0;
}
正确的选项是(b)。
说明:
当预处理器将程序发送给IT编译时,HRA和DA分别被替换为0.1、0.2和0.3。将bas_sal设置为1000,净工资的计算公式为:
语句printf(“总薪水=%f \ n”,net_sal);打印结果。因此输出的输出:
工资总额= 1400
正确的选项是(b)。
说明:
否,头文件可以具有任何扩展名。头文件不必具有.h扩展名。
正确的选项是(c)。
说明:
void * calloc(size_h nitems,size_h size):函数calloc()需要double参数。
void * malloc(size_h size):函数malloc()需要单个参数。
为了支持该函数-需要malloc()和calloc() stdlib.h头文件。
正确的选项是(a)。
说明:
宏语句可以更快地执行,而无需上下文切换,因为在调用行扩展了宏的代码。
因此,以上说法是正确的。