更多“以下程序的输出结果是 main() { int a=5,b=4,c=6,d; printf((“%d\n”,d=a>b?)(a>c?a:c):(b)); }A.5B.4C.6D.不确定”相关问题
  • 第1题:

    以下程序的输出结果是 ( ) main( ) {int a=5,b=4,c=6,d; printf(”%d\n",d=a>b?(a>c?a:c):(b)); }

    A.5

    B.4

    C.6

    D.不确定


    正确答案:C

  • 第2题:

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

  • 第3题:

    以下程序的输出结果是() include main( ) { int a,b; for(a=1,b=1,a<=50;a+ +)

    以下程序的输出结果是 ( ) # include<stdio.h> main( ) { int a,b; for(a=1,b=1,a<=50;a+ +) { if(b>=10) break; if (b%2==1) { b+=2; continue } b+=2; } printf("%d\n",a); }

    A.4

    B.5

    C.6

    D.7


    正确答案:C

  • 第4题:

    以下程序的输出结果是 ______。 main() int a=3; printf("%d\n",(a+=a=a=a*a) ; }

    A.-6

    B.1

    C.2

    D.-12


    正确答案:D
    解析:赋值运算符的结合方向是自右至左,所以表达式a+=a-=a*a先运算最右边的a*a得9,再运算a=a-9,即a=3-9,所以此时a的值由3变成了-6,最后运算a=a+(-6),即a=(-6)+(-6)=-12。

  • 第5题:

    以下程序段的输出结果是 ______。int a=5,b=4,c=6,d;cout<<(d=a>b?(a>c?a:c):b);A.5B.4C.6D.不确

    以下程序段的输出结果是 ______。 int a=5,b=4,c=6,d; cout<<(d=a>b?(a>c?a:c):b);

    A.5

    B.4

    C.6

    D.不确定


    正确答案:C

  • 第6题:

    以下程序的输出结果是【】。 include main() {struct stru {int a; float b; char d[4]; }

    以下程序的输出结果是【 】。

    include<stdio.h>

    main()

    { struct stru

    { int a;

    float b;

    char d[4];

    };

    printf("%d\n",sizeof(struct stru));

    }


    正确答案:10
    10 解析:结构体变量占用内存空间的字节数是结构体各分量占用内存空间的字节数的总和。int型变量占用2字节,float型变量占用4字节,char型占用1字节,char d[4]是含有4个元素的char型数组,占用4字节。sizeof(struct stru)是计算结构体变量占用内存空间的字节数,2+4+4=10。

  • 第7题:

    以下程序的输出结果是()。includemain(){int n=4; while(n--) printf("%d",--n);}A.2 0

    以下程序的输出结果是( )。 #include <stdio.h> main() { int n=4; while(n--) printf("%d ",--n); }

    A.2 0

    B.3 1

    C.3 2 1

    D.2 1 0


    正确答案:A
    解析:n--是先使用后自减,--n是先自减后使用。n=4时,执行n--后,n变为3,执行--n后,n变为2,所以,第一次输出时,n为2;同上过程,第二次输出时,n为0。

  • 第8题:

    以下程序的输出结果是______。 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++>5,即5>5不成立,此时m=6,执行else后面的语句,输出6后再m--使得m又等于5了。

  • 第9题:

    下列程序执行后输出的结果是( )。 int d=1; fun (int p) { int d=5; d + =p + +; printf("%d,",d); } main( ) { int a=3; fun(a); d + = a + +; printf("%d\n",d); }

    A.8, 4

    B.9, 6

    C.9, 4

    D.8, 5


    正确答案:A

  • 第10题:

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

  • 第11题:

    以下程序的输出结果是______。 inlude main() { int a=2,b=5; printf("a=%%d,b=%%d\n",

    以下程序的输出结果是______。 #inlude<stdio.h> main() { int a=2,b=5; printf("a=%%d,b=%%d\n",a,b); }

    A.a=2,b=5

    B.a=%2,b=%5

    C.a=%%d,b=%%d

    D.a=%d,b=%d


    正确答案:D

  • 第12题:

    以下程序的输出结果是()。includeint fan(int);main(){int w=5; fun(w);printf("\n");}

    以下程序的输出结果是( )。 #include <stdio.h> int fan(int); main() { int w=5; fun(w); printf("\n"); } fun(int k) { if(k>0) fun(k-1); printf("%d",k); }

    A.5 4 3 2 1

    B.0 1 2 3 4 5

    C.1 2 3 4 5

    D.5 4 3 2 1 0


    正确答案:B
    解析:本题考查函数的递归调用。fun函数共被调用6次,即fun(5)、fun(4)、fun(3)、fun(2)、fun(1)、fun(0),其中fun(5)是main函数调用的,其余是在fun函数中调用的。

  • 第13题:

    以下程序的输出结果是()includemain(){struct stru{int a,b:char c[6];}:printf("%d\n

    以下程序的输出结果是 ( ) #include<stdio.h> main() {struct stru{int a,b: char c[6]; }: printf("%d\n",sizeof(stru)), }

    A.2

    B.4

    C.8

    D.10


    正确答案:D

  • 第14题:

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

  • 第15题:

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

  • 第16题:

    以下程序的输出结果是()。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时将结束本次循环,进入到下一次循环。当循环结束后,输出$。

  • 第17题:

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

  • 第18题:

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

  • 第19题:

    有以下程序

    #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,按照循环,打印五个*号后结束循环,再打印一个#号。

  • 第20题:

    有以下程序: #include<stdio.h> void func(int n) { static int num=1); num=num+n;printf("%d",num); } main( ) { funo(3);func(4);printf("n"); } 程序运行后的输出结果是( )。

    A.4 8

    B.3 4

    C.3 5

    D.4 5


    正确答案:A
    第一调用func函数时输出4,第二次调用func函数时num的值并不会释放,仍然是上次修改后的值4,第二次调用结果为8,所以输出结果是48。

  • 第21题:

    以下程序的输出结果是______。 include main() { int a=5,b=4,c=6,d; printf("%d\n",d=

    以下程序的输出结果是______。 #include<stdio.h> main() { int a=5,b=4,c=6,d; printf("%d\n",d=a>b?(a>c?a:c):(b)); }

    A.5

    B.4

    C.6

    D.不确定


    正确答案:C

  • 第22题:

    下列程序的输出结果是()。 include main() {int a=4; printf("%d\n",(a+=a-=a*A) ); }A

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

    #include<stdio.h>

    main()

    { int a=4;

    printf("%d\n",(a+=a-=a*A) );

    }

    A.-8

    B.14

    C.0

    D.-24


    正确答案:D
    解析:表达式a+=a-=a*a看起来复杂,其实将它分成两个表达式来计算就简单了:①第一个表达式(a-=a*a)=(a=a-a*a=-12);②第二个表达式 (a+=a-=a*a)=(a=a+a=-24)。

  • 第23题:

    以下程序的输出结果是 ( ) main( ) {int a=3; printf("%d\n",(a + =a - =a * a)); }

    A.-6

    B.12

    C.0

    D.-12


    正确答案:D

  • 第24题:

    下列程序的输出结果是().  main()  {int  a=7,b=5;   printf("%d/n",b=b/a);  }

    • A、0
    • B、5
    • C、1
    • D、不确定值

    正确答案:A