参考答案和解析
正确答案:yes
更多“以下程序运行后的输出结果是()。      main( )  {int a=1,b=3,c=5;      if(c=a+b)     printf(“yes”);      else  printf(“not”);  }”相关问题
  • 第1题:

    有以下程序: main() { int a=5,b=4,c=3,d=2; if(a>b>c) printf("%d\n",d); else if((c-1>=d)==1) printf("%d\n",d+1); else printf("%d\n",d+2); } 执行后输出结果是 ______。

    A.2

    B.3

    C.4

    D.编译时有错,无结果


    正确答案:B
    解析:执行if(a>b>c)时,首先判断a>b的值,5>4结果为真(C语言中规定真用1表示),然后比较1>c,结果为假,执行第一个else后的语句,判断条件(c-1>=d)==1是否成立,即判断(3-1>=2)==1,结果为真,所以执行printf("%d\n",d+1),输出结果3。

  • 第2题:

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

  • 第3题:

    有以下程序: main() { int a=3,b=4,c=5,d=2; if(a>b) if(b>c) printf("%d",d++ +1); else printf("%d",++d +1); printf("%d\n",d); } 程序运行后的输出结果是( )。

    A.2

    B.3

    C.43

    D.44


    正确答案:A
    解析:首先看程序中if-else的匹配,由于C语言中规定else总是与最近的if搭配,因此程序中else与第二个if搭配,即该if-else语句为第一个if语句的执行部分,接着判断第一个if后面括号里的表达式的值a>b为假(3>4为假),因此不执行后面if-else语句,程序将执行下面的输出语句输出d,而d一直未被改变故为原来的值2,所以,4个选项中选项A符合题意。

  • 第4题:

    以下程序的输出结果是()。include main(){int i; for(i=1;i<5;i++) {if(i%2) printf("*

    以下程序的输出结果是( )。 #include <stdio.h> main() { int i; for(i=1;i<5;i++) { if(i%2) printf("*"); else continue; printf("#"); } printf("$\n");

    A.*#*#*#$

    B.#*#*#*$

    C.*#*#$

    D.#*#*$


    正确答案:C
    解析:程序中当i不能整除2时输出*,然后输出#,能够整除2时将结束本次循环,进入到下一次循环。当循环结束后,输出$。

  • 第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题:

    有以下程序includevoid main(){int a=1,b=0;printf("%d,",b=(a++)+(a++));pfintf("%d\

    有以下程序 #include<stdio.h> void main() { int a=1,b=0; printf("%d,",b=(a++)+(a++)); pfintf("%d\n",a+B); } 程序运行后的输出结果是( )。

    A.4,6

    B.2,5

    C.3,5

    D.2,6


    正确答案:B

  • 第7题:

    若有以下程序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。

  • 第8题:

    有以下程序: include < stdio. h > main ( ) int a=3,b=4,c=5,d=2;if(a>b) if(b>c)printf("%d",

    有以下程序: #include < stdio. h > main ( ) int a=3,b=4,c=5,d=2; if(a>b) if(b>c)printf("%d",d++ +1); else printf( "% d", + + d + 1 ); printf( "% d \n" ,d); 程序运行后的输出结果是( )。

    A.2

    B.3

    C.43

    D.44


    正确答案:A
    解析:C语言规定:else总是与离自己前面最近的if配对,程序中if(a>b)不成立,因此执行prinff("%d\n",d);,输出结果为2。

  • 第9题:

    若有如下程序:sub(int a,int b,int*z){*z=a+b;return;}main(){int a=1,b=2,C=3,d,e;sub(a,b,&

    若有如下程序: sub(int a,int b,int*z) { *z=a+b; return; } main() { int a=1,b=2,C=3,d,e; sub(a,b,&d); sub(C,d,&e); printf("%d",e); } 则程序运行后的输出结果是( )。

    A.3

    B.4

    C.5

    D.6


    正确答案:D
    解析:第一次调用函数sub返回后,d的值为2+1=3;第二次调用函数sub返回后,e的值为3+3=6。

  • 第10题:

    写出程序的运行结果。 #include main() { inta,b; scanf(”%d%d",&a,&b); if(++a>=b) printf(”Yes”); printf("a+b=%d/n",a+b); } 如果输入:a=6,b=8,则输出结果是()。


    正确答案:a+b=15

  • 第11题:

    填空题
    以下程序运行后的输出结果是()。      main( )  {int a=1,b=3,c=5;      if(c=a+b)     printf(“yes”);      else  printf(“not”);  }

    正确答案: yes
    解析: 暂无解析

  • 第12题:

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

    0,0

    B

    1,0

    C

    3,2

    D

    1,2


    正确答案: B
    解析:
    main函数先为a、b赋值,然后做运算a+b结果赋值给b,此时b为1,并将b打印出来。接着做运算2*b结果为2*1=2赋值给a,将a打印出来,所以最终的输出结果为1,2。答案选择D选项。

  • 第13题:

    以下程序输出结果是( )。 main { int m=5; if(m++>5)printf("%d\n",m): else printf("%d\n",m--); }

    A.7

    B.6

    C.5

    D.4


    正确答案:B
    m++的意思是先用m的值再自加1,所以表达式的值为5,m为6,此时if语句条件m++>5不成立,执行else语句,则输出m--的值为6,而此时m为5,故选择B选项。

  • 第14题:

    有以下程序:include main( ){ unsigned int a; int b=-1;a=b;printf(" % u", a);程序

    有以下程序: #include <stdio. h> main( ) { unsigned int a; int b=-1; a=b; printf(" % u", a);程序运行后的输出结果是( )。

    A.-1

    B.65535

    C.32767

    D.-32768


    正确答案:B
    解析:不同类型的对象进行混合运算时,需要进行数据的类型转换,其转换方向为int→unsigned→long→double。本题程序中的变量b为int型,需要转换为unsigned型。int型变量的数值范围为-32768~32767,最高位为符号位,而unsigned所表示的数的范围为0~65535,它的最高位为数值位。由于内存中是以补码形式存储数据的,所以整型数-1在内存中表示为16个1,最高位的1表示符号为负,将它转换为unsigned类型,即将原符号位的1看成数值,所以得到16个数值1,即65535。

  • 第15题:

    以下程序运行后的输出结果是 ______。 main() { int a=1,b=2,c=3; if(c=a) printf("%d\n",c); else printf("%d\n",b); }

    A.2

    B.3

    C.5

    D.1


    正确答案:B
    解析:根据if条件,语句c=a的值为1,因此输出c值为3。

  • 第16题:

    以下程序运行后的输出结果是int a=5;fun(int b){ static int a=10; a+=b++; printf("%d, ",a);}main{ int c=20; fun(c); a+=c++; printf("%d\n",a);}


    正确答案:30,25
    在本题中,程序首先定义了一个整型全局变量a,全局变量的作用域为整个程序。然后定义了一个fun函数,函数带有一个整型变量作为形参,在函数体中,首先定义了一个静态变量a,与全局变量a同名,在这种情况下,在函数fun中静态变量a具有更高的使用优先级,而在主函数中,全局变量a具有更高的使用优先级。
    在主函数中,首先定义一个整型变量c并初始化为20,然后调用fun函数,将变量c作为实参传递给函数,执行a+=b++,等价于a=a+(b++)=10+20=30,然后执行输出语句,输出变量a的结果“30,”,然后程序回到主函数中的a+=c++;语句执行,此语句等价于a=a+(c++)=5+20=25,然后输出变量a的结果25。因此,本题的程序运行后的输出结果是30,25。

  • 第17题:

    有以下程序: #include<stdiO.h> main( ) {int a=1,b=0; printf("%d,",b=a+b); printf("%d\n",a=2+b); ‘’ } 程序运行后的输出结果是( )。

    A.0,0

    B.1,3

    C.3,2

    D.1,2


    正确答案:D
    本题输出两个值,第一个printf语句输出b的值b=a+b=1。第二个printf语句输出了a的值,a=2b,此时b的值为1,所以a的值为2。

  • 第18题:

    有以下程序

    #include <stdio.h>

    void func(int n)

    { int i;

    for(i=0;i<=n;i++) printf(”*”);

    printf(”#”).

    }

    main( )

    { func(3); printf(”???? ”); func(4); printf(”\n”); }

    程序运行后的输出结果是

    A)****#????***#

    B)***# ????*** *#

    C)**#????*****#

    D)****#????*****#


    正确答案:D
    【答案】D
    【知识点】函数调用中形参与实参的关系
    【解析】第一次调用实参为3,所以形参变量n为3,打印四个*号后打印一个#号。然后在主函数中打印四个?。再次调用func函数,实参值为4,所以形参n的值为4,按照循环,打印五个*号后结束循环,再打印一个#号。

  • 第19题:

    以下程序的输出结果是_______。includemain(){ int i;for(i=1;i<5;i++){ if(i%2)printf

    以下程序的输出结果是_______。 #include<stdio.h> main() { int i; for(i=1;i<5;i++){ if(i%2)printf("*"); else continue; printf("#"); } printf("$\n"); }

    A.*#*#*#$

    B.#*#*#*$

    C.*#*#$

    D.#*#*$


    正确答案:C
    解析:当i不可以整除2时打印“*”然后打印“#”,不能整除2则执行continue,跳挝printf("#");语句,结束本次循环,返回到循环的起始点。当循环结束后,打印“$”。

  • 第20题:

    阅读程序: main( ) {int x; scanf("%d',& x); if (x- -<5)printf("%d\n",x); else printf("%d\、n",x+ +); } 程序运行后,如果从键盘上输入5,则输出结果是 ( )

    A.3

    B.4

    C.5

    D.6


    正确答案:B

  • 第21题:

    以下程序运行后的输出结果是()。      main( )  {int a=010,b=2,c;      c=a+b;  printf(“%d”,c);      }


    正确答案:10

  • 第22题:

    单选题
    有以下程序:#includemain(){ int i; for(i=1;i<=5;i++) {  if(i%2)printf(*);  else continue;  printf(#); } printf($);}程序运行后的输出结果是(  )。
    A

    *#*#*#$

    B

    *#*#*$

    C

    *#*#$

    D

    *#*#*#*$


    正确答案: A
    解析:
    本题执行过程为:i=1,1%2=1,if条件成立,输出*与#;i=2,2%2=0,if条件不成立,执行continue结束本次循环,执行下一次循环;i=3,3%2=1,输出*与#;i=4,4%2=0,执行continue,开始下一次循环;i=5,5%2=1,输出*与#;i=6退出循环。最后输出$。答案选择A选项。

  • 第23题:

    填空题
    以下程序运行后的输出结果是()。      main( )  {int a=010,b=2,c;      c=a+b;  printf(“%d”,c);      }

    正确答案: 10
    解析: 暂无解析