搜档网
当前位置:搜档网 › C语言 第十章 指针

C语言 第十章 指针

C语言 第十章    指针
C语言 第十章    指针

第十章指针

A部分(本、专科必做)

一、选择题

1、若有定义:int x,*pb;则以下正确的表达式是(A)

A、pb=&x

B、pb=x

C、*pb=&x

D、*pb=*x

2、以下程序的输出结果是(B)

A、因变量无定义输出不定值

B、0

C、-1

D、1

#include

void main()

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

3、以下程序的输出结果是(B)

A、5,2,3

B、-5,-12,-7

C、-5,-12,-17

D、5,-2,-7 #include

void sub(int x,int y,int *z)

{*z=y-x;}

void main()

{

int a,b,c;

sub(10,5,&a); sub(7,a,&b); sub(a,b,&c);

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

}

4、以下程序的输出结果是(C)

A、4

B、6

C、8

D、10

#include

void main()

{

int k=2,m=4,n=6;

int *pk=&k,*pm=&m,*p;

*(p=&n)=*pk*(*pm);

printf(“%d\n”,n);

}

5、已知指针p的指向(图一)的a[1],则执行语句*p++;后,*p的值是(B)。

A、20

B、30

C、21

D、31

a[0] a[1] a[2] a[3] a[4]

10

20

30

40

50

(图一)

6、已知指针p的指向(图一)的a[1],则表达式*++p的值是(B)。

A、20

B、30

C、21

D、31

7、已知指针p的指向(图一)的a[1],则表达式++*p的值是(C)。

A、20

B、30

C、21

D、31

8、以下程序的输出结果是(D)。

A、23

B、24

C、25

D、26

#include

void prtv(int *x)

{printf(“%d\n”,++*x);}

void main()

{

int a=25;prtv(&a);

}

9、以下程序的输出结果是(B)。

A、运行出错

B、100

C、a的地址

D、b的地址

#include

void main()

{

int **k,*a,b=100;

a=&b;k=&a;

printf(“%d\n”,**k);

}

10、以下程序运行后,输出结果是(D)。

A) 8 B) 7 C) 6 D) 5

#include

ss(char *s)

{ char *p=s;

while(*p) p++;

return(p-s);

}

main()

{ char *a="abded";

int i;

i=ss(a);

printf("%d\n",i);

}

二、填空题

1、若有定义:char ch;

(1)使指针p指向变量ch的定义语句是char *p=&ch; 。

(2)若已定义char *p;,使指针p指向变量ch的赋值语句是p=&ch; 。(3)在(1)的基础上,通过指针p给变量ch读入字符的scanf调用语句是scanf(“%c”,p); 。

(4)在(1)的基础上,通过指针p给变量ch赋字符’a’的语句是*p=’a’; 。(5)在(1)的基础上,通过指针p用格式输出函数输出ch中字符的语句是printf(“%c”,*p); 。

2、以下程序输出的是 C 。

void main( )

{ int i=3, j=2;

char *a="DCBA";

printf("%c%c\n",a[i],a[j]);

}

3、以下函数的功能是,把两个整数指针所指的存储单元中的内容进行交换。请填空。

void exchange(int *x, int *y)

{ int t;

t=*y; *y= *x ; *x= t ;

}

B部分(本科必做)

程序填空:

1、下面程序的输出结果是 A B C D B C D C D D 。

char b[]="ABCD";

void main()

{ char *chp;

for(chp=b; *chp: chp+=2) printf("%s",chp);

printf("\n");

}

下面是一个字符串连接函数,请补充完整。

void mystrcat(char *s1,char *s2)

{

char *p,*q;

for(p=s1; *p ; p++ );

for( q=s2 ;*q;q++) *p++=*q ;

*p=’\0’;

}

相关主题