itgle.com
参考答案和解析
正确答案:B
更多“阅读下面的程序段: Fora=1To2 Forb=1Toa Forc=bTo2 I=I+1 Next Next Next PrintI 执行上 ”相关问题
  • 第1题:

    若有以下定义则不能将指针q所指的结点接到链表末尾的程序段是()。

    A.q->next=NULL;p=p->next;p->next=q

    B.p=p->next;q->next=p->next;p->next=q

    C.p=p->next;q->next=p;p->next=q

    D.p=(*p).next;(*q).next=(*p).next;(*p).next=q


    参考答案:C

  • 第2题:

    阅读下面的程序段:

    For a=1 To 2

    For b=1 To a

    For c=b To 2

    i=i+1

    Next

    Next

    Next

    Print i

    执行上面的3重循环后,i的值为

    A.4

    B.5

    C.6

    D.9


    正确答案:A
    解析:本题是一个多重循环语句,是For…Next结构的多重迭用,仔细分析即可看出:在结构中i=i+1共执行了5次,所以最后i的值为5。

  • 第3题:

    指针p、q和r依次指向某循环链表中三个相邻的结点,交换结点*q和结点*r在表中次序的程序段是 ( )

    A.p—>next=r; q—>next=r—>next; r—>next=q;

    B.p—>next=r; r—>next=q; q—>next=r—>next;

    C.r—>next=q; q—>next=r—>next; p—>next=r;

    D.r—>next=q; p—>next=r; q—>next=r—>next;


    正确答案:A

  • 第4题:

    执行下列语句后指针及链表的示意图为(43)。

    L = (LinkList) malloc ( sizeof (LNode) );

    P = L;

    for(i =0;i <=3;i ++) {

    P→next = (LinkList) malloc (sizeof (LNode));

    P = P→next;

    P→data = i * i + 1;

    }

    A.

    B.

    C.

    D.


    正确答案:B
    解析:题中语句的作用是建一个带头结点的链表,链表中的各个元素为i*i+1(i=0,1,2,3),即1,2,5,10。

  • 第5题:

    ●试题二

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

    【说明】

    该程序运行后,输出下面的数字金字塔

    【程序】

    include<stdio.h>

    main ()

    {char max,next;

    int i;

    for(max=′1′;max<=′9′;max++)

    {for(i=1;i<=20- (1) ;++i)

    printf(" ");

    for(next= (2) ;next<= (3) ;next++)

    printf("%c",next);

    for(next= (4) ;next>= (5) ;next--)

    printf("%c",next);

    printf("\n");

    }

    }


    正确答案:
    ●试题二【答案】(1)(max-′0′)(2)′1′(3)max(4)max-1(5)′1′【解析】该程序共有9行输出,即循环控制变量max的值是从1~9。每行输出分3部分,先用循环for语句输出左边空白,(1)空填"(max-′0′)";再用循环输出从1到max-′0′的显示数字,即(2)空和(3)空分别填1和max;最后输出从max-′1′~1的显示数字,即(4)空和(5)空分别填和max-1和′1′。