以下程序的输出结果是_________。 #include<stdio.h #defineFUDGE(y) 2.84+y #define PR(A) printf("%d",(int)(A) ) #definePRINT1(A) PR(A) ;putchar('\n') main() { int x=2; PRINT1(FUDGE(5)*X); }A.11B.12C.13D.15

题目

以下程序的输出结果是_________。 #include<stdio.h #defineFUDGE(y) 2.84+y #define PR(A) printf("%d",(int)(A) ) #definePRINT1(A) PR(A) ;putchar('\n') main() { int x=2; PRINT1(FUDGE(5)*X); }

A.11

B.12

C.13

D.15


相似考题
参考答案和解析
正确答案:B
解析:在程序中如果有带实参的宏,则按#define命令行中指定的字符串从左到右进行置换,如果串中包含宏中的形参,则将程序语句中相应的实参代替形参。将实参带入已经定义的宏中,可以得出答案为“12”。
更多“以下程序的输出结果是_________。#include<stdio.h#defineFUDGE(y)2.84+y#define PR(A) printf("% ”相关问题
  • 第1题:

    下列程序的输出结果是()。 include include main() {char a[]="\n123\\";pr

    下列程序的输出结果是( )。 #include<stdio.h> #include<string.h> main() { char a[]="\n123\\"; printf ("%d,%d\n",strlen(a),sizeof(a)); }

    A.5,6

    B.5,5

    C.6,6

    D.6,5


    正确答案:A
    解析:转义字符'\n'表示换行,'\\'表示反斜杠,函数strlen()是计算字符串的长度,不包括文件结束标志('\0'),函数sizeof()统计字符串所占的字节数。

  • 第2题:

    下列程序的输出结果是______。includedefine FUDGE(y)2.84+ydefine PR(a)printf("%d"

    下列程序的输出结果是______。#include<stdio.h>#define FUDGE(y) 2.84+y#define PR(a) printf("%d",(int)(a))#define PRINTl(a) PR(a);putchar('\n')main (){ int x=2; PRINT1(FUDGE(5)*x);}

    A.11

    B.12

    C.13

    D.15


    正确答案:B

  • 第3题:

    以下程序运行后的输出结果是 。 #include<stdio.h> void main() { int x=1,y=20, t=0; if(x= =y) t=x;x=y;y=t; printf("%d %dn",x,y); }


    D 本程序中通过DATA语句对数组B赋值的结果为矩阵DO循环语句的功能是将数组B的第2列的元素的值依次赋值给数组A。因此,A(1)=4、A(2)=5、A(3)=6,所以格式输出数组A后输出的结果为456。

  • 第4题:

    以下程序的输出结果是______。includedefine FUDGE(y) 2.84+ydefine PR(a)printf("%d

    以下程序的输出结果是______。 #include<stdio.h> #define FUDGE(y) 2.84+y #define PR(a) printf("%d\n",(int)(a)) #define PRINT1(a) PR(a);putchar('\n') main() { int x=2; PRINT1(FUDGE(5)*x); }

    A.11

    B.12

    C.13

    D.15


    正确答案:B
    解析:在程序中如果有带实参的宏,则按#define命令行中指定的字符串从左到右进行置换,如果串中包含宏中的形参,则将程序语句中相应的实参代替形参。将实参带入已经定义的宏中,可以得出答案为“12”。

  • 第5题:

    以下程序的输出结果是【 】。 include main() { intn=12345, d; while(n!=O){d=n%10; pr

    以下程序的输出结果是【 】。

    include <stdio.h>

    main()

    { int n=12345, d;

    while(n!=O){ d=n%10; printf("%d",d); n/=10; }


    正确答案:54321
    54321 解析:本题考查的知识点是:%运算和/运算。%运算要求两个运算分量均为整数,该运算计算两个整数相除得到的余数,该操作也叫做求模。所以,在while循环中, d=n%10;语句每次求得的结果是n个位上的数值,例如12345÷10所得的余数就是个位上的5。接下来输出得到的个位数字d,然后执行n/=10;语句,该语句等价于n=n/10;。在C语言中,如果/运算的两个运算分量都是整数,那所得的结果也截尾取整,所以 12345/10=1234,即n=n/10;语句的作用是让n截去个位上的数字。由此可知,随着while循环的继续,n依次为12345、1234、123、12、1,而每次输出n的个位数字将为5、 4、3、2、1。故本题应填54321。