更多“程序 include void main( ) { int a=1,b=2,c=3; if(a>b) { if(b>c) c=5; else c-=a; } printf(“%d\n”, c); } 执行后的输出结果是( ) A.0B.2C.3D.5”相关问题
  • 第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题:

    有以下程序 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语句中的表达式“c-1>=d”的值为逻辑值1,所以该条件成立。

  • 第3题:

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

  • 第4题:

    有以下程序:include void sum(int *a){a[0]=a[1];}main(){int aa[10]={1,2,3,4,5,6,7,

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

    A.4

    B.3

    C.2

    D.1


    正确答案:A
    解析:该程序通过main函数循环凋用sum函数。当i=2时,将实参aa[2]的地址传递给形参,此时a[0]=a[1]=aa[3]=4,即aa[2]=4;当i=1时,将实参aa[1]的地址传递给形参,此时a[0]=a[1]=aa[2]=4,即aa[1]=4;当i=0时,将实参aa[0]的地址传递给形参,此时a[0]=a[1]=aa[1]=4,即aa[0]=4;当i=-1时,不满足条件i>=0,跳出循环,程序执行后数组aa中的值为4,4,4,4,5,6,7,8,9,10,所以aa[0]=4。

  • 第5题:

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

  • 第6题:

    下列程序的输出结果是()。 include int fun(int x) {int a;if(x==0‖x==1) return 3;els

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

    A.2

    B.8

    C.9

    D.5


    正确答案:A
    解析:本题考查函数的递归调用。在函数递归调用时,fun(7):a=7-fon(5)→fun(5):a=5-fon(3)→fun3:a=3-fun(1)→fun(1):a=3,反推回去 fun(3):a=3-3=0→fun(5):a=5-0=5→fun(7):a=7-5-2,最后的计算结果为2。

  • 第7题:

    若执行下列程序时从键盘上输入2,则输出结果是()。 inclUde main() {int a; scanf("%d",

    若执行下列程序时从键盘上输入2,则输出结果是( )。

    #inclUde<stdio.h>

    main()

    {int a;

    scanf("%d",&A);

    if(a++<3)

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

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

    }

    A.1

    B.3

    C.2

    D.4


    正确答案:B
    解析:本题考查if else语句。程序中首先使用函数scanf()通过键盘读入a的值,并通过第1个if语句,先判断条件,取a的值2和3比较,然后将a的值加1,发现条件成立,执行下列的printf语句,输出a的值3。

  • 第8题:

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

    A.1 2 5 6

    B.5 6 3 4

    C.5 6 1 2

    D.3 4 5 6


    正确答案:B
    Funl是输出局部变量的值,fun2是把全局变量的值改成3和4,所以输出的结果是5634。

  • 第9题:

    有以下程序,程序执行后,输出结果是【】include void fun(int*A) {a[0]=a[1];} main() {i

    有以下程序,程序执行后,输出结果是【 】

    include<stdio.h>

    void fun(int*A)

    { a[0]=a[1];}

    main()

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

    for(i=2;i>1=0;i-) fun(&a[i]);

    for(i=0;i<10;i++) printf("%d,a[i]);

    printf("\n");

    }


    正确答案:7777654321
    7777654321 解析:本题主要考查函数的调用,第—次调用把数组元素a[2]的地址赋给a,此时a[1]即是原数组的a[3]等于7,再执行赋值语句a[0]=a[1],则a[0]和a[1]中的值都是7,然后再把这个值返回给a[2]同样地第二次调用的时候函数返回值也是7,第三次调用返回值也是7,因此数组的前4个元素,即对a[0]、a[1]、a[2]和a[3]的值都为7,当执行第二个for循环时输出数组中所有元素的值7777654321。

  • 第10题:

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

  • 第11题:

    有以下程序:include <stdio.h>int a=1,b=2:void funl(int a,int b){printf( "%d%d&qu

    有以下程序:

    include <stdio.h>

    int a=1,b=2:

    void funl(int a,int b)

    {printf( "%d%d",a,b); }

    void fun2( )

    { a=3;b=4; }

    main( )

    { funl(5,6);fun2( );

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

    }

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

    A.1 2 5 6

    B.5 6 3 4

    C.5 6 1 2

    D.3 4 5 6


    正确答案:B

    Funl是输出局部变量的值,fun2是把全局变量的值改成3和4,所以输出的结果是5634。

  • 第12题:

    以下程序的输出结果是( )。 include void swap(int*a,int*B){int*t; t=a;a=b;b=c;} main

    以下程序的输出结果是( )。 include<stdio.h> void swap(int*a,int*B){int*t; t=a;a=b;b=c;} main() {int i=3,j=5,*p=&i,*q=&j; swap(p,q);printf("%d %d\n",*p,*q); }


    正确答案:3 5
    3 5 解析:本题考查函数中形参和实参的传递。在C语言函数中实参和形参传递具有不可逆性,参数只能由实参传向形参,而不能由形参传向实参,虽然swap函数的功能是实现两个数的交换,但由于没有返回值,故最终的输出结果为3 5。

  • 第13题:

    下列程序的输出结果是()。 include VOid p(int *x) {printf("%d",++*x); } void main()

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

    #include<stdio.h>

    VOid p(int *x)

    { printf("%d",++*x);

    }

    void main()

    { int y=3;

    p(&y);

    }

    A.3

    B.4

    C.2

    D.5


    正确答案:B
    解析:本题考查函数调用时的参数传递。在函数调用时,形参是指向实参的指针变量,则printf的执行结果为3+1=4。

  • 第14题:

    下列程序的输出结果是()。includevoid p(int *x){printf("%d",++*x);}void main(){int

    下列程序的输出结果是( )。 #include<stdio.h> void p(int *x) { printf("%d",++*x); } void main() { int y=3; p(&y); }

    A.3

    B.4

    C.2

    D.5


    正确答案:B
    解析:本题考查函数调用时的参数传递。在函数调用时,形参是指向实参的指针变量,则printf的执行结果为3+1=4。

  • 第15题:

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

  • 第16题:

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

  • 第17题:

    以下程序的输出结果是 include long fun(int n) {long s;if(n=1||n=2)s=2; else s=

    以下程序的输出结果是 #include<iostream.h> long fun(int n) { long s; if(n=1||n=2)s=2; else s=n-fun(n-1); return s; } void main( ) { cout<<fun(3);}

    A.1

    B.2

    C.3

    D.4


    正确答案:A
    解析:题中fun函数进行了递归调用,第1次调用:fun(3)n=3 s=3-fun(2),第二次调用时: fun(2)n=2 s=2,返回第一次调用后,s=3-2=1。

  • 第18题:

    下列程序执行后的输出结果是()。includevoid func1(int i);void func2(int i);char st[

    下列程序执行后的输出结果是( )。 #include<stdio.h> void func1(int i); void func2(int i); char st[]="hello,friend!"; void funcl(int i) { printf("%c",st[i]); if(i<3){i+=2;func 2(i);} } void func 2(int i) { printf("%c",st[i]); if(i<3){i+=2;funcl(i);} } main() { int i=0; funcl(i);printf("\n"); }

    A.hello

    B.hel

    C.hlo

    D.hlm


    正确答案:C
    解析:本题首先调用函数funcl(0),输出st[0]=h,i值变为2,再调用函数func2(2),输出st[2]=1,此时i3,执行i+=2,i值变为4,然后再调用函数funcl(4),输出st[4]=o,此时i值大于3,函数调用结束。因此,输出结果为hlo。

  • 第19题:

    有以下程序includemain(){ int a=1,b=2,c=3,d=0;if(a=1&& b++=2)if(b!=2||c-!

    有以下程序 #include <stdio.h> main() { int a=1,b=2,c=3,d=0; if(a=1&& b++=2) if(b!=2||c-!=3) printf("%d,%d,%d\n",a,b,c); else printf(%d,%d,%d\n",a,b,c); else printf("%d,%d,%o\n",a,b,c); } 程序运行后的输出结果是______。

    A.1,2,3

    B.1,3,2

    C.1,3,,3

    D.3,2,1


    正确答案:C
    解析:本题主要考查的是自加,自减运算符以及逻辑运算符的应用,需要注意“&&”和“||”的“短路”运算。当运算符“&&”左边表达式的值为0时,则右边表达式就不再进行运算,整个表达式的值即为0;当运算符“||”左边表达式的值为非零时 ,则右边表达式就不再进行运算,整个表达式的值为1。
    程序首先对变量a、b、c初始化,然后执行第一个个if语句,计算表达式“a=1&&b++=2”的值,因为a=1,所以左边表达式的值为1,因此接着判断b++=2是否成立,由于b++表示在使用用后再将b加1,因此b++=2的值为1所以表达式a=1&&b++=2的值为1,即if语句的条件成立。接着执行第二个if语句,计算表达式“b!=2||c-!=3”的值,因b=3 ,所以b!=2的值为1,则表达式c-!=3就不再进行运算,整个表达式的值为1,因为第二个if语句的条件成立,执行其后的printf("%d,%d,%d\n",a,b,c) 语句,输出变量a、b、c的值,此时a=1、 b=1、c=3,因此输出1,3,3。

  • 第20题:

    下列程序的输出结果是()。includeint fun(int x){int p; if(x==0‖x==1)return 3; elsep

    下列程序的输出结果是( )。 #include<stdio.h> int fun(int x) { int p; if(x==0‖x==1) return 3; else p=x-fun(x-2); return p; } void main() { printf("\n%d",fun(5)); }

    A.5

    B.3

    C.7

    D.1


    正确答案:A
    解析: 本题考查函数的递归调用。在函数递归调用时,fun(5):a=5-fun(3)->fun3:a=3-fun(1)->fun(1):a=3,反推回去fun(3):a=3-3=0->fun(5):a=5-0=5,最后的计算结果为5。

  • 第21题:

    下列程序的输出结果是【】。 include void main() { int i(1),j(2),k(3),a(10); if(!i

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

    include<iostream.h>

    void main()

    {

    int i(1),j(2),k(3),a(10);

    if(!i)

    a--;

    else if(j)

    if(k)a=5;

    else

    a=6;

    a++;

    cout<<a<<endl;

    if(i<j)

    if(i!=3)

    if(!k)

    a=1;

    else if(k)

    a=5;

    6+=2;

    cout<<a<<endl;


    正确答案:6 7
    6 7

  • 第22题:

    以下程序的输出结果是_______。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("#");语句,结束本次循环,返回到循环的起始点。当循环结束后,打印“$”。

  • 第23题:

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