二级c语言之指针测试,全国计算机等级测验二级C语言指针测试题.doc

全国计算机等级测验二级C语言指针测试题

———————————————————————————————— 作者:

———————————————————————————————— 日期:

一、选择题

(1)设有定义:int n1=0,n2,*p=&n2,*q=&n1;,以下赋值语句中与n2=n1;语句等价的是A

A)*p=*q;   B)p=q;   C)*p=&n1;  D)p=*q;

(2)若有定义:int x=0, *p=&x;,则语句printf("%d\n",*p);的输出结果是B

A)随机值   B)0   C)x的地址  D)p的地址

(3) 以下定义语句中正确的是C

A) char a='A'b='B'; B) float a=b=10.0; C) int a=10,*b=&a; D) float *a,b=&a;

(4) 有以下程序C

main()

{ int a=7,b=8,*p,*q,*r;

p=&a;q=&b;

r=p; p=q;q=r;

printf("%d,%d,%d,%d\n",*p,*q,a,b);

}

程序运行后的输出结果是

A) 8,7,8,7   B) 7,8,7,8   C) 8,7,7,8   D) 7,8,8,7

(5) 设有定义:int a,*pA=&a;以下scanf语句中能正确为变量a读入数据的是A

A) scanf(“%d”,pA) ; B) scanf(“%d”,a) ; C) scanf(“%d”,&pA) ; D) scanf(“%d”,*pA) ;

(6) 设有定义:int n=0,*p=&n,**q=&p;则以下选项中,正确的赋值语句是D

A) p=1;   B) *q=2;   C) q=p;   D) *p=5;

(7) 有以下程序A

以下是引用片段:

void fun(char *a, char *b)

{ a=b; (*a)++; }

main ()

{ char c1="A", c2="a", *p1, *p2;

p1=&c1; p2=&c2; fun(p1,p2);

printf(“%c%c\n”,c1,c2);

}

程序运行后的输出结果是

A) Ab   B) aa   C) Aa   D) Bb

(8) 若程序中已包含头文件stdio.h, 以下选项中,正确运用指针变量的程序段是D

A) int *i=NULL; B) float *f=NULL;

scanf("%d",i); *f=10.5;

C) char t="m", *c=&t;   D) long *L;

*c=&t;    L=‘\0’;

(9) 有以下程序A

以下是引用片段:

#inc1ude

main()

{ printf("%d\n", NULL); }

程序运行后的输出结果是

A) 0   B) 1   C) -1  D) NULL没定义,出错

(10) 已定义以下函数C

fun (int *p)

{ return *p;}

该函数的返回值是

A) 不确定的值    B) 形参p中存放的值

C) 形参p所指存储单元中的值   D) 形参p的地址值

(11) 下列函数定义中,会出现编译错误的是B

A) max(int x, int y,int *z)   B) int max(int x,y)

{ *z=x>y ? x:y; }  {   int z ;

z=x>y? x:y;

return z ;   }

C) max (int x,int y)   D) int max(int x,int y)

{ int

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值