c语言链表程序题库,c语言指针题库.doc

c语言指针题库

第五章 指针

一、选择题

1. 以下程序的输出结果是 。

#include

void main( )

{

char a[10]={'1','2','3','4','5','6','7','8','9',0},*p;

int i;

i=8;

p=a+i;

printf ("%s\n",p-3);

}

A)6 B)'6' C)6789 D)789

答案:C

2. 若有语句:char *line[5];,以下叙述中正确的是______。

 A)定义line是一个指针数组,每个数组元素是一个基类型为char的指针变量

 B)定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组

 C)定义line是一个指针数组,语句中的*号称为间址运算符

 D)定义line是一个指向字符型函数的指针设有定义:int n1=0,n2,*p=&n2,*q=&n1;,以下赋值语句中与n2=n1;语句等价的是

 A)*p=*q; B)p=q; C)*p=&n1; D)p=*q;若有定义:int x=0, *p=&x;,则语句printf("%d\n",*p);的输出结果是______。

 A)随机值 B)0 C)x的地址 D)p的地址有以下程序

#include

void main()

{

int a[10]={1,2,3,4,5,6,7,8,9,10}, *p=&a[3], *q=p+2;

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

}程序运行后的输出结果是______。

 A)16 B)10 C)8 D)6有以下程序

#include

void main()

{

int a[3][3],*p,i;

p=&a[0][0];

for(i=0;i<9;i++) p[i]=i;

for(i=0;i<3;i++) printf("%d",a[1][i]);

}程序运行后的输出结果是______。

A)012 B)123 C)234 D)345以下语句或语句组中,能正确进行字符串赋值的是______。

A)char *sp;*sp="right!"; B)char s[10];s="right!";C)char s[10];*s="right!"; D)char *sp="right!";

设有以下语句:struct st {int n; struct st *next;};

static struct st a[3]={5,&a[1],7,&a[2],9,'\0'},*p;

p=&a[0];

则表达式的值是6。 A)p ++ ->n B) p->n ++ C) (*p).n ++ D) ++ p->n

答案:D

9.以下程序的输出结果是#include

struct HAR

{

int x, y;

struct HAR *p;

} h[2];

void main()

{

h[0].x=1;h[0].y=2;

h[1].x=3;h[1].y=4;

h[0].p=&h[1];h[1].p=h;

printf("%d%d \n",(h[0].p)->x,(h[1].p)->y);

}

A) 12 B) 23 C) 14 D) 32答案:D

10.有以下程序#include

struct STU

{

char num[10];

float score[3];

};

void main()

{

struct STU s[3]={{"20021",90,95,85},

{"20022",95,80,75},

{"20023",100,95,90}

},*p=s;

int i;

float sum=0;

for(i=0;i<3;i++)

sum=sum+p->score[i];

printf("%6.2f\n",sum);

}

程序运行后的输出结果是A) 260.00 B) 270.00 C) 280.00 D) 285.00

答案:B

11. 有以下程序#include

#include

struct NODE

{

int num;

struct NODE *next;

};

void main()

{

struct NODE *p,*q,*r;

p=(struct NODE*)malloc(sizeof(struct NODE));

q=(struct NODE*)malloc(sizeof(

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值