参考答案和解析
参考答案:C
更多“以下程序:main(){inta=5,b=4,c=6,d;printf(“%d\n“,d=ab?(ac?a:c):(b));}的输出结果是() ”相关问题
  • 第1题:

    以下程序的输出结果是( )。 main { int a=3: printf("%d\n",(a+a-=a*a)); }A.-6B.12S

    以下程序的输出结果是( )。 main { int a=3: printf("%d\n",(a+a-=a*a)); }

    A.-6

    B.12

    C.0

    D.-12


    正确答案:D
    本题可以写成:a+a+(a-(a*a)),所以*的优先级最高,其次是-=的,+的优先级最低,因此先求a-=a*a=9,表达式变为a+a+-=9,a即a=a-9=-6,再次变为a+(-6)=-12,故选择D选项。

  • 第2题:

    以下程序的输出结果是 main(){ int a=5,b=4,c=6,d; printf("%d\n", d=a>b?(a>c ? a: C) :(B) );}

    A.5

    B.4

    C.6

    D.不确定


    正确答案:C
    解析:本题考核的知识点是条件表达式的使用.在C语言中问号表达式(如:a>c?a:c;)的计算规则为:如果a>c为真,那么表达式的值为a的值;否则表达式的值为C的值。本题中的printf()函数中的输出表达式,首先计算括号内的条件表达式,它的值为6(a>c?a:c中a>c即5>6为假故该表达式的值为c的值即为6),然后再计算外面表达式(等价于a>b?6:b)的值,同理可得该表达式的值为6,将值6赋值给d,因此最后输出该表达式的值为6,所以,4个选项中C为所选。

  • 第3题:

    以下程序的输出结果是______。 include main() { int a=5,b=4,c=6,d; printf("%d\n",d=

    以下程序的输出结果是______。 #include<stdio.h> main() { int a=5,b=4,c=6,d; printf("%d\n",d=a>b?(a>c?a:c):(b)); }

    A.5

    B.4

    C.6

    D.不确定


    正确答案:C

  • 第4题:

    以下程序的输出结果是 main() { int a=5,b=4,c=6,d; printf((“%d\n”,d=a>b?)(a>c?a:c):(b)); }

    A.5

    B.4

    C.6

    D.不确定


    正确答案:C
    解析:在C语言中问号表达式(如:a>c?a:c;)的计算规则为:如果a>c为真,那么表达式的值为a的值;否则表达式的值为c的值。本题中的printf()函数中的输出表达式,首先计算括号内的条件表达式,它的值为6(a>c?a:C中a>c即5>6为假故该表达式的值为c的值即为6),然后再计算外面表达式(等价于a>b?6:B)的值,同理可得该表达式的值为6,将值6赋值给d,因此最后输出该表达式的值为6。

  • 第5题:

    以下程序的输出结果是( )。 main() { int a=5,b=4,c=6,d; printf("%d\n",d=a>b?(a>c?a:C) :(B) ); }

    A.5

    B.4

    C.6

    D.不确定


    正确答案:C
    解析:本题中的printf()函数中的输出表达式,首先计算括号内的条件表达式,它的值为6(a>c?a:c中a>e即5>6为假故该表达式的值为c的值即为6),然后再计算外面表达式(等价于a>b?6:B)的值,同理可得该表达式的值为6,将值6赋值给d,因此最后输出该表达式的值为6,所以,4个选项中C为所选。