参考答案和解析
正确答案:C
解析:a++是先使用a值再将a的值加1,b-是先使用b的值再将b的值减1,所以题中的逻辑运算表达式的值应当为真,即为1,而经过运算后,a和b的值已经分别变成0和3了。
更多“下面程序main(){int a=-1,b=4,k;k=(a++<=0)&amp;&amp;(!(b--<=0));printf("%d%d%d%d\n",k,a,B) ; ”相关问题
  • 第1题:

    下面程序的输出结果是 ( ) main ( ) { int a=-1,b=4,k; k=(a + + <=0) & & (!(b - - <=0)); prinft("%d%d\n",k,a,b);}

    A.0 0 3

    B.0 1 2

    C.1 0 3

    D.1 1 2


    正确答案:C

  • 第2题:

    下列程序的输出结果是______。main(){ int a=-1,b=1,k; if((++a<0)&& ! (b--<=0)) printf("%d %d\n",a,b); else printf("%d %d\n",b,a);}

    A.-1 1

    B.0 1

    C.1 0

    D.0


    正确答案:C

  • 第3题:

    阅读下面语句,则程序的执行结果是______。include"stdio.h"main(){ inta=-1,b=1,k;if((++a<0)&

    阅读下面语句,则程序的执行结果是______。

    include"stdio.h"

    main()

    { inta=-1,b=1,k;

    if((++a<0)&&! (b--<=0))

    printf("%d,%d\n",a,b);

    else printf("%d,%d\n",b,a);}


    正确答案:
    与运算两边的语句必须同时为真时,结果才为真。当执行完if(++a0)&&!(b--=0))时,a,b的值已经发生了变化。

  • 第4题:

    以下程序的输出结果是#include <conio.h>#include <stdio.h>#define M 100void fun(int m, int *a, int *n){ int i,j=0; for(i=1;i<=m;i++) if(i%7==0||i%11==0) a[j++]=i; *n=j;}main(){ int aa[M],n,k; clrscr(); fun(100,aa,&n); for(k=0;k<n;k++) if((k+1)%20==0)printf("\n"); else printf("%d",aa[k]); printf("\n"); }


    正确答案:77
    在本题中,程序首先定义一个宏M,然后定义一个fun函数,函数带有三个形参,分别是一个整型形参m和两个整型指针形参a、n。在函数体中,首先定义两整型变量i和j,并给j赋初值为0,然后执行循环,循环体中首先是一个条件判断语句,如果结果为真,则说明变量i能同时被7和11整除,并将变量i保存到数组中,循环结束后,将数组中元素的个数通过指针变量n进行返回。通过分析可以知道,fun函数的作用是求取1到m中能同时被7和11整除的整数,并将结果保存到数组a中。
    在主函数中,首先定义了两个整型变量和一个整型数组aa,然后调用clrscr()函数对文本模式窗口进行清除操作。接着调用fun函数,根据上面我们对fun函数的分析,要计算1~100之间能同时被7和11整除的整数,很显然,这样的数只有77一个,那么此时数组aa中只有一个元素为77,而n的值是1。
    接着执行for循环,从程序中不难看出循环的作用是将数组aa中的元素按一定的规则输出,其规则为每行最多只能输出20个值。结合上面的分析,数组aa中只有一个元素为77,因此,本题程序的最终输出结果为77。

  • 第5题:

    阅读下面语句,则程序的执行结果是【 】。

    include "stdio.h"

    main()

    { int a=-1,b=1,k;

    if((++a<0)&&!(b--<=0))

    printf("%d,%d\",a,b);

    else printf("%d,%d\n",b,a);}


    正确答案:10
    1,0 解析:与运算两边的语句必须同时为真时,结果才为真。当执行完if((++a<0)&&!(b--<=0))时,a,b的值已经发生了变化。