更多“t为int类型,进入下面的循环之前,t的值为0。则下列说法中正确的是( )。 while(t=1){…}A.循环控制表 ”相关问题
  • 第1题:

    t为int类型,进入下面的循环之前,t的值为0。则下列说法中正确的是( )。 while(t=1){…}

    A.循环控制表达式的值为0

    B.循环控制表达式的值为1

    C.循环控制表达式不合法

    D.以上说法都不对


    正确答案:B
    解析: 本题考核对while循环及逻辑表达式的理解。循环控制表达式为赋值表达式t=1,水远为1(为具)。

  • 第2题:

    设有程序段t=0;while(printf("*")){t++;if(t3)break;}下面描述正确的是()。

    A.其中循环控制表达式与0等价

    B.其中循环控制表达式与'0'等价

    C.其中循环控制表达式是不合法的

    D.以上说法部不对


    正确答案:B

  • 第3题:

    阅读下列函数说明和C代码,将应填入(n) 处的字句写在对应栏内。

    【说明】

    函数print(BinTreeNode*t; DateType &x)的功能是在二叉树中查找值为x的结点,并打印该结点所有祖先结点。在此算法中,假设值为x的结点不多于一个。此算法采用后序的非递归遍历形式。因为退栈时需要区分右子树。函数中使用栈ST保存结点指针ptr以及标志tag,Top是栈顶指针。

    【函数】

    void print( BinTreeNode * t; DateType &x) {

    stack ST; int i, top; top = 0;//置空栈

    while(t! = NULL &&t-> data!= x || top!=0)

    { while(t!= NULL && t-> data!=x)

    {

    /*寻找值为x的结点*/

    (1);

    ST[top]. ptr = t;

    ST[top]. tag = 0;

    (2);

    }

    if(t!= Null && t -> data == x) { /*找到值为x的结点*/

    for(i=1;(3);i ++)

    printf("%d" ,ST[top]. ptr ->data);

    else {

    while((4))

    top--;

    if(top>0)

    {

    ST[top]. tag = 1;

    (5);

    }

    }

    }


    正确答案:(1)top++ (2)t=t->leftChild (3)i=top (4)top>0 && ST[top].tag=1 (5)t=ST[top].ptr->rightChild
    (1)top++ (2)t=t->leftChild (3)i=top (4)top>0 && ST[top].tag=1 (5)t=ST[top].ptr->rightChild 解析:这个程序是一个典型二叉树后序遍历非递归算法的应用。算法的实现思路是:先扫描根结点的所有左结点并入栈;当找到一个结点的值为x,则输入出栈里存放的数据,这些数据就是该结点所有祖先结点;然后判断栈顶元素的右子树是否已经被后序遍历过,如果是,或者右子树为空,将栈顶元素退栈,该子树已经全部后序遍历过;如果不是,则对栈顶结点的右子树进行后序遍历,此时应把栈顶结点的右子树的相结点放入栈中。再重复上述过程,直至遍历过树中所有结点。
    (1)、(2)空年在循环就是扫描根结点的所有左结点并入栈,根据程序中的栈的定义,栈空时top=0,因此在入栈时,先将栈顶指针加1,因此(1)空处应填写“top++”或其等价形式,(2)空是取当前结点的左子树的根结点,因此应填写“t=t->leftChild”。
    (3)空所在循环是处理找到值为x的结点,那么该结点的所有祖先结点都存放在栈中,栈中的栈底是二叉树的根,而栈顶元素是该结点的父结点,因此,(3)空处应填写“i=top”。
    (4)空所在循环是判断栈顶元素的右子树是否已经被后序遍历过,如果是,或者右子树为空,将栈顶元素退栈,这里要填写判断条件。 tag=0表示左子树,tag=1表示右子树,因此,(4)空处应填写“top> 0&&ST [top].tag=1”。
    (5)空所在语句块是处理栈顶元素的右子树没有被后序遍历情况,则将右子树入栈,因此(5)空处应填写“t=ST[top].ptr->rightChild”。

  • 第4题:

    程序的结果为______。include"iostream.h" template T total(T*data) { Ts=0; while(

    程序的结果为______。

    include"iostream.h"

    template<typename T>

    T total(T*data)

    Ts=0;

    while(*data)

    S+=*data++;

    return S;

    int main()

    {int x[]={2,4,6,8,0,12,14,16,18};

    cout<<total(x);

    retum 0;

    cout<<endl;}


    正确答案:20
    20

  • 第5题:

    下列do…while循环的循环次数为( ) int i=5; do { cout<<1--<<endl: 1--; }while (i):

    A.0

    B.1

    C.5

    D.无限


    正确答案:D

  • 第6题:

    在DO WHILE / ENDDO循环中,若循环条件设置为.T.,则下列说法中正确的是( )。

    A.程序无法跳出循环

    B.程序不会出现死循环

    C.用EXIT可跳出循环

    D.用LOOP可跳出循环


    正确答案:C

  • 第7题:

    t为int型变量,进入下面的循环之前,t的值为0,则以下叙述中正确的是( ) while(t=1) {…}

    A.循环控制表达式的值为0

    B.循环控制表达式的值为1

    C.循环控制表达式不合法

    D.以上说法都不对


    正确答案:B

  • 第8题:

    对于元组valt=(1,3.14,"Fred")说法不正确的是?()

    • A、t._0等于1
    • B、t的类型为Tuple3[Int,Double,java.lang.String]
    • C、val(first,second,_)=t//second等于3.14
    • D、t._0无法访问,会抛出异常

    正确答案:A

  • 第9题:

    有以下程序段,其输出结果是()int x=3;while((--x)==0){Console.Write("{0}/t",x-=2);}

    • A、不执行循环体
    • B、1
    • C、0
    • D、死循环

    正确答案:A

  • 第10题:

    设x,y,z,t均为int型变量,则执行以下语句后,t的值为()。x=y=z=1;t=++x||++y&&++z;

    • A、不定值
    • B、2
    • C、1
    • D、0

    正确答案:C

  • 第11题:

    判断题
    在DO WHILE/ENDDO循环中,若循环条件设置为.T.,则出现死循环。
    A

    B


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

  • 第12题:

    单选题
    t为int类型,进人下面的循环之前,t的值为0while(t=l){……}则以下叙述中正确的是()
    A

    循环控制表达式的值为0

    B

    循环控制表达式的值为1

    C

    循环控制表达式不合法

    D

    以上说法都不对


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

  • 第13题:

    t为int类型,进入下面的循环之前,t的值为0do{………}while(t==1);则以下叙述中正确的是()

    A、循环控制表达式的值为0

    B、循环控制表达式的值为1

    C、循环控制表达式合法

    D、以上说法都不对


    参考答案:A,C

  • 第14题:

    有下列程序段: int n,t=1,S=0; scanf("%d",&n); do{s=s+t;t=t-2;while(t!=n); 为使此程序段不陷入循环,从键盘输入的数据应该是( )。

    A. 任意正奇数

    B.任意负偶数

    C.任意正偶数

    D.任意负奇数


    正确答案:D
    本题主要考查do—while循环,因为变量t的初始值等于1,经过第一次do-while循环后,执行t=t-1这条语句一次,所以变量t的值为-1,判断关系表达式t!=n是否成立,如果关系表达式成立,则执行第二次循环,如果关系表达式不成立,退出循环。由此可见,只要输入变量n的值为负奇数,则一定会使t==n成立,故退出do-while循环。

  • 第15题:

    下列do...while循环的循环次数为( )。 int i=5; do{ cout<<i--<<endl; i--; }while(i!=0);

    A.0

    B.1

    C.5

    D.无限


    正确答案:D

  • 第16题:

    若有如下程序: main() {int a=0,t=0; while(!a!=0) t+=a++; printf("%d,%d\n",t,A) ; } 则程序运行后的输出结果是( )

    A.0,1

    B.1,0

    C.0,0

    D.1,1


    正确答案:A

  • 第17题:

    t为int类型,进入下面的循环之前,t的值为0。 while(t=1) {...} 则以下叙述中,正确的是( )。

    A.循环控制表达式的值为0

    B.循环控制表达式的值为1

    C.循环控制表达式不合法

    D.以上说法都不对


    正确答案:B
    解析:本题考核对while循环及逻辑表达式的理解。循环控制表达式为赋值表达式t=1,永远为1(为真)。

  • 第18题:

    若有如下程序段: main() {int n=0; while(printf("*")) {n++; if(n<3)break;} } 则下列描述正确的是( )

    A.其中循环控制表达式与0等价

    B.其中循环控制表达式与'0'等价

    C.其中循环控制表达式是不合法的

    D.以上说法都不对


    正确答案:B

  • 第19题:

    设X、y、Z、t均为int型变量,则执行以下语句后,t的值为( ) x=y=z=1;t=++x||++y&&++z;

    A.不定值

    B.2

    C.l

    D.0


    正确答案:C
    语句序列“x=y=z=l;t=++x||++y&&++z;”使变量x的值为1,变量t是赋一个逻辑表达式的值。在C语言中,由逻辑与和逻辑或构成的逻辑表达式有特别的计算规则,顺序计算各逻辑子表达式,并当一旦能得到逻辑表达式的结果时,就立即结束逻辑表达式的计算,不再计算后继逻辑子表达式。本题的逻辑表达式是两个运算分量的逻辑或,而且左运算分量++X的值为非0,立即得到逻辑或运算的结果为1,并将1赋给变量t,所以变量t的值为1。正确解答为C。

  • 第20题:

    在DO WHILE/ENDDO循环中,若循环条件设置为.T.,则出现死循环。


    正确答案:正确

  • 第21题:

    已知:intt=0;while(t=1){...},则以下叙述正确的是()

    • A、循环表达式的值为0
    • B、循环表达式的值为1
    • C、循环表达式不合法
    • D、以上说法都不对

    正确答案:B

  • 第22题:

    t为int类型,进入循环while(t=1){...}之前,t的值为0。则以下叙述中,正确的是()

    • A、循环控制表达式的值为0
    • B、循环控制表达式的值为1
    • C、循环控制表达式不合法
    • D、以上说法都不对

    正确答案:B

  • 第23题:

    单选题
    有以下程序段,其输出结果是()int x=3;while((--x)==0){Console.Write("{0}/t",x-=2);}
    A

    不执行循环体

    B

    1

    C

    0

    D

    死循环


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

  • 第24题:

    单选题
    t为int类型,进入循环while(t=1){...}之前,t的值为0。则以下叙述中,正确的是()
    A

    循环控制表达式的值为0

    B

    循环控制表达式的值为1

    C

    循环控制表达式不合法

    D

    以上说法都不对


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