itgle.com

若有说明: int a[ ][4];则a[i][j]前有____个元素。A.j*4+iB.i*4+jC.i*4+j-1D.i*4+j+1

题目

若有说明: int a[ ][4];则a[i][j]前有____个元素。

A.j*4+i

B.i*4+j

C.i*4+j-1

D.i*4+j+1


相似考题
更多“若有说明: int a[ ][4];则a[i][j]前有____个元素。”相关问题
  • 第1题:

    若有下列定义(设int类型变量占2个字节):

    int i=8,j=9;

    则下列语句:

    printf("i=%u,j%x\n",i,j);

    输出的结果是( )。

    A.i=8,j=9

    B.8.9

    C.8 9

    D.i=8,j=8


    正确答案:A
    解析:本题考查函数printf()的格式。“%x”表示以+六进制输出整型数据;“%u”表示以+进制无符号型输出整型数据。printf函数中格式说明符之前插入的任何字符都原样输出。

  • 第2题:

    若有说明int m[3][4]={3,9,7,8.5},(*q)[4];和赋值语句q=m;,则对数组元素m[i][j](其中O<=i<3,0<=j<4)值的正确引用为( )。

    A)(q i)[j]

    B)*q[il][j]

    C)*(*q[i] j)

    D)*(*(q i) j)


    正确答案:D
    (q i)指向第i行首地址, (*(q i) j)代表第i行第i个元素。

  • 第3题:

    若有说明int i,j=2, *P=&i;,则能完成i=j赋值功能的语句是_______。

    A.i=*p;

    B.*P2=*&j;

    C.i=&j;

    D.i=**p;


    正确答案:B
    解析:指针是一种用来存放变量地址的特殊变量。本题中指针变量p用于存放整型变量i的地址,改变*p的值即为改变i的值。又因为“&”和“*”两个运算符的优先级别相同,按自右而左的方向结合,所以*&j先进行&j运算,得j的地址,再进行*运算,取所得地址里面的值,故*&j与j等价。

  • 第4题:

    若有说明int i,j=2,*p=&i;,则能完成i=j赋值功能的语句是______。

    A.i=*p

    B.*P=*&j

    C.i=&j

    D.i=**p;


    正确答案:B
    解析:指针是—种用来存放变量地址的特殊变量。本题中指针变量p用于存放整型变量i的地址,改变*p的值即为改变i的值。又因为“&”和“*”两个运算符的优先级相同,按自右而左的方向结合,所以*&j运算选进行&j运算,得j的地址,再进行*运算,取所得地址里面的值,故*&j与j等价。

  • 第5题:

    若有定义int a[2][3];,则对a数组的第i行第j列(假设i,j已正确说明并赋值.元素值的正确引用为( )。

    A.*(*(a+i.+j.

    B.(a+i.[j]

    C.*(a+i+j.

    D.*(a+i.+j


    正确答案:A
    本题考查了二维数组元素的引用方法。选项A)中a+i指向了数组a的第i+1行。*(a+i)则是第i+1行第0列的地址值,*(a+i)+j指向了数组a第i+1行,j+1列,*(*(a+i)+j)取到的是数组a的a[i][j]元素。

  • 第6题:

    若有下列定义(设int类型变量占2个字节): int i=8,j=9; 则下列语句: printf("i=%%d,j=%%d\n",i,j); 输出的结果是( )。

    A.i=8,j=9

    B.i=%d,j=%d

    C.i=%8,j=%9

    D.8,9


    正确答案:B
    解析: 本题考查printf函数的格式。在printf函数中,如果格式说明符中有两个%说明,则将第1个%后面的字符原样输出,并不输出其对应的变量值。

  • 第7题:

    若有以下程序段,其中0<=i<4,0<=j<3,则不能正确访问a数组元素的是()int i,j,(*p)[3];int a[][3]={1,2,3,4,5,6,7,8,9,10,11,12};p=a;

    A.*(*(a+i)+j)

    B.p[i][j]

    C.(*(p+i))[j]

    D.p[i]+j


    参考答案:D

  • 第8题:

    若有下列定义(设int类型变量占2个字节):int i=8,j=9;则下列语句:printf("i=%%d,j=%%d\n&quo

    若有下列定义(设int类型变量占2个字节):

    int i=8,j=9;

    则下列语句:

    printf("i=%%d,j=%%d\n",i,j);

    输出的结果是( )。

    A.i=8,j=9

    B.i=%d,j=%d

    C.i=%8,j=%9

    D.8,9


    正确答案:B
    本题考查函数的输出格式。在printf函数,格式说明符中有两个“%”说明;将第1个%后面的字符原样输出,并不输出其对应r的变量值。

  • 第9题:

    阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。

    [说明]

    函数int psort(int a[],int n)实现将含n个整数的数组a[]的不同元素按从小到大顺序存于数组a[]中。实现方法是从未确定的元素列中找到最小元素并将a[]的第i最小元素交换至a[i]位置。如该最小元素比已确定的最后一个最小元素大,则将它接在已确定的元素序列的后面;否则,忽视该元素。

    [C函数]

    int psort(int a[],int n)

    {int i,J,k,P;

    for(i=0,k=0;i<(1);i++){

    for(j=i+1, (2) ;j<n; j++)

    if(a[p]>a[j])

    p=j;

    if(p!=i){

    t=a[p];

    a[p]=a[i];

    a[i]=t;

    }

    if( (3) ) k++;

    else if( (4) <a[i])

    (5)=a[i];

    }

    return k;

    }

    int a[]={5,7,5,6,4,3,4,6,7};

    main()

    {int k,n;

    for(k=0;k<(Sizeof a)/Sizeof(int);k++)

    printf("%5d",a[k]);

    printf ("\n\n");

    n=psort(a,(sizeof(a))/sizeof(int));

    for(k=0;k<n;k++)

    printf("%5d",a[k]);

    printf("\n\n");

    }


    正确答案:(1) n-1 (2) P=i (3) k==0 (4) a[k-1] (5) a[k++]
    (1) n-1 (2) P=i (3) k==0 (4) a[k-1] (5) a[k++] 解析:本程序排序方法是从未确定的元素列中找到最小元素并将a[]的第i最小元素交换至a[i]位置。如该最小元素比已确定的最后一个最小元素大,则将它接在已确定的元素序列的后面;否则,忽视该元素。这是采用选择法对数组元素进行排序,因此空(1)填“n-1”,空(2)填“p=i”。若该最小元素比已确定的最后一个最小元素大,则将它接在已确定的元素序列的后面;否则,忽视该元素。因此,空(3)填“k==0”;而当a[k-1]a[i]时”,则a[k++]=a[i];否则忽略元素a[i]。所以空(4)填“a[k-1]”空(5)填“a[k++]”。

  • 第10题:

    若有 int i=10,j=2;则执行完i*=j+8;后ⅰ的值为28.


    正确答案:错误

  • 第11题:

    若有int i=10, j=0;则执行完语句 if (j=0)i++; else i--; i的值为11.


    正确答案:错误

  • 第12题:

    单选题
    若有以下程序段,其中0<=i<4,0<=j<3,则不能正确访问a数组元素的是() int i,j,(*p)[3]; int a[][3]={1,2,3,4,5,6,7,8,9,10,11,12}; p=a;
    A

    *(*(a+i)+j)

    B

    p[i][j]

    C

    (*(p+i))[j]

    D

    p[i]+j


    正确答案: D
    解析: 暂无解析

  • 第13题:

    若有下列定义(设int类型变量占2个字节):

    int i=8,j=9;

    则下列语句:

    printf("i=%u,j=%x\n".i,j);

    输出的结果是( )。

    A.i=8,j=9

    B.8.9

    C.89

    D.i=8,i=8


    正确答案:A
    解析: 本题考查函数printf()的格式。“%x”表示以十六进制输出整型数据;“%u”表示以十进制无符号型输出整型数据。printf函数中格式说明符之前插入的任何字符都原样输出。

  • 第14题:

    若有说明int i,j=2,*p=&i;,则能完成i=j赋值功能的语句是 ( )

    A.i=*p;

    B.*p=*&j

    C.i=&j

    D.i=* *p;


    正确答案:B

  • 第15题:

    若有以下程序:include using namespace std;int main(){ int a[4] [4] = {{1,2,3,-4}

    若有以下程序: #include <iostream> using namespace std; int main() { int a[4] [4] = {{1,2,3,-4},{0,-12,-13,14}, {-21,23,0,-24},{-31,32,-33,0}}; int i,j,s = 0; for(i=0;i<4;i++) { for(j=O;j<4;j++) { if(a[i] [j] >=0) continue; s+=a [i] [j]; } } cout<<s<<end1; return 0; } 执行后的输出结果是( )。

    A.-138

    B.141

    C.75

    D.-1


    正确答案:A
    解析:本题属于综合题,考查多个方面的知识点。程序首先定义了一个二维数组a,并初始化其值。在内层for循环体中,遇到大于等于0的数,就继续执行下次循环,否则就执行“s+=a[i][j]”,即把其值累加并保存在变量s中。所以本题双重循环的功能是:计算数组中所有负数的累加和,即s=-138。

  • 第16题:

    下列程序用来判断数组中特定元素的位置所在,则输出结果为()。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,9

    B.3

    C.9

    D.3,9


    正确答案:A
    解析:由程序中的主函数main入手,调用fun函数。其中第一个实参为数组a的名字,数组名作为实参,传递的是数组的起始地址。所以在fun函数中指针D指向了数组的第一个元素a[0]。另外实参整型j传递的是引用,也就是j的地址。在fun函数中在for循环中,依次将当前元素p[i]与j指针值为标识的p[*j]进行比较,取较大的。最后循环后的结果就是p[*j]存放数组中的最大值,并且指针j为该值的标识位。可以看出数组的最大值是9标识位为2。

  • 第17题:

    若有定义:int a[4][10];,则以下选项中对数组元素a[i][j]引用错误的是_______。 (0<=i<4,0<=j<10)

    A.*(&a[0][0]+10*i+j)

    B.*(a+i)+j

    C.*(*(a+i)+j)

    D.*(a[i]+j)


    正确答案:B
    解析:本题中选项B是错误的引用,*(a+i)+j只代表了a[i][j]的地址。

  • 第18题:

    若有说明int m[3][4]={3,9,7,8.5},(*q)[4];和赋值语句q=m;,则对数组元素m[i][j](其中0<=i<3,0<=j<4)值的正确引用为( )。

    A.(q+i)[j]

    B.*q[i][j]

    C.*(*q[i]+j)

    D.*(*(q+i)+j)


    正确答案:D
    解析:*(q+i)指向第i行首地址,*(*(q+i)+j)代表第i行第j个元素。

  • 第19题:

    若有定义:int i=7,j=8;则表达式i>=j||i

    A.1

    B.变量i的值

    C.0

    D.变量j的值


    参考答案:A

  • 第20题:

    若有定义:int a[4][10];,则以下选项中对数组元素a[i][i]引用错误的是______。(0<=i<4,0=i<10)

    A.*(&a[0][0]十10*i+j)

    B.*(a+i)+j

    C.*(a+i)+j)

    D.*(a[i]+j)


    正确答案:B
    解析:本题中选项B是错误的引用,*(a+i)+j只代表了a[i][j]的地址。

  • 第21题:

    若有定义“inta[3][4],*p;”,则对数组元素a[i][j](0<=i<3,0<=j<4)正确的引用是()。

    • A、p=a
    • B、*(*(p+i)+j)
    • C、*(p+i*4+j)
    • D、*(*(a+i)+j)

    正确答案:C

  • 第22题:

    若有定义:inta[3][4];则对a数组的第i行第j列(假设i,j已正确说明并赋值)元素值的不正确引用为()

    • A、*(*(a+i)+j)
    • B、*(a+i)[j]
    • C、*(a+i+j)
    • D、*(a[i]+j)

    正确答案:C

  • 第23题:

    若有说明语句int i=5,j=4,k=6;floatf;则执行f=(i

    • A、4.0
    • B、5.0
    • C、6.0
    • D、7.0

    正确答案:A

  • 第24题:

    单选题
    若有以下程序段,则数组b中列下标为偶数的元素之和是() int a[12],b[3][4],i,j; for(i=0;i<12;i++)a[i]=i+1;for(i=0;i<3;i++) for(j=0;j<4;j++)b[i][j]=a[i*4+j]
    A

    42

    B

    15

    C

    36

    D

    24


    正确答案: D
    解析: 暂无解析