更多“以下程序的输出是 main() { int a=0, b=0, c=0; if (a=b+c) printf (”*** a=%dn”, a); else printf (”$$$ a=%dn”, a); }”相关问题
  • 第1题:

    下列程序的输出结果是() include main() {int a=3,b=2,c=1; if(a

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

    #include<stdio.h>

    main()

    {int a=3,b=2,c=1;

    if(a<b)

    if(b<0) c=0;

    else c++;

    printf("%d\n",c);

    }

    A.0

    B.2

    C.1

    D.3


    正确答案:C
    解析:本题考查if语句。第一个if语句,先判断条件,发现ab不成立,不再执行下列的语句,直接执行最后的printf输出语句,然后结束程序,整个过程c的值没有发生变化。

  • 第2题:

    以下程序的输出结果是()。includemain(){int a=-1,b=1,k; if((++a<0)&&! (b--

    以下程序的输出结果是( )。 #include <stdio.h> 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 0


    正确答案:C
    解析:本题考查if语句。++a是先自增后使用,b--是先使用后自减。执行++a后,a值为0,不满足条件,所以a为0,b仍为1,接下去执行else语句,输出10。

  • 第3题:

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

    main()

    {int i=0,a=0;

    while(i<20)

    { for(;;)

    { if((i%10)==0)break;

    else i--;}

    i+=11;

    a+=i;

    }

    printf("%d\n",A);

    }


    正确答案:32
    32 解析:while(表达式)的功能是:首先计算表达式的值.若为真,则执行循环体语句,执行完毕,再计算表达式的值.若仍为真,则重复执行循环体语句,直到表达式的值为假,结束while语句的执行,继续执行while语句后面的语句;i=0时满足循环条件,也满足if的条件,执行语句得i=11,a=11,第2次循环不满足if的条件,执行i--,i=10,执行i+=11;a+=i后,得i=21,a=32,不满足i20,循环结束。

  • 第4题:

    有以下程序: include main ( ) int i;for(i =0;i <3 ;i ++ )switch (i)case 0: printf

    有以下程序: #include <stdio.h> main ( ) int i; for(i =0;i <3 ;i ++ ) switch (i) case 0: printf(" % d" ,i); case 2: printf(" % d" , i); default: printf( "% d" , i);程序运行后的输出结果是( )。

    A.22111

    B.21021

    C.122

    D.12


    正确答案:C
    解析:程序中没有使用break终止switch语句的执行。当i:0时,执行第一个case语句,因为它后面没有break,所以一直到执行完default语句结束,输出3个0,再执行下一循环。所以只有选项C)正确。

  • 第5题:

    以下程序运行后的输出结果是( )。 include main() { int x=20; printf("%d", 0

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

    include<stdio.h>

    main()

    { int x=20;

    printf("%d", 0<x<20);

    printf("%d\n", 0<x && x<20);

    }


    正确答案:10
    10 解析:表达式0x20,首先计算0x,其值为1,再计算120,其值为1,输出1;表达式0x && x20,0x为1,x20为0,再计算1 && 0,其值为0,输出0。所以输出结果为10。

  • 第6题:

    有以下程序include main(){ int.i=0,a=0;while(i<20){for(;;) {if((i%10)==0)break;el

    有以下程序 #include <stdio.h> main() { int.i=0,a=0; while(i<20) { for(;;) { if((i%10)==0) break; else i--; } i+=11; a+=i; } printf("%d\n",a) ; } 程序运行后的输出结果是( )

    A.21

    B.32

    C.33

    D.11


    正确答案:B

  • 第7题:

    以下程序的输出结果是( )。 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选项。

  • 第8题:

    以下程序的输出结果是#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。

  • 第9题:

    以下程序的输出结果是_______。 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 0


    正确答案:C
    解析:逻辑运算符的优先次序如下:!(非)→&&(与)→||(或),但本题特别注意的是短路的概念。

  • 第10题:

    下列程序的输出结果为______。 main ( ) { int p, y=0, x=0; p=x<<8 | ~y>>8; printf("%d",p); p+

    下列程序的输出结果为______。 main ( ) { int p, y=0, x=0; p=x<<8 | ~y>>8; printf("%d ",p); p+=(p+=2); printf("%d\n",p); }

    A.-1 0

    B.0 0

    C.0 4

    D.-1 2


    正确答案:D

  • 第11题:

    下列程序的输出结果是______。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

  • 第12题:

    单选题
    有以下程序:#include main(){ int x=1,y=0; if(!x)y++; else if(x==0) if(x)y+=2;  else y+=3; printf(%d,y);}程序运行后的输出结果是(  )。
    A

    3

    B

    2

    C

    1

    D

    0


    正确答案: D
    解析:
    else子句总是与前面最近的不带else的if相结合,与书写格式无关。本题中的层次关系是:if(!x)与else if(x==0)是一组,位于条件判断的最外层。而if(x)与else是一组,位于else if(x==0)条件的内层。由此可知条件均不成立,所以y未进行任何操作,仍为0。答案选择D选项。

  • 第13题:

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

    main()

    {int a=0;

    a+=(a=8);

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


    正确答案:
    16

  • 第14题:

    下程序( )。 main( ) { int x1=3, x2=0, x3=0; if (x1=x2+x3) printf("* * * *"); else printf(" "); }

    A.输出:* * * *

    B.输出:# # #

    C.#存在语法错误

    D.无输出结果


    参考答案B

  • 第15题:

    以下程序的输出结果是( )。 include void fun(int x) {if(x/2>0)fun(x/2); printf("%d",

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

    include<stdio.h>

    void fun(int x)

    { if(x/2>0)fun(x/2);

    printf("%d",x);

    }

    main()

    {fun(3);printf("\n");

    }


    正确答案:13
    13 解析:函数fun是一个递归函数。执行fun(3);,x=3,x/2=1>0,又调用f(1),此时,x=1,x/2=0,不满足继续递归调用的条件,输出1,返回到fun(3)中,输出3。所以本题的输出结果为13。

  • 第16题:

    以下程序的输出结果是( )。 includefun(){ int a=0;a+=3;printf("%d",A); } main() {int

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

    include<stdio.h>

    fun()

    { int a=0;

    a+=3;

    printf("%d",A);

    }

    main()

    { int cc;

    for(cc=1;cc<=4;cc++)

    fun();

    printf("\n");

    }


    正确答案:3 3 3 3
    3 3 3 3 解析:本题考查for循环,for(cc=1;cc=4;cc++)表示循环4次,a+=3表示每次a的值增加3,但是子函数中没有将变量a定义为static类型,所以每次调用完子函数之后,变量a所做的改变都不能保存,这样在下一次调用子函数时,a的初值仍是0,所以不管调用多少次,子函数输出始终是3。

  • 第17题:

    下列程序的输出结果是______。 main() { int x=0,a=0,b=2; if(x=a+b) printf("****\n"); else printf("####\n"); }

    A.有语法错,不能通过编译

    B.通过编译,但不能连接

    C.****

    D.####


    正确答案:C
    解析:if语句中的条件表达式是赋值表达式,a+b值为2,赋给x,x值非0,输出****。

  • 第18题:

    有如下程序: main { int a=2,b=-1.c=2; if(a<0)if(b<0)c=0; else c++; printf("%d\n",c); } 该程序的输出结果是( )。

    A.0

    B.1

    C.2

    D.3


    正确答案:C
    else与离它最近的if构成if…else语句,而当a为2时,第一个if语句不成立,因此什么也不做,即c的值仍然为2,故选择C选项。

  • 第19题:

    关于下面的程序 include main() { int x=3,y=0,z=0; if(x=y+z)printf("****"); else p

    关于下面的程序 #include<stdio.h> main() { int x=3,y=0,z=0; if(x=y+z)printf("****"); else printf("$$$$"); }说法正确的是______。

    A.有语法错误不能通过编译

    B.输出****

    C.输出$$$$

    D.可以通过编译,但不能通过连接,无法运行


    正确答案:C

  • 第20题:

    若有以下程序main(){ int p=5,a=5; if(p=1!=0) printf("%d\n",p); else printf("%d\n",p+2);}程序执行后的输出结果是


    正确答案:√
    在本题中,程序首先定义两个整型变量p和a,都被初始化为5,然后执行if语句,该语句的判断条件为p=1!=0,这也是求解这个题目的关键,由于运算符!=的优先级比运算符=高,因此,本判断条件表达式等价于p=(1!=0),很明显,1是不等于0的,返回的是一个真值结果1,因此,此时变量p的值为1,那么条件为真,if语句返回的结果也为真,因此,执行printf("%d\n",p);语句,由于此时变量p的值已经变为1,因此,程序运行后的输出结果为1。

  • 第21题:

    下列程序的输出结果是()。includemain(){ int a=2,b=3,p;p=f(a,b);printf("%d",p);}int

    下列程序的输出结果是( )。 #include<stdio.h> main() { int a=2,b=3,p; p=f(a,b); printf("%d",p); } int f(a,b) { int c; if(a>b)c=1; else if(a==b)c=0; else c=-1; return(c) ; }

    A.-1

    B.0

    C.1

    D.2


    正确答案:A
    解析:本题考查if else语句。在int f(a,b)中:第一个if语句,先判断条件,发现a>b条件不成立,则执行与其配对的else语句;第二个if语句,先判断条件,发现a==b条件不成立,则执行与其配对的else语句,c=-1。

  • 第22题:

    以下程序的输出结果是()includemain(){ int i=0,a=0;while(i<20){ for(;;){if((i%10)=

    以下程序的输出结果是( ) #include<stdio.h> main() { int i=0,a=0; while(i<20) { for(;;){if((i%10)==0)break;else i--;} i+=11;a+=i; } printf("%d\n",A) ; }

    A.21

    B.32

    C.33

    D.11


    正确答案:B

  • 第23题:

    以下程序的输出结果是( )。 include fun() {static int a=0; a+=3;printf("%d",A); } ma

    以下程序的输出结果是( )。 include<stdio.h> fun() {static int a=0; a+=3;printf("%d",A); } main() {int cc; for(cc=1;cc<5;cc++)fun(); printf("\n"); }


    正确答案:3 6 9 12
    3 6 9 12 解析:本题考查最基本的for循环。for(cc=1;cc5;cc++)规定循环次数为4次,每次a+=3,即每次a的值增加3,但因为fun函数中变量a为static类型,所以每次调用完子函数之后,变量a所做的改变都要保存。

  • 第24题:

    单选题
    有如下程序:#include main(){ int a =0,b=1; if(++a==b++)  printf(T); else  printf(F); printf(a=%d,b=%d,a,b); printf();}程序运行后的输出结果是(  )。
    A

    Ta=0,b=1

    B

    Fa=1,b=2

    C

    Ta=1,b=2

    D

    Fa=0,b=2


    正确答案: D
    解析:
    程序执行过程为:判断++a==b++是否成立,++a前置运算先加1,则运算符==左边表达式值为1,a=1,b++后置运算先取值,则==右边表达式值我1,b=2,即是判断1==1,成立,输出T,输出a=1,b=2。答案选择C选项。