niusouti.com
参考答案和解析
正确答案:B
解析:C语言中宏替换只是字符替换,因此:S(a+b)=PT*a+b*a+b=5.5*1+2*1+2=9.5。
更多“以下程序运行后,输出结果是______。#include<stdio.h>#define PT 5.5#difine S(x) PT*x*xmain(){i ”相关问题
  • 第1题:

    以下程序运行后,输出结果是( )。

    #include

    #define PT 5.5

    #define S(x)PT*x*X

    main

    { int a=1,b=2;

    printf("%4.1f\n",s(a+b));}

    A.49.5

    B.9.5

    C.22.0

    D.45.0


    正确答案:B
    本题考查函数调用,由于a+b没有被括起来,所以s(a+b)=PT*a+b*a+b=5.5*1+2*1+2=9.5,故选择B。

  • 第2题:

    以下程序运行后,输出结果是______。 #define PT 5.5 #define S(x) PT*x*x main() { int a=1,b=2;printf("%4.1 f\n",S(a+b)); }

    A.49.5

    B.9.5

    C.22

    D.45


    正确答案:B

  • 第3题:

    下列程序运行后的输出结果是:_____ #include<stdio.h> void fun(int *pa, int pb ) { int pt; pt = *pa, *pa = pb, pb = pt; } int main() { int x=1, y=2; fun(&x, y); printf("%d", x==y); return 0; }


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

  • 第4题:

    以下程序运行后,输出结果是() include define PT5.5 define S (x)PT* x * x

    以下程序运行后,输出结果是 ( ) # include<stdio.h> # define PT5.5 # define S (x)PT* x * x main( ) { int a=1,b=2; printf("%4.1f\n",s(a+b)); }

    A.49.5

    B.9.5

    C.22

    D.45


    正确答案:B

  • 第5题:

    以下程序运行后,输出结果是define PT 5.5define S(x)PT*x*xincludemain(){ int a=1,

    以下程序运行后,输出结果是 #define PT 5.5 #define S(x) PT*x*x #include<stdio.h> main() { int a=1,b=2; printf("%4.1f\n",S(a+b));}

    A.49.5

    B.9.5

    C.22

    D.45


    正确答案:A
    解析:宏替换用“#define宏名宏体”的形式来定义。在进行编译预处理时,将把程序中宏定义之后的所有宏名用宏体替换。宏虽然可以带参数,但宏替换过程中不像函数那样要进行参数值的计算、传递及结果返回等操作;宏替换只是简单的字符替换,不进行计算。因而本题中的S(a+b)进行宏替换后为PT*1+2*1+2=5.5*1+2*1+2=9.5。注意:带参数的宏定义。