更多“单选题已知有数组定义char a[3][4];下列表达式中错误的是(  )。A a[2]=“WIN”B strcpy(a[2],“WIN”)C a[2][3]=′W ′D a[0][1]=a[0][1]”相关问题
  • 第1题:

    以下能正确定义一维数组的选项是

    A.int a[5]={0,1,2,3,4,5};

    B.char a[]={′0′,′1′,′2′,′3′,′4′,′5′,′\0′};

    C.char a={′A′,′B′,′C′};

    D.int a[5]="0123";


    正确答案:B
    解析:选项A)中,定义的初值个数大于数组的长度;选项C)中,数组名后少了中括号;选项D)中,整型数组不能赋予字符串。

  • 第2题:

    下列程序执行的输出结果是()。 include main() {char a[2][4];strcpy(a,"are");strcpy(

    下列程序执行的输出结果是( )。 #include<stdio.h> main() { char a[2][4]; strcpy(a,"are");strcpy(a [1],"you"); a[0][3]='&'; printf("%s\n",a); }

    A.are&you

    B.you

    C.are

    D.&


    正确答案:A
    解析:strcpy(a,"are")中数组名a代表数组首地址的地址常量,该操作把are复制到a中,a[0][3]='&',且strcpy(a[1],"you")把you复制到a[1]中,故输出a为“are&you”。

  • 第3题:

    下列数组的定义中,会产生错误的是

    A.int a[]=('0','1','2','3','4','5','6');

    B.int a[10]={0,1,2,3,4,5,6};

    C.char a[5]="hello";

    D.char a[5]={'h','e','1','1','o'};


    正确答案:C
    解析:本题考核数组的定义和初始化。下面逐项进行分析:A)选项中,数组a的定义和初始化符合数组的定义和初始化语法,故正确:B)选项中,数组a初始化的值虽然没有10个,但对于少的部分,系统会自动补0,所以B)选项中数组的定义也是正确;C)选项中,数组a的长度为5,但字符串“hello”的长度为5+1=6,字符串结束符‘\0’无法存储在数组中,所以是错误的;D)选项中,数组a的定义是正确的。

  • 第4题:

    (C语言)以下能正确定义一维数组的选项是

    A、int a[5]={0,1,2,3,4,5};B、char a[]={0,1,2,3,4,5};

    C、char a={'A','B','C'};D、int a[5]="0123";


    正确答案:
              

  • 第5题:

    若定义static int a[2][2]={1,2,3,4},则a数组的各数组元素分别为______。

    A.a[0][0]=1、a[0][1]=2、at[1][0]=3、a[1][1]=4

    B.a[0][0]=1、a[0][1]=3、a[1][0]=2、a[1][1]=4

    C.a[0][0]=4、a[0][1]=3、a[1][0]=2、s[1][1]=1

    D.a[0][0]=4、a[0][1]=2、a[1][0]=3、a[1][1]=1


    正确答案:A

  • 第6题:

    若有以下定义和语句: iht w[2][3],(* pw)[3];pw=w; 则对w数组元素的非法引用是 ( )

    A.* (w[0]+2)

    B.* (pw + 1)[2]

    C.pw[0][0]

    D.* (pw[1]+2)


    正确答案:A

  • 第7题:

    若有以下定义和语句,则下列选项中对w数组元素非法引用的是______。 int w[2] [3], (*pw) [3]; pw=w;

    A.w[0]+2

    B.*(pw+1)[2]

    C.pw[0][0]

    D.*(pw[1]+2)


    正确答案:B

  • 第8题:

    若有定义和语句: int w[2][3],(* pw)[3];pw=w; 则对w数组元素的非法引用是 ( )

    A.* (w [0] +2)

    B.* (pw+1)[2]

    C.pw[0][0]

    D.* (pw [1]+2)


    正确答案:B

  • 第9题:

    以下能正确定义一维数组的选项是()

    • A、int a[5]={0,1,2,3,4,5};
    • B、char a[]={0,1,2,3,4,5};
    • C、char a={’A’,’B’,’C’};
    • D、int a[5]="0123";

    正确答案:B

  • 第10题:

    以下能正确定义一维数组的是()

    • A、int a〔5〕={0,1,2,3,4,5};
    • B、int a〔5〕=”012345”;
    • C、char.〔 〕=”012345”;
    • D、char a〔5〕={0,1,2,3,4,5};

    正确答案:C

  • 第11题:

    以下与库函数strcpy(char*p1,char*p2)功能不相等的程序段是()

    • A、strcpyl(char*p1,char*p2){while((p1++=p2++)!=’/0’);}
    • B、strcpy2(char*pl,char*p2){while((*p1=*p2)!=’/0’)pl++,p2++;}
    • C、strcpy3(char*pl,char*p2){while((*p1++=*p2++);)
    • D、strcpy4(char*p1,char*p2){whi1e(*p2)*pl++=*p2++;}

    正确答案:D

  • 第12题:

    单选题
    已知有数组定义char a[3][4];下列表达式中错误的是(  )。
    A

    a[2]=“WIN”

    B

    strcpy(a[2],“WIN”)

    C

    a[2][3]=′W ′

    D

    a[0][1]=a[0][1]


    正确答案: C
    解析:
    A项错误,对于二维数组a,a[2]表示第三行第一个元素地址,不能用等号进行赋值操作。

  • 第13题:

    以下能正确定义一维数组的选项是( )。

    A.int a[5]=(0,1,2,3,4,5);

    B.char a[]={0,1,2,3,4,5);

    C.char a={A ,B,C};

    D.int a[5]="0123";


    正确答案:B
    数组1标从0开始,A选项中所赋值的个数超过了数组的长度;C选项中定义a为字符型变量,而不是数组,赋值错误;D选项中,整型数组不能赋字符串。

  • 第14题:

    以下能正确定义一维数组的选项是______。

    A.int a[5]={0, 1, 2, 3, 4, 5);

    B.char a[]={0, 1, 2, 3, 4, 5);

    C.char a={'A', 'B', 'C'};

    D.int a[5]="0123";


    正确答案:B
    解析:A中初值的个数大于a的定义的长度,错误。C中a被定为字符却给它赋值为数值,错误。D中a是整型数组却给它赋值为字符串,错误。

  • 第15题:

    下列能正确定义一维数组的选项是( )。

    A.int a[5]={0,1,2,3,4,5);

    B.char a[]={0,1,2,3,4,5};

    C.char a={'A','B','C'};

    D.int a[5]="0123";


    正确答案:B
    解析:在定义数组时,如果赋给的初始值个数大于数值的长度,这样就会越界,因此选项A)错误;选项C)中定义的是一个字符变量C:选项D)中整型数组a中只能存储整型数据,而不能存储字符串常量“0123”。

  • 第16题:

    已知有数组定义char a[3][4];下列表达式中错误的是

    A.a[2]=”WIN”

    B.strcpy(a[2],“WIN”)

    C.a[2][3]=‘W’

    D.a[0][1]=a[0][1]


    正确答案:A
    解析:字符数组不能直接赋值,所以选项A)错误。

  • 第17题:

    合法的数组定义是 ( )

    A.int a[ ]="string";

    B.int a[5]={0,1,2,3,4,5};

    C.char a="string";

    D.char a={0,1,2,3,4,5};


    正确答案:D

  • 第18题:

    下列合法的数组定义是______。

    A.int a[]="string";

    B.int a[5]={0,1,2,3,4,5};

    C.char s="string";

    D.char a[]={0,1,2,3,4,5};


    正确答案:D
    解析:选项A错在用字符串对整型数组赋值;选项B错在初始化表中数据的个数多于数组的最大长度;选项C错在没有用数组存储字符串;选项D的初始化表中虽然是5个数,但实际相当于把ASCⅡ码值是这5个整数的字符赋值给数组,因此是正确的。

  • 第19题:

    若有以下定义和语句,则对w数组元素非法引用的是______。 int w[2][3],(*pw)[3];pw=w;

    A.w[0]+2

    B.*(pw+1)[2]

    C.pw[0][0]

    D.*(pw[1]+2)


    正确答案:B
    解析:选项A表示元素w[0][2],选项C表示元素w[0][0],选项D表示元素w[1][2],而选项B中pw+1表示第2行元素的地址,(pw+1)[2]相当于(pw+1)+2,表示第4行元素的地址,显然超出该二维数组的范围。

  • 第20题:

    在下列叙述中,错误的是( )。

    A)C语言中,二维数组或多维数组是按行存放的

    B)赋值表达式b[1][2]=a[2][3]是正确的

    C)char a[1];a[0]='A'与int a[1];a[0]='A'等价

    D)数组名后的方括号内可以为常量表达式,也可以为变量


    正确答案:D

  • 第21题:

    若有以下定义,intw[3][4]={{0,1},{2,4},{0,1},{0,1}},(*p)[4]=w;则数值为4的表达式是()。

    • A、*w[1]+1
    • B、p++,*(p+1)
    • C、w[2][2]
    • D、p[1][1]

    正确答案:D

  • 第22题:

    数组定义为inta[2][3]={1,2,3,4,5,6},数组元素()的值为1。

    • A、a[1][2]
    • B、a[1][1]
    • C、a[2][3]
    • D、a[0][0]

    正确答案:D

  • 第23题:

    合法的数组定义是()

    • A、int a[ ]="string";
    • B、int a[5]={0,1,2,3,4,5};
    • C、char s="string";
    • D、char a[ ]={0,1,2,3,4,5};

    正确答案:D

  • 第24题:

    单选题
    若有定义:int w[3][5];则以下不能正确表示该数组元素的表达式是(  )。
    A

    *(w+1)[4]

    B

    *(*w+3)

    C

    *(*(w+1))

    D

    *(&w[0][0]+1)


    正确答案: D
    解析:
    a数组元素可用五种表达式来引用:①a[i][j];②*(a[i]+j);③*(*(a+i)+j);④(*(a+i))[j];⑤*(&a[0][0]+N*i+j)。A项,C语言中规定,方括号的优先级高于*,相当于*((w+1)[4]),不能表示数组元素。B项,*w是w[0]的地址,*w+3是w[0][3]的地址,表示数组元素w[0][3];C项,*(w+1)是w[1]的地址,表示数组元素w[1][0];D项,&w[0][0]是元素w[0][0]的地址,&w[0][0]+1是元素w[0][1]的地址,表示数组元素w[0][1]。答案选择A选项。