niusouti.com

有如下定义: int a[5]={1,3,5,7,9},* P=a; 下列表达式中不能得到数值5的是( )。 A.a[2]SXB有如下定义: int a[5]={1,3,5,7,9},* P=a; 下列表达式中不能得到数值5的是( )。A.a[2]B.a[3]C.*(P+2)D.+P+4

题目
有如下定义: int a[5]={1,3,5,7,9},* P=a; 下列表达式中不能得到数值5的是( )。 A.a[2]SXB

有如下定义: int a[5]={1,3,5,7,9},* P=a; 下列表达式中不能得到数值5的是( )。

A.a[2]

B.a[3]

C.*(P+2)

D.+P+4


相似考题
更多“有如下定义: int a[5]={1,3,5,7,9},* P=a; 下列表达式中不能得到数值5的是( )。 A.a[2] ”相关问题
  • 第1题:

    有如下定义: inta[5]={1,3,5,7,9},*p=a; 下列表达式中不能得到数值5的是

    A.a[2]

    B.a[3]

    C.*(p+2)

    D.*p+4


    正确答案:B

  • 第2题:

    有如下定义:inta[5],*p;p=a;则下列描述错误的是()。

    A.表达式p=p+1合法的

    B.表达式a=a+1是合法的

    C.表达式p-a是合法的

    D.表达式a+2是合法的


    正确答案:B

  • 第3题:

    有如下定义: int a[5]={1,3,5,7,9}, * p=a; 下列表达式中不能得到数值5的是

    A.a[2]

    B.a[3]

    C.*(p+2)

    D.*p+4


    正确答案:B

  • 第4题:

    有如下说明int a[10]={1,2,3,4,5,6,7 },*p=a;则数值为5的表达式是A.*p+4 B.*(p+4) C.*p+=4 D.p+4


    正确答案:B
    本题考查C语言的数组元素的引用方法。我们在前面已经讲过了,比如数组元素a[0],可以用表达式*(p+0)即*p来引用;对于数组元素a[1],可以用表达式*(p+1)来引用,在这里,p+1的值就是数组元素a[1]的地址,对此地址使用“间接访问运算符”*(p+1)就代表存储单元a[1],注意,一对圆括号不可少。同样,对于数组元素a[2],则可以用表达式*(p+2)来引用,……,对于数组元素a[9],可以用表达式*(p+9)来引用。因此,当指针变量p指向a数组的起始地址时,若0≤i10,则数组元素a[i]可以用*(p+i)来表示。

  • 第5题:

    若有如下定义和语句: int s[4][5],(*p)[5]; p=S; 则指针对s数组中第三个元素的正确引用形式是( )。

    A.p[0][3]

    B.p[1][2]

    C.p[0][2]

    D.p[1][3]


    正确答案:C
    解析: “p=s;”语句将指针p指向数组s。而数组为二维数组,下标标识由0开始,所以第二个元素为下标为0行的2列,即p[0][2]。

  • 第6题:

    若有以下定义: int a[ ]={1,2,3,4,5,6,7,8,9,10},* p=a; 则值为3的表达式是 ( )

    A.p+=2,* (pd+ +)

    B.p+=2,* + +p

    C.p+=3,* p+ +

    D.p +=2,+ + * p


    正确答案:A

  • 第7题:

    若有以下定义: int a[]={1,2,3,4,5,6,7}; char c1='b',c2='1';则数值不为1的表达式是______。

    A.a[0]

    B.'c'-c1

    C.a['1'-c2]

    D.c1-0


    正确答案:D
    解析:字符在进行数学运算时取其ASCⅡ码值,“b”的ASCⅡ码为98,则D项中表达式的值不为1。

  • 第8题:

    若有以下定义语句: double a[5],*p=a; int i=0; 对a数组元素错误的引用是( )

    A.a[i]

    B.a[5]

    C.p[4]

    D.p[i]


    正确答案:B

  • 第9题:

    若有以下说明:int [10]={1,2,3.4,5,6,7,8,9,10},*p= a;则数值为6的表达式是()

    • A、p+6
    • B、*(p+6)
    • C、p+=5
    • D、p+5

    正确答案:C

  • 第10题:

    若有以下定义      int a〔 〕={1,2,3,4,5,6,7,8,9,10),*p=a;    则值为3的表达式是()   

    • A、p+=2,*(p++)
    • B、p+=2,*++p
    • C、p+=3,*p++
    • D、p+=2,++*P

    正确答案:A

  • 第11题:

    单选题
    有如下定义:int b[10]=1,2,3,4,5,6,7,8,9,10,*q=b;则数值为8的表达式是(  )。
    A

    *q+8

    B

    *(q+7)

    C

    *q+=8

    D

    q+7


    正确答案: B
    解析:
    数组的下标是从0到数组的长度减1。*(p+i)是取数组的
    第i+1个元素,即下标为i的元素。因此*(p+7)取数组的第八个元素,即元素8

  • 第12题:

    单选题
    有如下定义:int a[5]=1,3,5,7,9,*p=a;下列表达式中不能得到数值5的是(  )。
    A

    a[2]

    B

    a[3]

    C

    *(p+2)

    D

    *p+4


    正确答案: B
    解析:
    A项,a[2]是数组的第三个元素,即5;B项,a[3]是数组的第四个元素,即7;C项,*p = a[0],*(p+2) = a[2] = 5;D项,*p = a[0] =1,*p+4 = 5。

  • 第13题:

    有以下定义:“int a;long b;double X,Y;”,则以下选项中正确的表达式是( )。 A.a%(int x—y)SXB

    有以下定义:“int a;long b;double X,Y;”,则以下选项中正确的表达式是( )。

    A.a%(int x—y)

    B.a=x!=Y;

    C.(a*y)%b

    D.y=x+y=X


    正确答案:D
    选项A、C,取模运算符(%)用于计算两个整数相除所得的余数,intx-y与a*y的结果是双精度,因此不能使用取模运算符;选项B,a是属于整型变量,x、Y属于双精度变量,因此不能将x赋值给a。

  • 第14题:

    若有以下定义 int a[]={1,2,3,4,5,6,7 }; char c1='b',c2='2'; 则数值不为2的表达式是( )。

    A.a[1]

    B.'d'-c1

    C.a['3'-c2]

    D.c2-0


    正确答案:D
    解析:本题考查数组的定义、初始化及其引用,以及对字符ASCII码值的熟悉程度。解本题的关键在于熟悉字符的ASCII码值。字符在进行数学运算时取其ASCH码值,其中,'b'的ASCII码值为98,'d'的ASCII码值为100,字符'2',的ASCII码值为50。根据以上知识,可知D选项中表达式c2-0的值为50。

  • 第15题:

    若有以下定义和语句: int a[]={1,2,3,4,5,6,7,8,9,10},*p=a; 则值为3的表达式是______。

    A.p+=2,*(p++)

    B.p+=2,*++p

    C.p+=3,*p++

    D.p+=2,++*p


    正确答案:A
    解析:引用一个数组元素,可以用:(1)下标法,如a[i]形式:(2)指针法,如*(a+i)或*(p+i)。数组的下标从0开始,值为3的数组元素是a[2]。B、C的内容为a[3],D将a[2]前自加,结果为4。

  • 第16题:

    若有以下定义: int a[]={1,2,3,4,5,6,7); char cl='b',c2='2'; 则数值不为2的表达式是( )。

    A.a[1]

    B.'d'-c1

    C.a['3'-c2]

    D.c2-0


    正确答案:D

  • 第17题:

    若有以下定义和语句:int a[10]={1,2,3,4,5,6,7,8,9,10},* p=a则不能表示a数组元素的表达式是 ( )

    A.* p

    B.a[10]

    C.* a

    D.a[p-a]


    正确答案:B

  • 第18题:

    有如下说明: int a[10]={1,2,3,4,5,6,7,8,9,10},* P=a; 则数值为9的表达式是( )。 A.*P+9SXB

    有如下说明: int a[10]={1,2,3,4,5,6,7,8,9,10},* P=a; 则数值为9的表达式是( )。

    A.*P+9

    B.木(P+8)

    C.*P+=9

    D.P+8


    正确答案:B
    本题考查指向数组的指针,本题中指针变量P指向数组a,那么*P的值就是1,即表示数组的第一个元素,那么数值为9的表达式就是将指针向后移动8个地址,即P+8指向的是数组元素值为9,所以数值为9的表达式是*(P+8)。

  • 第19题:

    若有以下定义:int a[12]={1,2,3,4,5,6,7,8,9,10,11,12};char c='a', d, g;则下列表达式中,结果为4的是( )。

    A.a[g-c]

    B.a [4]

    C.a['d'-'c']

    D.a['d'-c]


    正确答案:D

  • 第20题:

    设有以下定义: int a[3][3]={1,2,3,4,5,6,7,8,9}; int(*Ptr)[3]=a,*p=a[0]; 则下列能够正确表示数组元素a[1][2]的表达式是_______。

    A.*((*ptr+1)[2])

    B.*(*(p+5))

    C.(*ptr+1)+2

    D.*(*(a+1)+2)


    正确答案:D
    解析:*(p+5)所指向的数组元素是a[1][2],所以B不对;ptr所指向的是—个含有三个元素的一维数组,所以A和C是错误的。

  • 第21题:

    设有如下定义:int a=1,b=2,c=3,d=4,m=5,n=6;则执行表达式:(m=a>b)‖(n=c>d)后,n的值是()    

    • A、1
    • B、0
    • C、5
    • D、6

    正确答案:B

  • 第22题:

    单选题
    有如下说明int a[10]=1,2,3,4,5,6,7,8,9,10,*p=a;则数值为9的表达式是(  )。
    A

    *p+9

    B

    *(p+8)

    C

    *p+=9

    D

    p+8


    正确答案: B
    解析:
    A项,*p = a[0] = 1;表达式*p + 9 = 1 + 9 = 10;B项,*(p+8) = a[8] = 9;C项,*p = *p + 9 = a[0] + 9 = 1+9 =10;D项,p+8表示a[8]的地址值,该值无法确定。

  • 第23题:

    单选题
    有如下说明语句inta[10]={1,2,3,4,5,6,7,8,9,10};int*p=a;则数值为9的表达式是()
    A

    *p+9

    B

    *(p+8)

    C

    *p+=9

    D

    p+7


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