参考答案和解析
正确答案:B
解析:本题的考点是关于C语言的整数运算和逻辑运算。由于d初值为25,“a=d/10%9中d/10”整除结果是2,再用9求余结果仍是2,因此a的值为2。而对于“b=a&&(-1)”,由于a值为2不为0,-1也不为0,因此“a&&(-1)”结果为真,b值是1。输出结果应该是2、1。正确选项是B。
更多“有以下程序:main(){int a,b,d=25;a=d10%9;b=a&&(1);printf("%d,%d\n",a,B);}程序运行后的输出 ”相关问题
  • 第1题:

    有以下程序 main() { int a,b,d=25; a=d/10%9;b=a&&(-1) printf("%d,%d\n",a,b); } 程序运行后的输出结果是______。

    A.6,1

    B.2,1

    C.6,0

    D.2,0


    正确答案:B

  • 第2题:

    有以下程序: #includc<stdio.h> void fun(int *p) {printf("%d\n",p[5]);} main( ) {int a[10]={1,2,3,4,5,6,7,8,9,10}; fun(&a[3]); } 程序运行后的输出结果是( )。

    A.5

    B.6

    C.8

    D.9


    正确答案:B
    由题可知,fun(&a[3])是将&a[3]作为参数,而fun(int*p)后执行的语句为p[5],由数组a可知输出的为6。

  • 第3题:

    有以下程序 main() { int a,b,d=25; a=d/10%9; b=a&&(-1); printf("%d,%d\n",a,b); } 程序运行后的输出结果是

    A.6,1

    B.2,1

    C.6,0

    D.2,0


    正确答案:B
    解析:本题考查算术运算符“/”、“%”,逻辑运算符“&&”。a=25/10%9= 2;b=2&&(-1)=1。

  • 第4题:

    有以下程序

    #include<stdio.h>

    void fun(int*p)

    {printf("%d\n",p[5]);}

    main()

    { int a[10]={1,2,3,4,5,6,7,8,9,10};

    fun(&a[3]);

    }

    程序运行后的输出结果是

    A.5

    B.6

    C.8

    D.9


    正确答案:D
    解析:考察指针和函数的相关知识,a[3]指向的是数据值为4的地址,那么相当于是p指向数据值4的地址,那么p[5]指向就是数据值9的地址,所以输出9。

  • 第5题:

    有以下程序 main() { int a,b,d=25; a=d/10 % 9; b=a && (-1); printf ("%d,%d\n",a,B) ; } 程序运行后的输出结果是

    A.6,1

    B.2,1

    C.6,0

    D.2,0


    正确答案:B
    解析:本题主要考查的是C语言中的整除、求余以及逻辑值的概念。在C语言中,/号的两边如果都是整数的话,返回的结果也是整数,如果除不净则舍去小数部分。%是求余运算,它的运算对象只能是整型,运算结果是两数相除后所得的余数,当运算量为负数时,结果的符号与被除数相同。因此,执行语句a=d/10%9;后,a=25/10%9=2%9=2。C语言中没有专门的逻辑值,而是用整型值来代替。当整型值作逻辑值使用时,非零即表示“真”,零表示“假”,而逻辑值当整型值使用时,“真”等于1,“假”等于0。因此,执行语句b=a&&(-1);后b=2&&(-1)=“真”&&“真”=“真”=1。所以,4个选项中选项B符合题意。