【C语言】之''指针部分''

老师平时布置的希冀系统上的作业答案,仅供参考!

1.【单选题】

  • 有四组对指针变量进行操作的语句,以下判断正确的选项是【正确答案: D】

(1)int p,q;q=p;

int a,p,q;p=q=&a;

(2)int a,p,q;q=&a;p=*q;

int a=20,p;p=a;

(3)int a=b=0,p;p=&a;b=p;

int a=20,p,q=&a;p=q;

(4)int a=20,p,q=&a;p=q;

int p,*q;q=&p;

A)正确:(1) 不正确:(2),(3),(4)

B)正确:(1),(4) 不正确:(2),(3)

C)正确:(3) 不正确:(1),(2),(4)

D)以上结论都不正确

2.【单选题】
下面程序欲对两个整型变量的值进行交换,以下正确的说法是【正确答案: D】

main()

{int a=10,b=20;

printf("(1)a=%d,b=%d\n",a,b);

swap(&a,&b);

printf("(2)a=%d,b=%d\n",a,b);

}

swap (int p,int q)

{int t;

t=p;p=q;q=t;}

A)该程序完全正确

B)该程序有错,只要将语句swap(&a,&b);中的参数改为a,b即可

C)该程序有错,只要将swap()函数中的形参p、q和变量t均定义为指针即可

D)以上说法都不正确

3.
设有说明 int (* ptr) [M]; 其中ptr是【正确答案: C】

(A) M个指向整型变量的指针
(B) 指向M个整型变量的函数指针
(C) 一个指向具有M个整型元素的一维数组的指针
(D) 具有M个指针元素的一维指针数组,每个元素都只能指向整型量

4.
若有说明: char *language[] = {“FORTRAN”, “BASIC”, “PASCAL”, “JAVA”, “C”};则以下不正确的叙述是【正确答案: D】

(A) (language+2) 表示字符串”PASCAL”的首地址
(B)
language[2]的值是字母P
(C) language是一个字符型指针数组,它包含5个元素,每个元素都是一个指向字符串变量的指针
(D) language包含5个相同长度的数组

5.
若有定义语句 int (*p)(); ,则p的含义是 【正确答案: B】

(A) p是一个函数,该函数返回指向整型数据的指针。
(B) p是一个指向函数的指针,该函数返回整型值。
(C) p是一个指向整型数据的指针变量。
(D) 以上说法都是错误的。

6.
若有函数 max(a, b), 并且已使函数指针变量p指向函数max,当调用该函数时,

正确的调用方法是【 正确答案: c】.

(A)(p)max(a, b);
(B)
pmax(a, b);
(C)(p)(a, b);
(D)
p(a, b);

7.
设有说明 int (* ptr) [M]; 其中ptr是【 正确答案: C】

(A)M个指向整型变量的指针
(B)指向M个整型变量的函数指针
(C)一个指向具有M个整型元素的一维数组的指针
(D)具有M个指针元素的一维指针数组,每个元素都只能指向整型量

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容