niusouti.com
更多“11、以下程序输出结果为_______ main() { int x=100, a=10, b=20, ok1=5, ok2=0; if(a<b) if(b!=15) if(! ok1) x=1; else if(ok2)x=10; else x=-1; else x=2; printf("%d\n",x); }”相关问题
  • 第1题:

    有以下程序: int fun(int n) {if(n==1)return 1; else return(n+fun(n-1)); } main() {int x; scanf("%if",&x);x=fun(x);printf("%d\n",x); } 执行程序时,给变量X输入10,程序的输出结果是( )。

    A.55

    B.54

    C.65

    D.45


    正确答案:A
    解析:函数fun()通过递归调用实现的功能为n+(n-1)+…+1,故程序的输出结果为55。

  • 第2题:

    有以下程序: #include<stdio.h> main( ) {int x=1,y=0; if(!x)y++; else if(x==0) if(x)y+=2; else y+=3; Drintf("%d\n"。v); } 程序运行后的输出结果是( )。

    A.3

    B.2

    C.1

    D.0


    正确答案:D
    因为x!=0,所以下列的循环不执行,只执行y++,最后结果为0。

  • 第3题:

    下列程序的运行结果是()。includemain(){int a=0,b=4,c=0,d=10,x; if(a)d=d-10; elseif

    下列程序的运行结果是( )。 #include<stdio.h> main() { int a=0,b=4,c=0,d=10,x; if(a) d=d-10; else if(!b) if(!c) x=15; else x=25; printf("%d\n",d); }

    A.5

    B.3

    C.20

    D.10


    正确答案:D
    解析:本题考查ifelse语句。第1个if语句,先判断条件,发现a=0条件不成立,则执行与其配对的else语句;第2个if语句,先判断条件,发现b=4,则!b条件不成立,又没有与其配对的else语句,所以执行printf语句,输出d。

  • 第4题:

    有如下程序main(){ float x=2.0,y;if(x<0.0)y=0.0;else if(x>10.0)y=1.O/x;else y=1.0;printf("%

    有如下程序 main() { float x=2.0,y; if(x<0.0)y=0.0; else if(x>10.0)y=1.O/x; else y=1.0; printf("%f\n",y);} 该程序的输出结果是

    A.0

    B.0.25

    C.0.5

    D.1


    正确答案:D
    解析:本题考查if语句中的一种表达方式,即:if…elseif…。该表达式的语句是:if(表达式1)语句1elseif(表达式2)语句2elseif(表达式3)语句3else语句4……本题执行elsey=1.0,并且以“%f”输出。注意:条件表达式在if语句中的使用。

  • 第5题:

    有以下程序int fun(int n) { if(n==1) return 1; else return(n+fun(n-1));}main(){ int x; scanf("%d",&x); x=fun(x); printf("%d\n",x);}执行程序时,给变量x输入10,程序的输出结果是A.55 B.54 C.65 D.45


    正确答案:A
    本题主要考查函数的递归调用。在做递归调用函数类型的题目时,我们首先要找到函数的出口和递归结束的条件。
    在本题中,程序首先定义了一个fun函数,函数的形参是一个整型变量n,从后面的程序可以看出,该函数是一个递归函数。在函数体中,首先执行条件判断语句,如果条件结果为真,说明变量n为1,此时返回1,这是递归函数的出口;否则返回函数的递归调用。
    在主函数中,定义一个变量x,并试图通过键盘输入的方式为变量x赋初值,然后调用fun函数,并用x作为其形参,用x保存最后的运行结果输出。
    变量x的初值为10,从上面的分析我们知道,递归调用的出口是n=1,而每递归一次n的值减1,因此,函数fun递归调用了9次,其运算相当于10+9+8+7+6+5+4+3+2+1=55。因此,程序最终的输出结果是55。

  • 第6题:

    有以下程序:includeint fun(int x,int y){if(x==y)return(x);else return((x+y)/2);}m

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

    A.2

    B.3

    C.4

    D.5


    正确答案:A

  • 第7题:

    有以下程序

    #inclUde<stdio.h>

    main()

    {int x=1。y=0;

    if(!x)y++;

    else if(x==0)

    if(x)y+=2;

    else y+=3; .

    printf(“%d\n”,y);

    }

    程序运行后的输出结果是

    A.3

    B.2

    C.1

    D.0


    正确答案:D
    解析:本题主要考查的知识点为if语句的嵌套.变量x的值(为1。既不满址表达式!x为真.也不满足表达式x==0.故不执行if语句,而直接执行printf函数输出y的值0。 

  • 第8题:

    以下程序运行后的输出结果是main(){ int x=15; while(x>10&&x<50) { x++; if(x/3) { x++; break; } else continue; } printf("%d\n",x);}


    正确答案:17
    当x=15时,while条件为真,执行x++;,这时x的值为16,if条件为真,执行x++;后跳出循环体,此时x的值为17。

  • 第9题:

    【程序】

    SET TALK OFF

    INPUT “X=” TO X

    DO CASE

    CASE X>10

    ?“OK1”

    CASE X>20

    ?“OK2”

    OTHERWISE

    ?“OK3”

    ENDCASE

    SET TALK ON

    RETURN

    程序运行时输入X值为9,则显示结果为 ______。

    A.“OK1”

    B.OK1

    C.“OK2”

    D.“OK3”


    正确答案:D
    解析:当输入9时,所有分支条件都不成立,则执行OTHERWISE与ENDCASE之间的命令序列,即输出“OK3”。

  • 第10题:

    下面程序 main() { int x=100,a=10,b=20,ok1=5,ok2=O; if(a<B) if(b!=15) if(!ok1) x=1; else if(ok2)x=10; x=1; printf("%d\n",x); } 的输出是______。

    A.-1

    B.0

    C.1

    D.不确定的值


    正确答案:A
    解析:第一个判断值为真,过渡到下一个判断,第二个判断为真,过渡到第三个判断……如此循环,在打印输出语句的前一行,程序给变量x赋了值,办-1,所以,无论前期如何变化,最后的x值依然为-1。

  • 第11题:

    (27)有以下程序

    #include <stdio.h>

    main()

    { int x=1,y=0;

    if(!x) y++;

    else if(x==0)

    if (x) y+=2;

    else y+=3;

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

    }

    程序运行后的输出结果是

    A)3

    B)2

    C)1

    D)0


    正确答案:D

  • 第12题:

    单选题
    有以下程序#include int fun(int n){ if(n==1)  return 1; else  return(n+fun(n-1));}main(){ int x; scanf(%d,&x); x=fun(x); printf(%d,x);}执行程序时,给变量x输入10,程序的输出结果是(  )。
    A

    55

    B

    54

    C

    65

    D

    45


    正确答案: C
    解析:
    fun函数是一个递归函数,用于求整数1到n的和。因此,主函数中最后输出1到10之间的整数和,即55。答案选择A选项。

  • 第13题:

    下面程序的输出是

    main( )

    {int x=100,a=10,b=20,ok1=5,ok2=0;

    if(a<B)

    if(b!=15)

    if(!okl)

    x=1;

    else

    if(ok2)x=10;

    x=-1;

    cout<<x<<endl;

    }

    A.-1

    B.0

    C.1

    D.不确定的值


    正确答案:A
    解析:本题考察if语句的嵌套,else总是与最近的那个if配对,只要考生按照逻辑表达式的值进行细心判断就可.以得到正确的答案。考生需要注意的是,在C++语言中,0表示假,非0即为真,因此可以用数字作为逻辑判断的依据。

  • 第14题:

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

    A.输出:* * * *

    B.输出:# # #

    C.#存在语法错误

    D.无输出结果


    参考答案B

  • 第15题:

    下面程序 main() { int x=100, a=10, b=20, ok1=5, ok2=0; if(a<b) if(b!=15) if(!ok1) x=1; else if(ok2)x=10; x=1; printf("%d\n",x); } 的输出是______。

    A.-1

    B.0

    C.1

    D.不确定的值


    正确答案:A
    解析:第—叫判断值为真,过度到下—个判断,第二个判断为真,过度到第三个判断……如此循环,在打印输出语句的前—行,程序给变量x赋了值,为-1,所以,无论前期如何变化,最后的x值依然为-1。

  • 第16题:

    下面程序 main() { int x=100,a=10,b=20,okl=5,ok2=0; if(a<B) if(b!=15) if(!ik1) x=1; else if(ok2)x=10; x=-1; printf("%d\n",x); } 的输出是______。

    A.-1

    B.0

    C.1

    D.不确定的值


    正确答案:A
    解析:第—判断值为真,过渡到下一个判断,第二个判断为真,过渡到第三个判断……如此循环,在打印输出语句的前—行,程序绐变量x赋了值,为-1,所以,无论前期如何变化,最后的x值依然为-1

  • 第17题:

    下面程序的输出是 main() {int x=100, a=10, b=20, ok1=5, ok2=0; if(a<b) if(b! =15) if( ! ok1) else if(ok2) x= 10 x=-1 cout<<x<<end1; }

    A.-1

    B.0

    C.1

    D.不确定的值


    正确答案:A
    解析:本题考察订语句的嵌套,else总是与最近的那个if配对,只要考生按照逻辑表达式的值进行细心判断就可以得到正确的答案。考生需要注意的是,在C++语言中,0表示假,非0即为真,因此可以用数字作为逻辑判断的依据。

  • 第18题:

    下列程序的运行结果是()。includemain(){ int a=0,b=4,c=0,d=10,x;if(a) d=d-10;else i

    下列程序的运行结果是( )。 #include<stdio.h> main() { int a=0,b=4,c=0,d=10,x; if(a) d=d-10; else if(!b) if(!c) x=15; else x=25; printf("%d\n",d); }

    A.5

    B.3

    C.20

    D.10


    正确答案:D
    解析:本题考查if else语句。第1个if语句,先判断条件,发现a=0条件不成立,则执行与其配对的else语句;第2个if语句,先判断条件,发现b=4,则!b条件不成立,又没有与其配对的else语句,所以执行printf语句,输出d。

  • 第19题:

    以下程序的输出结果是main(){ int x=100,a=10,b=20,ok1=5,ok2=0; if(a<b)if(b!=15)if(!ok1)x=1; else if(ok2)x=10; else x=-1; printf("%d\n",x);}


    正确答案:-1
    本题主要考查if语句的嵌套调用。程序首先定义了五个整型变量,并分别赋初值,然后开始指向if语句,第一条if语句if(a<b)的结果为真,那么执行第二条if语句if(b!=15),结果也为真,接着执行第三条if语句if(!ok1),由于变量ok1的值为5,那么!ok1的结果为0,条件语句结果为假,执行else结构的程序if(ok2),结果仍然为假,执行x=-1;语句,将变量x的值变为-1,到这里,if嵌套调用结束。然后程序输出变量x的值,因此,程序输出的结果为-1。

  • 第20题:

    有以下程序

    #include

    main()

    { int x=1,y=0;

    if(!x) y++;

    else if(x==0)

    if (x) y+=2;

    else y+=3;

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

    }

    程序运行后的输出结果是

    A.3

    B.2

    C.1

    D.0


    正确答案:D

  • 第21题:

    下面程序输出的结果是( )。 main() { int x=100,a=10,b=20,ok1=5,ok2=0; if(a<b) if(b!=15) if(!ok1) x=-i; else if(ok2) x=10; x=1; printf("%d\n",x); }

    A.-1

    B.0

    C.1

    D.不确定的值


    正确答案:C
    解析:如果没有大括号,else总是与它上面的最近的if配对。所以本题中的elseif(ok2)是与if(!ok1)配对的,首先因为ab成立所以进一步判断b!=15也成立,再进一步判断!ok1,为假,不执行子句X=-1;继续判断ok2是否为真,ok2亦为假,故子句x=10;也不执行,最后让x=1;输出x,所以结果应该选择C。

  • 第22题:

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

    main( )

    { int x=15;

    while(x>10 &&x<50)

    { x++;

    if(x/3){ x++;break;}

    else continue;

    }

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

    }


    正确答案:17
    17

  • 第23题:

    请为下面的程序设计符合判定覆盖的测试用例。 int main() { int a,b,c,x,y,z,t; scanf(“d%,d%,d%”,&a,&b,&c,&t); if a>5 && t<1 x=10 else x=1; if b>10 y=20 else y=2; if c>15 z=30 else z=3; printf(“d%,d%,d%/n”,x,y,z) }


    正确答案: a>5,t=0
    a<=5,t=0
    b>10
    b<=10
    c>15
    c<=15

  • 第24题:

    单选题
    有以下程序:#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选项。