试题23若有定义语句:double a, *p=&a; 以下叙述中错误的是()A.定义语句中的*号是一个间址运

题目

试题23

若有定义语句:double a, *p=&a; 以下叙述中错误的是()

A.定义语句中的*号是一个间址运算符

B.定义语句中的*号只是一个说明符

C.定义语句中的p只能存放double类型的变量

D.定义语句中,*p=&a把变量a的地址作为初值赋给指针变量p

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

若有定义语句: double x[5]={1.0,2.0,3.0,4.0,5.0},*p=x; 则错误引用 x 数组元素的是

A)*p

B)x[5]

C)*(p+1)

D)*x


正确答案:B

第2题:

若有语句:char *line[5];,以下叙述中正确的是

A.定义line是一个数组,每个数组元素是一个基类型为char为指针变量

B.定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组

C.定义line是一个指针数组,语句中的*号称为间址运算符

D.定义line是一个指向字符型函数的指针


正确答案:A
解析:C语言中[ ]比*优先级高,因此line先与[5]结合,形成line[5]形式,这是数组形式,它有5个元素,然后再与line前面的"*"结合,表示此数组是一个指针数组,每个数组元素都是一个基类型为char的指针变量。

第3题:

假定k是一个double类型的变量,则定义变量p的正确语句为()。

a. double p=&k;

b. int *p=&k;

c. double &p=*k;

d. char *p="Thank you!";


正确答案是:D

第4题:

若有定义语句:double a,*p=&a;,以下叙述中错误的是( )。 A.定义语句中的*号是一个间址运算符S

若有定义语句:double a,*p=&a;,以下叙述中错误的是( )。

A.定义语句中的*号是一个间址运算符

B.定义语句中的*号只是一个说明符

C.定义语句中的P只能存放double类型变量的地址

D.定义语句中,*p=&n把变量a的地址作为初值赋给指针变量P


正确答案:C
doublea,*p=&a语句的意思是将a的值存放到指针变量P中,P是指针可以随意指向任何地址,所以答案C错误。

第5题:

若有语句:char*line[5];,以下叙述中正确的是

A.定义line是一个数组,每个数组元素是一个基类型为char的指针变量

B.定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组

C.定义line是一个指针数组,语句中的。号称为间址运算符

D.定义line是一个指向字符型函数的指针


正确答案:A
解析:C语言中[]比*优先级高,因此line先与[5]结合,形成line[5]形式,这是数组形式,它有5个元素,然后再与line前面的“*”结合,表示此数组是一个指针数组,每个数组元素都是一个基类型为char的指针变量。

第6题:

若有下面的变量定义,inti,a[10],*p;以下语句中合法的是()

A、p=a+2;

B、p=a[5];

C、p=a[2]+2;

D、p=


参考答案:A

第7题:

若有定义语句:int a[2][3],*p[33;,则以下语句中正确的是( )。

A.p=a;

B.p[0]=a;

C.p[0]=&a[1][2];

D.p[1]=&a


正确答案:B
解析:本题考查的重点是指针数组与二维数组的关系。因为*p[3]定义成指针数组,从而指针数组中的任何元素都是一个地址,因此,选项B是正确的。

第8题:

若有定义语句: int a[2][3],*p[3]; ,则以下语句中正确的是A ) p=a;B)p[0]=a; C) p[0]=&am

若有定义语句: int a[2][3],*p[3]; ,则以下语句中正确的是

A ) p=a;

B)p[0]=a;

C) p[0]=&a[1][2];

D)p[1]=&a;


正确答案:C

                                           

第9题:

若有以下定义和语句:includeinta=4,b=3,*p,*q,*w;p=&a; q=&b; w=q; q=NULL;则

若有以下定义和语句: #include<stdio.h> int a=4,b=3,*p,*q,*w; p=&a; q=&b; w=q; q=NULL; 则以下选项中错误的语句是( )。

A.*q=0;

B.w=p;

C.*p=a;

D.*p=*w;


正确答案:A
解析:本题中定义了3个指向整型的指针变量p、q、w,并让p指向a,让q指向b,通过将q的值赋给w,使w也指向b,最后将q指向NULL。因为q指向NULL,所以选项A中对q所指地址进行写入是非法的。故A选项为所选。

第10题:

若有定义语句:double x[5]={1.0,2.0,3.0,4.0,5.0},*p=x;则错误引用x数组元素的是______。

A.*p

B.x[5]

C.*(p+1)

D.*x


正确答案:B
解析:本题定义了一个有5个数组元素的—维数组x和指针变量p,且将x的首地址(即x[0])的地址)赋给了指针变量p,即p指向了x数组的第0号元素,所以*p的值为x[0]的值,选项A的引用正确;由于p+1就是x[1]的地址,所以*(p+1)所指向的数组元素为x[1],故选项C的引用正确;由于x就是数组x的首地址,所以*x即对x[0]的引用,所以选项D引用正确;由于数组最大下标是元素个数减一,所以选项B的引用越界。

更多相关问题