如果有定义int a[30], *p=a; 则数组a中下标为i的元素的地址为 。
A.p+i*2
B.p+(i-1)*2
C.p+(i-1)
D.p+i
第1题:
若有定义int b[8],*p=b;则p+6表示( )。
A.数组元素b[6]的值
B.数组元素b[6]的地址
C.数组元素b[7]的地址
D.数组元素b[0]的值加上6
第2题:
若有定义float a[15],*p=a;,且数组a的首地址为300H,则p+13所指向的数组元素的地址为( )。
A.334H
B.30DH
C.352H
D.31AH
第3题:
数组A中每个元素A[i,j]的长度为2,行下标为1到8,列下标为1到10。数组首地址为S,若数组按行存放,则A[7,5]的首地址为
A.S+128
B.S+64
C.S+150
D.S+92
第4题:
若有定义int a[9],+P=a;,则P+5表示( )。
A.数组元素a[5]的值
B.数组元素a[5]的地址
C.数组元素a[6]的地址
D.数组元素a[0]的值加上5
第5题:
阅读下列说明、流程图和算法,将应填(n)处的字句写在对应栏内。
[说明]
下面的流程图(如图3所示)用N - S盒图形式描述了数组A中的元素被划分的过程。其划分方法是:以数组中的第一个元素作为基准数,将小于基准数的元素向低下标端移动,而大于基准数的元素向高下标端移动。当划分结束时,基准数定位于A[i],并且数组中下标小于i的元素的值均小于基准数,下标大于i的元素的值均大于基准数。设数组A的下界为 low,上界为high,数组中的元素互不相同。例如,对数组(4,2,8,3,6),以4为基准数的划分过程如下:
[流程图]
[算法说明]
将上述划分的思想进一步用于被划分出的数组的两部分,就可以对整个数组实现递增排序。设函数int p(int A[],int low,int hieh)实现了上述流程图的划分过程并返回基准数在数组A中的下标。递归函数void sort(int A[],int L,int H)的功能是实现数组A中元素的递增排序。
[算法]
void sort(int A[],int L,int H) {
if (L<H) {
k=p(A,L,R); //p()返回基准数在数组A中的下标
sort((4)); //小于基准敷的元素排序
sort((5)); //大于基准数的元素排序
}
}
第6题:
设有定义语句int a[]={66,77,99};,则下列对此语句的叙述中错误的是 ( )
A.定义了一个名为a的一维数组
B.a数组有3个元素
C.a数组的元素的下标为1-3
D.数组中的每一个元素都是整型
第7题:
以下程序调用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
第8题:
设有二维数组int a[10][20];,则a[i][j]的地址可由首元素a[0][0]的地址来表达,由此可得访问数组元素a[i][j]的表达式为【 】。
第9题:
设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i 个元素的地址为( )。
A.P+i*2
B.P+(i-1)*2
C.P+(i-1)
D.P+i
第10题:
指向数组元素为整型的一维数组的指针变量的定义是()。
第11题:
在线性表的单链接存储中,若一个元素所在结点的地址为p,则其后继结点的地址为(),若假定p为一个数组a中的下标,则其后继结点的下标为()。
第12题:
定义了一个名为a的一维数组
a数组有3个元素
a数组元素的下标为1~3
数组a中的每一个元素都是整型
第13题:
本题中定义了长度为20的-维整型数组a,并将数组元素的下标值赋给数组元素,最后打印输出数组中下标为奇数的元素。 public class javal{ public static void main(String[]args){ int a[]= Int i: for a[i]=i for i++) =1: i=0;i<20;i++){ System.out.print(”a[”+i+”]=”+a[i]+”,“); }
第14题:
( 8 ) 利用表达式 a[i] 可以访问 int 型数组 a 中下标为 i 的元素 。 在执行了语句 int *p=a; 后 , 利用指针 p也可访问该元素,相应的表达式是 【 8 】 。
第15题:
设有定义语句int k[]=new int[3];,则下列对此语句的叙述中错误的是( )。
A.定义了一个名为k的一维数组
B.k数组有3个元素
C.k数组元素的下标为1~3
D.数组k中的每一个元素都是整型
第16题:
下面函数返回数组中最大元素的下标,数组中元素个数为t,将程序补充完整。
int findmax(int s[],int t) {
int k,p;
for(p=0,k=p;p<t;p++) {
if 【 】
k=p;
}
return k;
}
第17题:
下列程序用来判断数组中特定元素的位置所在,则输出结果为( )。 #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,9
B.3
C.9
D.3,9
第18题:
若有定义“int b[8],*p=b;”,则p+6表示( )。
A.数组元素b[6]的值
B.数组元素b[6]的地址
C.数组元素b[7]的地址
D.数组元素b[o]的值加上6
第19题:
阅读下列说明、流程图和算法,将应填入(n)处的字句写在对应栏内。
【流程图说明】
下图所示的流程图5.3用N-S盒图形式描述了数组Array中的元素被划分的过程。其划分方法;以数组中的第一个元素作为基准数,将小于基准数的元素向低下标端移动,而大于基准数的元素向高下标端移动。当划分结束时,基准数定位于Array[i],并且数组中下标小于i的元素的值均小于基准数,下标大于i的元素的值均大于基准数。设数组A的下界为low,上界为high,数组中的元素互不相同。
【算法说明】
将上述划分的思想进一步用于被划分出的数组的两部分,就可以对整个数组实现递增排序。设函数int p(int Array[],int low,int high)实现了上述流程图的划分过程并返回基准数在数组Ar ray中的下标。递归函数void sort(int Array[],int L,int H)的功能是实现数组Array中元素的递增排序。
【算法】
void sort(int Array[],int L,int H){
if (L<H) {
k=p(Array,L,H);/*p()返回基准数在数组Array中的下标*/
sort((4));/*小于基准数的元素排序*/
sort((5));/*大于基准数的元素排序*/
}
}
第20题:
本题定义了一个长度为l0的boolean型数组,并给数组元素赋值,要求如果数组元素下标为奇数,则数组元素值 为false,否则为true。 public class javal{ pubhc static void main(String[]args){ boolean b[]= ; for(int i=0;i<10;i++){ if( ) b[i]=false; else ; } for(int i=0;i<10;i++) System.Out.print("bE"+i+"]="+b[i]+","); } }
第21题:
若有下列定义,则对a数组元素地址的正确引用是( )。
int a[5],*p=a;
A.p+5
B.*a+1
C.&a+1
D.&a[0]
第22题:
设有定义语句int a[3],则下列对此语句的叙述中错误的是( ):
第23题:
若使P指向包含30个整型元素的动态数组空间,则使用的定义语句为()。
第24题: