PTA C语言练习题12(指针1)

一、判断题
*若有定义int a[]={2,4,6,8,10},p=a;a的值是数组首地址,则 (p+1)的值是4。
自己T
正确F
因为

*  (p+1)=a[1]=4
* 而  ** (p+1)为 *( *(p+1))意思是二维数组的第一行第0个元素;

二、选择题
下列程序段的输出是____。
int c[]={1, 3, 5};
int *k=c+1;
printf("%d", *++k);

思想:*与++优先度一样,从右往左结合,故先算k+1,再取k[2];

2-7
下列程序执行后的输出结果是( )。
main( )
{ char a[10]={9, 8, 7, 6, 5, 4, 3, 2, 1, 0}, p=a+5;cout<<–p; }

cout<<*–p 意思是输出该值;

2-8

**下列程序执行后的输出结果是( )。
main( )
{ int a[ ]={1, 2, 3, 4, 5, 6, 7, 8, 9, 0}, p;p=a;cout<<p+9; }

由于符号优先性,先执行*p,后加9,故结果是9;

2-9
下列语句定义 x 为指向 int 类型变量 a 的指针,正确的是()。

A.int a, *x = a;
B.int a, *x = &a;
C.int *x = &a, a;
D.int a, x = a;

自己C
错因:a要先定义,才能有a的地址
正确B

2-12

int *p,a=10,b=1;
p=&a; a=*p + b;

执行该程序段后,a的值是11
自己,什么是常量什么是变量;
常量就是 程序运行中 不可以改变的量(数据)
变量 它其实就是内存一个小区域,用来保存数据的!
由于数据可以改变 所以叫变量

如何初始化指针
1.int *p1=&a;
2.int *p2;p2=&a;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值