c语言善于利用指针例题,二级C语言历年真题汇总__第8篇善于利用指针-李赛红.doc...

第8章 善于利用指针

指针是什么

指针变量

(2012年9月真题 21题)设有定义:int x=0,*p;?,立刻执行以下语句,正确的语句是

A)p=x;????????B)*p=x;???????C)p=NULL;??????D)*p=NULL;

答案:C

(2012年3月真题 27题)有以下程序

#include

main()

{int a,b,k,m,*p1,*p2;

k=1,m=8; p1=&k,p2=&m;

a=/*p1-m; b=*p1+*p2+6;

printf(“%d ”,a); printf(“%d\n”,b); }

编译时编译器提示错误信息,你认为出错的语句是

A、a=/*p1-m B、b=*p1+*p2+6

C、k=1,m=8; D、p1=&k,p2=&m;

答案:A

(2011年9月真题 23题)若有定义语句:double a,*p=&a;以下叙述中错误的是

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

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

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

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

答案:A

(2011年9月真题 25题)若定义语句:int year=2009,*p=&year;,以下不能使变量 year 中的值增至 2010 的语句是:

A.*p+=1; B.(*p)++; C.++(*p); D.*p++;

答案:D

(2010年9月真题 25题)以下程序段完全正确的是A)int *p;? scanf("%d",&p);B)int *p;? scanf("%d",p);C)int k, *p=&k;? scanf("%d",p);D)int k, *p;? *p= &k;?? scanf("%d",p);

答案:C

(2010年3月真题 23题)下列语句组中,正确的是

A)char *s;s="Olympic"; B)char s[7];s="Olympic";

C)char *s;s={"Olympic"};D)char s[7];s={"Olympic"};

答案:A

(2010年3月真题 26题)有以下程序

#include

void fun(char *c,int d)

{*c=*c+1;d=d+1;

printf("%c,%c,",*c,d);

}

main()

{char b='a',a='A';

fun(&b,a);

printf("%c,%c\n",b,a);}

程序运行后的输出结果是

A)b,B,b,A  B)b,B,B,A

C)a,B,B,a  D)a,B,a,B

答案:A

(2009年3月真题 26题)有以下程序

#include

void fun(int *a,int *b)

{ int *c; c=a;a=b;b=c; }

main()

{ int x=3,y=5,*p=&x,*q=&y;

fun(p,q); printf("%d,%d,",*p,*q);

fun(&x,&y);printf("%d,%d\n",*p,*q); }

程序运行后输出的结果是

A)3,5,5,3 B)3,5,3,5 C)5,3,3,5 D)5,3,5,3

答案:B

(2009年3月真题 27题)有以下程序

#include

void f(int *p,int *q);

main()

{ int m=1,n=2,*r=&m;

f(r,&n); printf("%d,%d",m,n); }

void f(int *p,int *q)

{p=p+1;*q=*q+1;}程序运行后的输出结果是

A)1,3 B)2,3 C)1,4 D)1,2

答案:A

(2008年4月真题 15题)以下定义语句中正确的是( )。

A)int a=b=0;B)char A=65+1,b='b';

C)float a=1,*b=&a,*c=&b;D)double a=0.0;b=1.1;

答案:B

通过指针引用数组

(2012年9月真题 27题)有以下程序

#include

main()

{int a[]={10,20,30,40},*p=a,i;

for(i=0;i<=3;i++){a[i]=*p;p++;}

printf("%d\n",a[2]);}

程序运行后的输出结果是

A)30?????????????B)40????????????C)10??????????????D)20

答案:A

(2012年9月真

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值