参考答案和解析
正确答案:C
解析:本题中a为三维数组,其中a[0],a[1],a[2]分别代表它的三维(的首指针),p为一个一维指针数组,含有3个元素,每两行代码把数组的第二维的首指针赋值给指针数组的第一个值,所 以,*  (p[0]  +1)即取p[0]所指数组的第二个值,即为数组a的第二维的第二个值,即为a[1] [1]。
更多“有以下定义和语句 int a[3][2]={1,2,3,4,5,6,},*p[3]; p[0]=a[1]; 则*p[0]+1)所代表的数组元 ”相关问题
  • 第1题:

    设有以下定义和语句 int a[3][2]={1,2,3,4,5),*p[3]; p[0]=a[1]; 则*(p[0]+1)所代表的数组元素是______。

    A.a[0][1]

    B.a[1][0]

    C.a[1][1]

    D.a[1][2]


    正确答案:C

  • 第2题:

    有以下定义和语句 int a[3][2]={1,2,3,4,5,6,},*p[3]; p[0]=a[1]; 则*(p[0]+1)所代表的数组元素是

    A.a[0][1]

    B.a[1][0]

    C.a[1][1]

    D.a[1][2]


    a[10]

  • 第3题:

    【填空题】若有如下定义和语句: int *p[3], a[6], n; for(m=0;m<3;m++) p[m]=&a[2*m]; 则*p[0]引用的是a数组元素____(1)_____;*(p[1]+1)引用的是a数组元素_____(2)____。


    a数组的元素的下标为1 2 3

  • 第4题:

    有以下程序段,则*(p[0]+1)所代表的数组元素是 #include <stdio.h> int main() { int a[3][2]={1,2,3,4,5,6,},*p[3]; p[0]=a[1]; ..... return 0; }

    A.a[1][1]

    B.a[0][1]

    C.a[1][0]

    D.a[1][2]


    (1)两条指令都是合法指令第一条指令取得NAMES的偏移地址第二条MOV指令使用间接寻址方式将地址为(DS)x 10H+(BX)+5字节中的数据传送给AL结果(AL)=20。 (2)这条指令不正确因为NAMES的属性为字节而目的寄存器是AX所以类型不匹配。 (3)为合法指令。指令中将已定义的字节变量用伪操作PTR改变为字类型所以避免了类型不匹配的错误。操作结果(AX)=4D4FH(即M和I O的ASCII码)。 (4)前两条指令使用的是立即寻址方式第三条指令的源操作数字段使用的是相对基址变址方式但形成的数据段地址中的数据属性为字节而源操作数据寄存器为AX故出现类型不匹配的错误。若将AX改为AL这条指令就是合法指令。 (5)前两条指令是正确的后两条指令有错误。在汇编过程中OFFSEI、操作将得到变量的偏移值但对相对基址变址寻址方式形成的值在汇编指令时还是未知的。同样MOV BXOFF-SET:NAMES[SI]也是错误指令。第四条指令中AX不能作为基址寄存器使用。 (6)均为合法指令。第三条指令中的DI取得一个字节地址:(BX)+(SI)+OFFSETNAMES然后再按DI 中的偏移地址在数据段中将一个字节的内容传送给AL寄存器。操作结果(AL)=30。 两条指令都是合法指令,第一条指令取得NAMES的偏移地址,第二条MOV指令使用间接寻址方式,将地址为(DS)x10H+(BX)+5字节中的数据传送给AL,结果(AL)=20。(2)这条指令不正确,因为NAMES的属性为字节,而目的寄存器是AX,所以类型不匹配。(3)为合法指令。指令中将已定义的字节变量用伪操作PTR改变为字类型,所以避免了类型不匹配的错误。操作结果(AX)=4D4FH(即M和IO的ASCII码)。(4)前两条指令使用的是立即寻址方式,第三条指令的源操作数字段使用的是相对基址变址方式,但形成的数据段地址中的数据属性为字节,而源操作数据寄存器为AX,故出现类型不匹配的错误。若将AX改为AL,这条指令就是合法指令。(5)前两条指令是正确的,后两条指令有错误。在汇编过程中,OFFSEI、操作将得到变量的偏移值,但对相对基址变址寻址方式形成的值在汇编指令时还是未知的。同样MOVBX,OFF-SET:NAMES[SI]也是错误指令。第四条指令中,AX不能作为基址寄存器使用。(6)均为合法指令。第三条指令中的DI取得一个字节地址:(BX)+(SI)+OFFSETNAMES,然后再按DI中的偏移地址,在数据段中将一个字节的内容传送给AL寄存器。操作结果(AL)=30。

  • 第5题:

    11、有以下程序段,则*(p[0]+1)所代表的数组元素是 #include <stdio.h> int main() { int a[3][2]={1,2,3,4,5,6,},*p[3]; p[0]=a[1]; ..... return 0; }

    A.a[1][1]

    B.a[0][1]

    C.a[1][0]

    D.a[1][2]


    D 本题考查VBA程序设计中的循环知识。在本题的程序中,每次循环n都会加1,所以关键问题就是循环共执行多少次。我们已知外循环共执行4次,每次外循环中内循环都执行5次,则内循环共执行的次数为20次。