niusouti.com
更多“ 下列程序的输出结果是( )。A.123B.234C.223D.233 ”相关问题
  • 第1题:

    下列程序的输出结果是( )。

    main()

    {int i=1,j=2,k=3;

    if(i++==1&&(++j=3‖k++==3))printf("%d%d%d\n",i,j,k);

    }

    A.1 2 3

    B.2 3 4

    C.2 2 3

    D.2 3 3


    正确答案:D
    解析:本题考查自增运算符“++”、逻辑与运算符“&&”和逻辑或运算符“‖”。自增运算符“++”,出现在变量之前(如题中的++n),表示先使变量的值加1,再使用变量的值进行运算;出现在变量之后(如题中的n++),表示先使用变量的值进行运算,再使变量的值加1。当逻辑与运算符"&&"两边的运算对象都为真时,逻辑表达式的值才为真;当逻辑或运算符"‖"左边的运算对象为真时,其值就为真,不用计算其右边的运算对象的值。所以根据运算符的优先级,题中应先计算内层括号中的值。++j是先自加后运算,因此运算时,i的值等于3,所以表达式++j==3成立,即表达式的值为¨由于1与任何数都为进行或(‖)运算,结果都为1,因此k=3;最后计算“&&”之前的表达式,i++是先运算后自加,因此运算时i为1,所以i+==1成立,自加1后i=2。if语句的条件为真即"1",所以输出i、j、k的值分别是2,3,3。

  • 第2题:

    下列程序的输出结果是( )。 main { int i=1,j=2,k=3; if(i++==1&&(++j==3==||k++== 3)) printf(&q

    下列程序的输出结果是( )。 main { int i=1,j=2,k=3; if(i++==1&&(++j==3==||k++== 3)) printf("%d%d%d\n",i,j,k); }

    A.1 2 3

    B.2 3 4

    C.2 2 3

    D.2 3 3


    正确答案:D
    本题考梦自增运算符“++”、逻辑与运算符“&&”和逻辑或运算符“||”。自增运算符“++”出现在变量之前,表示先使用变量的值加l,再使用变量的值进行运算;出现在变量之后,表示先使用变量的值进行运算,再使用变量的值加l。当逻辑与运算符“&&’’两边的运算对象都为真时,逻辑表达式的值才为真;当逻辑或运算符“||”只要一个值为1,值就为1。根据运算符的优先级,题中应先计算内层括号中的值。++j是先自加后运算,因此运算时j的值等于3,所以表达式++j=3成立,即表达式的值为1;1与任何数都为进行或(||)运算,结果都为1,因此k=3的表达式i++是先运算后自加,因此运算时i为1,所以i++=1成立,自加1后i=2。if语句的条件为真即“1”,所以输出i、j、k的值分别是2,3,3。

  • 第3题:

    下列程序的输出结果是( )。 main() { int i=1,j=2,k=3; if(i++= =1&&(++j= =3‖k++ = =3)) printf("%d %d %d\n",i,j,k); }

    A.1 2 3

    B.2 3 4

    C.2 2 3

    D.2 3 3


    正确答案:D
    解析:本题考查自增运算符“++”、逻辑与运算符“&&”和逻辑或运算符“‖”。自增运算符“++”,出现在变量之前(如题中的中++n),表示先使变量的值加1,再使用变量的值进行运算:出现在变量之后(如题中的n++),表示先使用变量的值进行运算,再使变量的值加1。当逻辑与运算符“&&”两边的运算对象都为真时,逻辑表达式的值才为真;当逻辑或运算符“‖”左边的运算对象为真时,其值就为真,不用计算其右边的运算对象的值.所以根据运算符的优先级,题中应先计算内层括号中的值。++j是先自加后运算,因此运算时j的值等于3,所以表达式++j=3成立,即表达式的值为1;由于1与任何数都为进行或(‖)运算,结果都为1,因此k=3;最后计算“&&”之前的表达式,i++是先运算后自加,因此运算时i为1,所以i++=1成立,自加1后i=2。if语句的条件为真即“1”,所以输出i、j、k的值分别是2,3,3。

  • 第4题:

    下列程序的输出结果是( )。 main { int i=1,j=2,k=3; if(i++==1&&(++j==3==||k++== 3)) printf("%d%d%d\n",i,j,k); }

    A.1 2 3

    B.2 3 4

    C.2 2 3

    D.2 3 3


    正确答案:D
    本题考梦自增运算符“++”、逻辑与运算符“&&”和逻辑或运算符“||”。自增运算符“++”出现在变量之前,表示先使用变量的值加l,再使用变量的值进行运算;出现在变量之后,表示先使用变量的值进行运算,再使用变量的值加l。当逻辑与运算符“&&’’两边的运算对象都为真时,逻辑表达式的值才为真;当逻辑或运算符“||”只要一个值为1,值就为1。根据运算符的优先级,题中应先计算内层括号中的值。++j是先自加后运算,因此运算时j的值等于3,所以表达式++j=3成立,即表达式的值为1;1与任何数都为进行或(||)运算,结果都为1,因此k=3的表达式i++是先运算后自加,因此运算时i为1,所以i++=1成立,自加1后i=2。if语句的条件为真即“1”,所以输出i、j、k的值分别是2,3,3。

  • 第5题:

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

    A.1 2 3

    B.2 3 4

    C.2 2 3

    D.2 3 3


    正确答案:D
    首先i++=:1&&(++j==3lk++==3)是一个逻辑表达式,i++==1&&(++j==3IIk++==3)分为两部分i++==1和(++j==3||k++==3),它们的关系是”且”的关系,所以两部分都会被执行,其中i++==1是先判断i是否等于l(因为++在后面)此时i=1,在执行完后i-2。然后执行第二部分(++j==3||k++==3),又分为两部分:++J==3和k++==3两部分,这两部分是”或”的关系,如果第一部分满足条件就不执行后面的,如果第一部分不满足条件,就执行后面的部分。++J==3是j先自己加l然后判断j是否等于3,这部分的结果为真,所以后面的部分不执行,因此最后的结果为i=2j=3k=3.