niusouti.com
参考答案和解析
正确答案:2
2 解析:指令修改后,程序的功能便成了将相邻元素符号改变的次数放在NUM中,所以答案为2。
更多“若将第6题程序中的JNE NEXT指令修改为JE NEXT指令,则程序执行结束后,NUM内存单元中得到的结果是_ ”相关问题
  • 第1题:

    若将第6题程序中的JZ NEXT指令修改为JNZ NEXT指令,则程序执行结束后,AX寄存器中的内容是______(用十六进制表示)。


    正确答案:0434H
    0434H 解析:如果将JZ NEXT指令修改为JN2 NEXT指令,那么(AH)=4,即 04H,表示最低位为1的整数的个数,AL寄存器中的内容就是(AL)=52,即34H,表示这些数值的代数和,所以AX寄存器的内容为:0434H。

  • 第2题:

    若将第6题程序中的SHR DL,1指令修改为SHL DL,1指令,则以RESULT为首地址的前2个字节单元中的数据依次为______。


    正确答案:01H05H
    01H,05H 解析:根据上面的分析知道,修改后的指令没有改变逻辑尺的功能,只是把读取数据的顺序改变了。若将程序中的SHR DL,1指令修改为SHL DL,1指令,则以RESULT为首地址的前2字节单元中的数据依次为01H,05H,总的数据依次是01H,05H,FFH,FFH,FFH,09H,02H,FFH。

  • 第3题:

    有以下程序 include struct NODE{ int num; struct NODE *next;}; main( )

    有以下程序

    #include <stdlib.h>

    struct NODE{

    int num;

    struct NODE *next;};

    main( )

    { struct NODE *p,*q,*r;

    int sum=0;

    p=(struct NODE *)malloc(sizeof(struct NODE));

    q=(struct NODE *)malloc(sizeof(struct NODE));

    r=(struct NODE *)malloc(sizeof(struct NODE));

    p->num=1;q->num=2;r->num=3;

    p->next=q;q->next=r;r->next=NULL;

    sum+=q->next->num;sum+=p->num;

    printf(“%d\n”,sum);}

    执行后的输出结果是

    A.3

    B.4

    C.5

    D.6


    正确答案:B
    解析:q—>next—>num=3,p—>num=1,所以结果为4。

  • 第4题:

    有以下程序: include include struct NODE {int num;struct NODE *next; }

    有以下程序:

    #include <stdio.h>

    #include <stdlib.h>

    struct NODE

    { int num;

    struct NODE *next;

    };

    main()

    { struet NODE *p,*q,*r;

    int sum=0;

    p=(struct NODE *) malloc(sizeof(struct NODE));

    q=(struct NODE *) malloc(sizeof(struet NODE));

    r=(struct NODE *) malloc(sizeof(struct NODE));

    P- >num=1;q- >num=2;r->num=3;

    p- >next=q;q- >next=r;r- >next=NULL;

    sum + =q- >next- >num;sum + =P- >num;

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

    }

    执行后的输出结果是( )

    A.3

    B.4

    C.5

    D.6


    正确答案:B
    解析:程序中q->next=r,所以q->next->num即为r->num,值为3,而p->num=1,所以sum=3+1=4。

  • 第5题:

    有以下程序: include struct NODE{ int num; struct NODE*next; } main() {structNOD

    有以下程序:

    #include<stdlib.h>

    struct NODE{

    int num;

    struct NODE *next;

    }

    main()

    { struct NODE *p,*q,*r;

    int sum=0;

    p=(struct NODE *)malloc(sizeof(struct NODE));

    q=(Struct NODE *)malloc(sizeof(struct NODE));

    r=(Struct NODE *)malloc(sizeof(struct NODE));

    p->num=1; q->num=2; r->num=3;

    p->next=q; q->next=r; r->next=NULL;

    sum+=q->next->num;sum+=p->num;

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

    }

    执行后的输出结果是( )。

    A.3

    B.4

    C.5

    D.6


    正确答案:B
    解析:本题中定义了一个结点结构stmct NODE,在主函数中定义了3个结点指针p、q和r,接着通过malloc函数分配了3个结点并让p、q和r分别指向他们,再接着给p、q和r所指向的结点的num域赋值为1、2、3,然后让结点p指向q,让q指向r, r指向NULL。显然q->next->num的值为指针r所指向结点的hum域的值为3,p->hum的值为指针p所指向结点的num域的值为1,故最后输出s的值为3+1=4。所以,4个选项中选项B符合题意。