假定int型数组a的首址在ECX中,i在EDX中,则"&a[i]-a送EAX"所对应的汇编指令是()。
A.movl%ecx,%eax
B.movl%edx,%eax
C.leal(,%ecx,4),%eax
D.leal(,"0edx,4),%eax
A.movl%ecx,%eax
B.movl%edx,%eax
C.leal(,%ecx,4),%eax
D.leal(,"0edx,4),%eax
第1题
假定int类型变量占用两个字节,其有定义int x[10]={0,2,4};,则数组x在内存中所占字节数是()。
A.3
B.6
C.10
D.20
第2题
假定int类型变量占用两个字节,若有定义:int x[10]={0,2,4};则数组x在内存中所占字节数是()。
A.3
B.6
C.10
D.20
第3题
以下程序调用findmax函数求数组中值最大的元素在数组中的下标,请选择填空: #include<stdio.h> findmax(int*s,int t,int*k) { int p; for(p=0,*k=p;p<t;p++) if(s[p]>s[*k])________; } main() { int a[10],i,k; for(i=0;i<10;i++)scanf("%d",&a[i]); findmax(a,10,&k); printf("%d,%d\n",k,a[k]); }
A.k=p
B.*k=p-s
C.k=p-s
D.*k=p
第4题
试题14
以下程序调用fun函数把x中的值插入到a数组下标为k的数组元素中。主函数中,n存放a数组中数据的个数。请填空。
#include <stdio.h>
void fun(int s[], int *n, int k, int x)
{ int i;
for(i=*n-1; i>=k; i- - ) s[ ___ ]=s[i];
s[k]=x;
*n=*n+______;
}
main()
{ int a[20]={1,2,3,4,5,6,7,8,9,10,11}, i, x=0, k=6, n=11;
fun(a, &n, k, x);
for(i=0; i<n; i++) printf(“%4d”,a[i]); printf(“\n”);
}
第6题
例如,若一维数组中的数据是:
2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9 10 10 10
删除后,数组中的内容应该是:
2 3 4 5 6 7 8 9 10。
请填空。
#include
#define N 80
int fun(int a[], int n)
{ int i,j=1;
for(i=1;i
if(a[j-1]【19】a[i])
a[j++]=a[i];
【20】;
}
main()
{ int a[N]={ 2,2,2,3,4,4,5,6,6,6,6,7,7,8,9,9,10,10,10}, i, n=19;
printf("The original data :\n");
for(i=0; i
for(i=0; i
}
第8题
下面程序段中,search(a,n,k)的功能是在数组a的前n(n≥1)个元素中找出第k(1≤k≤n)小的值。这里假设数组a中各元素的值都不相同。 define MAXN 100 int a[MAXN],n,k; int search_c(int a[],int n,int k) { int low,high,i,j,m,t; k一一;low=0;high=n一1; do { i=low;j=high; (1) ; do { while(i<j &&t<a[j])j一一; if(i<j)a[i++]=a[j]; while(i%j&&t>=a[i])i++; if(i<j)a[j一一]=a[i]; } while(i<j); a[i]=t; if (2); if(i<k) low=(3) ; else high=(4) ; } while (5) ; return(a[k]); }
第10题
设有数组的定义int[] a = new int[3],则下面对数组元素的引用错误的是()。
A.a[0];
B.a[A.length-1];
C.a[3];
D.int i=1; a[i];