网友您好, 请在下方输入框内输入要搜索的题目:

题目内容 (请给出正确答案)

有以下程序段,则*(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。
更多 “有以下程序段,则*(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]” 相关考题
考题 设有以下定义和语句 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]

考题 有下列程序: include main() {int a[]={1,2,3,4},y,*p=a[3]; -- 有下列程序: #include <stdio.h> main() {int a[]={1,2,3,4},y,*p=a[3]; --p; y=*p; printf("y=%d\n",y); } 程序的运行结果是( )。A.y=0B.y=1C.y=2D.y=3

考题 下列程序的输出结果是()。 include main() {int a=2,b=3,p; p=f(a,B) ; pdntf("%d",p); 下列程序的输出结果是( )。#include<stdio.h>main(){ int a=2,b=3,p;p=f(a,B) ;pdntf("%d",p);}int f(a,B){ int c;if(a>B) c=1;else if(a==B) c=0;elSe c=-1;return(C) ;}A.-1B.0C.1D.2

考题 有以下程序: include using namespace std; class sample {int x; public:void setx( 有以下程序:include <iostream>using namespace std;class sample{int x;public:void setx(int i){x=i;}int putx (){return x;}};int main ( ){sample *p;sample A[3];A[0] .set>:(5);A[1] .setx(6);A[2] .setx(7);for (int j=0;j<3;j++){p=A[j];cout<<p->putx () <<", ";}cout<<end1;return 0;}执行后的输出结果是【 】。

考题 下面程序的功能是输出数组s中最小元素,请填空。 include void main(){int k, p, s[]= 下面程序的功能是输出数组s中最小元素,请填空。include<iostream.h>void main(){int k, p, s[]={1,-9,7,2,-10,3};k=s[0];for(p=0;p<6;p++)if(s[p]<k) 【 】;cout<<k;}

考题 若有以下程序段:include using namespace std;int main (){ int a[]={1,4,5}; int *p 若有以下程序段: #include <iostream> using namespace std; int main () { int a[]={1,4,5}; int *p=a[0],x=6, y,z; for (y=0; y<3; y++) z= ( (* (p+y) <x) ? *(p+y) :x); cout<<z<<end1; return 0; } 程序运行后的输出结果是( )。A.1B.4C.5D.2

考题 以下程序运行后的输出结果是【】include main ( ) {char a[] ="123456789", *p;int i =0; 以下程序运行后的输出结果是【 】include <stdio.h>main ( ){ char a[] ="123456789", *p;int i =0;p=a;while( * p){ if(i%2 ==0) *p='*';p++;i++;}puts(a);}

考题 有以下程序:include main() {int a[] = {2,4,6,8,10} ,y =0,x, * p;p =a[1];for( 有以下程序: #include <stdio.h> main() { int a[] = {2,4,6,8,10} ,y =0,x, * p; p =a[1]; for(x=1;x<3;x++)y+ =p[x]; printf( "% d \n" , y); }程序运行后的输出结果是( )。A.10B.11C.14D.15

考题 有以下程序: include usingnamespacestd; intmain() { intnum[2][3],*p; intt,i,j,k= 有以下程序: #include <iostream> using namespace std; int main() { int num[2][3],*p; int t,i,j,k=10; p=num[0]; for(i=0;i<2;i++) { for(j=0;j<3;j++) { k++; *p=k; for(t=2;t<*p;t++) { if(!(*p%t)) { j--; *p--; break; } *p++; } } cout<<*(p-1)<<end1; return 0; } 程序运行后的输出结果是( )。A.19B.11C.29D.23

考题 下列程序用来判断数组中特定元素的位置所在,则输出结果为()。includeinclude 下列程序用来判断数组中特定元素的位置所在,则输出结果为( )。 #include<conio.h> #include<iostream.h> int fun(int*p,int n,int*j) {int i; *j=0; for(i=0;i<n;i++) if(p[*j]<p[i])*j=i; return p[*j];} void main() {int a[10]={1,3,9,0,8,7,6,5,4,2)j;int j; fun(a,10,j); cout<<j<<','<<a[j];}A.2,9B.3C.9D.3,9

考题 下面程序执行的结果是【 】。 include using namespace std; void main(){ int sum=0; i 下面程序执行的结果是【 】。include <iostream>using namespace std;void main(){int sum=0;int array[6]={1,2,3,4,5,6};int *p;p=array[0];for(int i=0;i<6;i++){sum=sum+*p;p++;}cout<<sum;}

考题 有以下程序:include main ( ){int a[3] [3] , *p,i; p=a[0][0];for(i=0;i 有以下程序: #include <stdio.h> main ( ) { int a[3] [3] , *p,i; p=a[0][0]; for(i=0;i<9; i++)p[i]=i: for(i=0; i<3;i++)Printf("%d",a[1][i]); } 程序运行后的输出结果是( )。A.012B.123C.234D.345

考题 设有以下定义和语句 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[l][2]

考题 有以下程序:includeusing namespace std;int n[][3]={10,20,30,40,50,60};int main() 有以下程序: #include<iostream> using namespace std; int n[][3]={10,20,30,40,50,60}; int main() { int (*p)[3]; p=n; cout<<p[0] [0]<<","<<*(p[0]+1)<<","<<(*p) [2]<<end1; return 0; } 上述程序执行后的输出结果是( )。A.10,20,30B.20,30,40C.10,30,50D.10,40,60

考题 下列程序的输出结果是()。 include main() {iut a=2,b=3,p; p=f(a,b) ; printf("%d",p) 下列程序的输出结果是( )。#include<stdio.h>main(){iut a=2,b=3,p;p=f(a,b) ;printf("%d",p);}intf(a,b){int c;if(a>b) c=1;e1Seif(a==b) c=0;else(3=-1;return(c) ;}A.-1B.0C.1D.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]

考题 有以下程序,其输出结果是()。include using namespace std;int main(){ char a[10]={' 有以下程序,其输出结果是( )。 #include <iostream> using namespace std; int main(){ char a[10]={'1','2','3','4','5','6','7','8','9',0},*p; int i=8; p=a+i; cout<<p-3<<endl; return 0; }A.6789B.6C.789D.'6'

考题 有以下程序includemain(){int*p,j; p=NULL p=fun(); for(j=0;j 有以下程序 #include<stdio.h> main() { int *p,j; p=NULL p=fun(); for(j=0;j<4;j+){printf("%d",*p);p++;} } int*fun() { int a[4],k; for(k=0;k<4;k++)a[k]=k; return(A) ; } 程序运行后的输出结果是( )A.程序有错不能运行B.输出4个NULLC.输出0 1 2 3D.输出1 1 1 1

考题 下列程序的输出结果是()。includeint fun(int x){int p; if(x==0‖x==1)return 3; elsep 下列程序的输出结果是( )。 #include<stdio.h> int fun(int x) { int p; if(x==0‖x==1) return 3; else p=x-fun(x-2); return p; } void main() { printf("\n%d",fun(5)); }A.5B.3C.7D.1

考题 有以下程序: int fun(int x) { int p; if(x==0||x==1)return(3); p=x-fun(x-2); return p; } main { printf("%d\n",fun(7));} 执行后的结果是( )。A.7B.3C.2D.0

考题 有以下程序:include fun( char p[] [10]){int n=0,i; for(i=0;i 有以下程序:#include <stdio.h>fun( char p[] [10]){ int n=0,i; for(i=0;i<7;i ++) if(p[i][0] =='T') n++; return n;}main( ){ char sir[] [10] = { "Mon" ,"Tue" ,"Wed" ,"Thu" ,"Fri" ,"Sat" ,"Sun" }; prlnff(" % d\n" ,fun(str) );}程序执行后的输出结果是( )。A.1B.2C.3D.0

考题 设有以下定义和语句: 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.s[1][1]D.a[1][2]

考题 有以下程序:includemain() {int a[3][3],*p,i; p=a[0][0]; for(i=0;i 有以下程序: #include <stdio.h> main() { int a[3][3],*p,i; p=a[0][0]; for(i=0;i<9;i++) p[i]=i+1; printf("%d\n",a[1][2]); } 程序运行后的输出结果是( )。A.3B.6C.9D.2

考题 下列程序的输出结果是()。includemain(){ int a=2,b=3,p;p=f(a,b);printf("%d",p);}int 下列程序的输出结果是( )。 #include<stdio.h> main() { int a=2,b=3,p; p=f(a,b); printf("%d",p); } int f(a,b) { int c; if(a>b)c=1; else if(a==b)c=0; else c=-1; return(c) ; }A.-1B.0C.1D.2

考题 下列程序的输出结果是( )。 include int fun(int x) {int p;if(x==0‖x==1) return 3;el 下列程序的输出结果是( )。 #include<stdio.h> int fun(int x) { int p; if(x==0‖x==1) return 3; else p=x-fun(x-2); return p; } void main() { print f("\n%d", fun(5)); }A.5B.3C.7D.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]

考题 下列程序的输出结果是()。 include int fun(int x) {int p; if(x==0‖x=1) return 3; e 下列程序的输出结果是( )。#include<stdio.h>int fun(int x){ int p;if(x==0‖x=1)return 3;elsep=x-fun(x-2) ;return p;}void main(){ printf("\n%d",fun(5) );}A.5B.3C.7D.1

考题 有以下程序: include using namespace std; int main() {char a[10] = {'1','2','3', 有以下程序: #include<iostream> using namespace std; int main() { char a[10] = {'1','2','3','4','5','6','7','8','9','0'),*p; int i=8; p=a+i; cout<<p-3<<end1; return 0; } 执行程序后的输出结果是( )。A.6B.6789C.'6'D.789