9指针.docx

上传人:b****6 文档编号:6566825 上传时间:2023-01-08 格式:DOCX 页数:14 大小:18.31KB
下载 相关 举报
9指针.docx_第1页
第1页 / 共14页
9指针.docx_第2页
第2页 / 共14页
9指针.docx_第3页
第3页 / 共14页
9指针.docx_第4页
第4页 / 共14页
9指针.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

9指针.docx

《9指针.docx》由会员分享,可在线阅读,更多相关《9指针.docx(14页珍藏版)》请在冰豆网上搜索。

9指针.docx

9指针

试卷编号:

10107

所属语言:

TurboC

试卷方案:

c9

试卷总分:

520分

共有题型:

2种

 

一、填空共9题(共计90分)

第1题(10.0分)题号:

367

执行下列语句后,*(p+1)的值是【1】.

chars[3]="ab",*p;

p=s;

答案:

1).b

 

第2题(10.0分)题号:

368

将数组a的首地址赋给指针变量p的语句是【1】.

答案:

1).p=a;

 

第3题(10.0分)题号:

504

在c程序中,可以通过三种运算方式为指针变量赋地址值,它们是【1】,=,malloc.

答案:

1).&

 

第4题(10.0分)题号:

503

在c程序中,只能给指针赋NULL值和【1】值.

答案:

1).地址

 

第5题(10.0分)题号:

539

若有定义:

inta[3][2]={2,4,6,8,10,12};,则*(a[1]+1)的值是【1】.

答案:

1).8

 

第6题(10.0分)题号:

540

若有以下定义和语句:

inta[5]={1,3,5,7,9},*p;

p=&a[2];

则++(*p)的值是【1】.

答案:

1).6

 

第7题(10.0分)题号:

534

若有以下定义和语句:

 

inta[4]={0,1,2,3},*p;

 

p=&a[2];

 

则*--p的值是【1】.

答案:

1).1

 

第8题(10.0分)题号:

414

设有以下定义的语句:

inta[3][2]={10,20,30,40,50,60},(*p)[2];

p=a;

则*(*(p+2)+1)值为【1】.

答案:

1).60

 

第9题(10.0分)题号:

369

将函数funl的入口地址赋给指针变量p的语句是【1】.

答案:

1).p=funl;

 

二、单项选择共43题(共计430分)

第1题(10.0分)题号:

200

若有定义:

char*p1,*p2,*p3,*p4,ch;

则不能正确赋值的程序语句为()。

A:

p1=&ch;scanf("%c",p1);

B:

p2=(char*)malloc

(1);scanf("%c",p2);

C:

*p3=getchar();

D:

p4=&ch;*p4=getchar();

答案:

C

第2题(10.0分)题号:

702

对于基本类型相同的两个指针变量之间,不能进行的运算是()。

A:

<

B:

=

C:

+

D:

-

答案:

C

第3题(10.0分)题号:

189

若已定义x为int类型变量,下列语句中说明指针变量p的正确语句是()。

A:

intp=&x;

B:

int*p=x;

C:

int*p=&x;

D:

*p=*x;

答案:

C

第4题(10.0分)题号:

207

执行下列语句后的结果为()。

intx=3,y;

int*px=&x;

y=*px++;

A:

x=3,y=4

B:

x=3,y=3

C:

x=4,y=4

D:

x=3,y不知

答案:

B

第5题(10.0分)题号:

682

sizeof(float)是()。

A:

一种函数调用

B:

一个不合法的表达式

C:

一个整型表达式

D:

一个浮点表达式

答案:

C

第6题(10.0分)题号:

706

若有说明:

int*p,m=5,n;以下正确的程序段是()。

A:

p=&n;scanf("%d",&p);

B:

p=&n;scanf("%d",*p)

C:

scanf("%d",&n);*p=n;

D:

p=&n;*p=m;

答案:

D

第7题(10.0分)题号:

188

两个指针变量不可以()。

A:

相加

B:

比较

C:

相减

D:

指向同一地址

答案:

A

第8题(10.0分)题号:

542

若有int*p=(int*)malloc(sizeof(int));则向内存申请到内存

空间存入整数123的语句为()。

A:

scanf("%d",p);

B:

scanf("%d",&p);

C:

scanf("%d",*p);

D:

scanf("%d",**p);

答案:

A

第9题(10.0分)题号:

205

变量p为指针变量,若p=&a,下列说法不正确的是()。

A:

&*p==&a

B:

*&a==a

C:

(*p)++==a++

D:

*(p++)==a++

答案:

D

第10题(10.0分)题号:

712

若有说明:

intn=2,*p=&n,*q=p;,则以下非法的赋值语句是()。

A:

p=q;

B:

*p=*q;

C:

n=*q;

D:

p=n;

答案:

D

第11题(10.0分)题号:

546

若有chara[80],*s=a;不正确的输入语句是()。

A:

scanf("%s",s);

B:

gets(s);

C:

fscanf(stdin,"%c",s);

D:

fgets(s,80,stdin);

答案:

C

第12题(10.0分)题号:

709

若定义:

inta=511,*b=&a;,则printf("%d\n",*b);的输出结果为()。

A:

无确定值

B:

a的地址

C:

512

D:

511

答案:

D

第13题(10.0分)题号:

708

下面判断正确的是()。

A:

char*a="china";等价于char*a;*a="china";

B:

charstr[10]={"china"};等价于charstr[10];str[]={"china"};

C:

char*s="china";等价于char*s;s="china";

D:

charc[4]="abc",d[4]="abc";等价于charc[4]=d[4]="abc";

答案:

C

第14题(10.0分)题号:

541

若有inti=3,*p;p=&i;下列语句中输出结果为3的是()。

A:

printf("%d",&p);

B:

printf("%d",*i);

C:

printf("%d",*p);

D:

printf("%d",p);

答案:

C

第15题(10.0分)题号:

715

若有说明:

inti,j=2,*p=&i;,则能完成i=j赋值功能的语句是()。

A:

i=*p;

B:

*p=*&j;

C:

i=&j;

D:

i=**p;

答案:

B

第16题(10.0分)题号:

540

指针变量p进行自加运算(即执行p++;)后,地址偏移值为2,则其

数据类型为()。

A:

int

B:

float

C:

double

D:

char

答案:

A

第17题(10.0分)题号:

716

设有定义:

intn=0,*p=&n,**q=&p;则以下选项中,正确的赋值语句是()。

A:

p=1;

B:

*q=2;

C:

q=p;

D:

*p=5;

答案:

D

第18题(10.0分)题号:

206

以下程序的输出结果是()。

main()

{chars[]="123",*p;

p=s;

printf("%c%c%c\n",*p++,*p++,*p++);

}

A:

123

B:

321

C:

213

D:

312

答案:

B

第19题(10.0分)题号:

705

若有语句int*point,a=4;和point=&a;下面均代表地址的一组选项是()。

A:

a,point,*&a

B:

&*a,&a,*point

C:

*&point,*point,&a

D:

&a,&*point,point

答案:

D

第20题(10.0分)题号:

704

变量的指针,其含义是指该变量的()。

A:

B:

地址

C:

D:

一个标志

答案:

B

第21题(10.0分)题号:

707

若有说明:

int*p1,*p2,m=5,n;以下均是正确赋值语句的选项是()。

A:

p1=&m;p2=&p1

B:

p1=&m;p2=&n;*p1=*p2;

C:

p1=&m;p2=p1;

D:

p1=&m;*p2=*p1;

答案:

C

第22题(10.0分)题号:

192

下面选择中正确的赋值语句是(设chara[5],*p=a;)()。

A:

p="abcd";

B:

a="abcd";

C:

*p="abcd";

D:

*a="abcd";

答案:

A

第23题(10.0分)题号:

199

若有inta[][]={{1,2},{3,4}};则*(a+1),*(*a+1)的含义分别为()。

A:

非法,2

B:

&a[1][0],2

C:

&a[0][1],3

D:

a[0][0],4

答案:

B

第24题(10.0分)题号:

197

以下程序段的输出结果是()。

char*alp[]={"ABC","DEF","GHI"};intj;puts(alp[1]);

A:

A

B:

B

C:

D

D:

DEF

答案:

D

第25题(10.0分)题号:

710

若有定义:

int*p[3];,则以下叙述中正确的是()。

A:

定义了一个基类型为int的指针变量p,该变量具有三个指针

B:

定义了一个指针数组p,该数组含有三个元素,每个元素都是基类型为int的指针

C:

定义了一个名为*p的整型数组,该数组含有三个int类型元素

D:

定义了一个可指向一维数组的指针变量p,所指一维数组应具有三个int类型元素

答案:

B

第26题(10.0分)题号:

195

若有下列定义和语句,则对a数组元素的非法引用是()。

inta[2][3],(*pt)[3];pt=a;

A:

pt[0][0]

B:

*(pt+1)[2]

C:

*(pt[1]+2)

D:

*(a[0]+2

答案:

B

第27题(10.0分)题号:

549

若有double*p,x[10];inti=5;使指针变量p指向元素x[5]的语句为()。

A:

p=&x[i];

B:

p=x;

C:

p=x[i];

D:

p=&(x+i)

答案:

A

第28题(10.0分)题号:

543

若有inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;则输出结果不为5

的语句为()。

A:

printf("%d",*(a+5));

B:

printf("%d",p[5]);

C:

printf("%d",*(p+5));

D:

printf("%d",*p[5]);

答案:

D

第29题(10.0分)题号:

196

若有下列定义,则对a数组元素地址的正确引用是()。

inta[5],*p=a;

A:

*(p+5)

B:

*p+2

C:

*(a+2)

D:

*&a[5]

答案:

C

第30题(10.0分)题号:

703

若有以下的定义:

intt[3][2];能正确表示t数组元素地址的表达式是()。

A:

&t[3][2]

B:

t[3]

C:

&t[1]

D:

t[2]

答案:

D

第31题(10.0分)题号:

186

已知p,p1为指针变量,a为数组名,j为整型变量,下列赋值语句中

不正确的是()。

A:

p=&j,p=p1;

B:

p=a;

C:

p=&a[j];

D:

p=10;

答案:

D

第32题(10.0分)题号:

194

若有下列定义,则对a数组元素地址的正确引用是()。

inta[5],*p=a;

A:

&a[5]

B:

p+2

C:

a++

D:

&a

答案:

B

第33题(10.0分)题号:

714

若有定义:

intaa[8];则以下表达式中不能代表数组元aa[1]的

地址的是()。

A:

&aa[0]+1

B:

&aa[1]

C:

&aa[0]++

D:

aa+1

答案:

C

第34题(10.0分)题号:

547

int(*p)[6];它的含义为()。

A:

具有6个元素的一维数组

B:

定义了一个指向具有6个元素的一维数组的指针变量

C:

指向整型指针变量

D:

指向6个整数中的一个的地址

答案:

B

第35题(10.0分)题号:

191

设有说明int(*ptr)[M];其中标识符ptr是()。

A:

M个指向整型变量的指针

B:

指向M个整型变量的函数指针

C:

一个指向具有M个整型元素的一维数组的指针

D:

具有M个指针元素的一维指针数组,每个元素都只能指向整型量

答案:

C

第36题(10.0分)题号:

471

以下程序段char*alp[]={"ABC","DEF","GHI"};intj;puts(alp[1]);

的输出结果是()。

A:

A

B:

B

C:

D

D:

DEF

答案:

D

第37题(10.0分)题号:

198

设有以下语句,若0

charstr[4][2]={"aaa","bbb","ccc","ddd"},*strp[4];

intj;

for(j=0;j<4;j++)

strp[j]=str[j];

A:

strp

B:

str[k]

C:

strp[k]

D:

*strp

答案:

A

第38题(10.0分)题号:

701

设char*s="\ta\017bc";则指针变量s指向的字符串所占的字节数

是()。

A:

9

B:

5

C:

6

D:

7

答案:

C

第39题(10.0分)题号:

699

下面说明不正确的是()。

A:

chara[10]="china";

B:

chara[10],*p=a;p="china"

C:

char*a;a="china";

D:

chara[10],*p;p=a="china"

答案:

D

第40题(10.0分)题号:

700

设p1和p2是指向同一个字符串的指针变量,c为字符变量,则以下

不能正确执行的赋值语句是()。

A:

c=*p1+*p2;

B:

p2=c;

C:

p1=p2;

D:

c=*p1*(*p2);

答案:

B

第41题(10.0分)题号:

711

下列选项中正确的语句组是()。

A:

chars[8];s={"Beijing"};

B:

char*s;s={"Beijing"};

C:

chars[8];s="Beijing";

D:

char*s;s="Beijing";

答案:

D

第42题(10.0分)题号:

544

char*s1="hello",*s2;s2=s1;则()。

A:

s2指向不确定的内存单元

B:

不能访问"hello"

C:

puts(s1);与puts(s2);结果相同

D:

s1不能再指向其它单元

答案:

C

第43题(10.0分)题号:

548

char*match(charc)是()。

A:

函数定义的头部

B:

函数预说明

C:

函数调用

D:

指针变量说明

答案:

A

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 少儿英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1