c语言指针详解 pdf,C语言指针练习(包括答案和详解).pdf

这篇博客详细解析了C语言中的指针操作,包括指针的声明、赋值及使用。通过实例分析了非法与合法的赋值语句,如pq、*p*q、a*q、qa等,并探讨了指针变量与整型变量之间的交互,如*b的输出结果、p1p2的赋值等。此外,还讨论了变量的指针含义,以及如何正确从键盘读取多个整数到指针变量。文章最后列举了代表地址的一组选项,帮助读者深入理解指针与地址的关系。
摘要由CSDN通过智能技术生成

第七章 指针

7 .1 选择题

1. 若有说明:int a 2, *p &a, *q p;,则以下非法的赋值语句是 (D)。

A. p q; B. *p *q; C. a *q; D. q a;

a是整型数,

int *p,*q定义了指针,

p,q是指向整型的指针。

p取得a的地址,而q取得p 的地址

p,q是指针 (也就是一个地址),而*p和*q是这个指针指向的整型数值 (存

放在这个地址的值)。

A) 把q的地址赋给p,则p和q完全一样了,都指向一个数2

B) 把q中数据个p

C) 把q中数据给a

D) a 中数据是2,不能够给一个地址。除非*q a

2. 若定义:int a 511, *b &a;,则printf("%d\n", *b);的输出结果为:D

A. 无确定值 B. a的地址 C. 512 D. 511

int a 511,*b &a;

a 是整形变量

b 是整形指针变量,指向 a

printf("%d\n",*b);就是输出指针变量 b,

所指变量的值输出结果511

3.已有定义 inta 2,*p1 &a,*p2 &a; 下面不能正确执行的赋值语句是(B)。

A.a *p1+*p2; B.p1 a; C.p1 p2; D.a *p1*(*p2);

47、已知在程序中定义了如下的语句:

int *P1,*P2;

int k;

p1 &k;p2 &k;

则下列语句中不能正确执行是 (B )

A、k *P1+*P2; B、p2 k; C、P1 P2; D、K *P1 * (*P2);

P1 P2是指针,K是整型变量,变量怎么可以赋值给指针呢?

A其实是执行了K K+K (P1和P2都指向K,所以*P1 *P2其实都是指K)

C是赋值语句

D其实执行了K K*K

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

A. 值 B. 地址 C. 名 D. 一个标志

5. 若有说明语句:int a, b, c, *d &c;,则能正确从键盘读入三个整数分别

赋给变量a、b、c的语句是 (A)。

A. scanf("%d%d%d", &a, &b, d);

B. scanf("%d%d%d", a, b, d);

C. scanf("%d%d%d", &a, &b, &d);

D. scanf("%d%d%d", a, b,*d);

对于int c,*d &c;,c是一整型数据,d是一指针,它指向变量c (即d &c,*

是指针类型的说明符),所以,输入c 的值可以用 scanf("%d",&c); 也可以用

scanf("%d",d);

6. 若已定义int a 5; 下面对 (1)、(2)两个语句的正确解释是 (D)。

(1) int *p &a; (2) *p a;

A. 语句 (1)和 (2)中的*p含义相同,都表示给指针变量p赋值。

B. (1)和(2)语句的执行结果,都是把变量a 的地址值赋给指针变量p。

C. (1)在对p进行说明的同时进行初始化,使p指向a;

(2)变量a 的值赋给指针变量p。

D. (1)在对p进行说明的同时进行初始化,使p指向a;

(2)将变量a的值赋予*p。

A:(1):*p,定义p为int类型指针 (2):*p,表示p所指向的变量

B (1)把变量a 的地址赋给指针变量p (2)把变量a的值,赋值给P所

指向的变量

C前半句正确,后半句错误,(2)是把变量a的值赋值给P所指的变量。

7. 若有语句int *p, a 10;p &a; 下面均代表地址的一组选项是 (D)。

A. a, p, *&a B. &*a, &a, *p

C. *&p, *p, &a

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值