下面的程序(a)________和程序(b)________运行后,y和c的值分别是(53)________。 程序(a): #define f(x)x*x main() {int x=2; float y; v=x/f(x);

admin2021-03-25  27

问题 下面的程序(a)________和程序(b)________运行后,y和c的值分别是(53)________。
程序(a):  
#define f(x)x*x
   main()
  {int x=2;
float y;     v=x/f(x);
   )   
程序(b):
   main()
    {int i=l;
c=3;   
switch(i)
  {case l:
c++;  
  case 2:
c+12;
    default:
  c+=5;}
    }

选项 A、y=2,c=11
B、y=2,c=4
C、y=0.5,c=11
D、y=0.5,c=4

答案A

解析 本题考查C语言编程基础知识。   
define是宏定义,用来定义常量或宏,是一个符号替换概念,例如本题中的:   
#define f(x)=x*x   
预编译时,会首先把程序中出现f(x)的地方,替换成x*x,因此,程序(a)运行结果y=2,而不是y=0.5。   
程序(b)中,执行结果c=11,而不是期望的c=4,因为缺少break语句,c++:c+=2;c+5=:5这三条语句被顺序执行。
转载请注明原文地址:https://jikaoti.com/ti/TEI7FFFM
0

相关试题推荐
最新回复(0)