老师平时布置的希冀系统上的作业答案,仅供参考!
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个指针元素的一维指针数组,每个元素都只能指向整型量
暂无评论内容