内容发布更新时间 : 2025/5/29 14:23:37星期一 下面是文章的全部内容请认真阅读。
1.7 指针和引用
55. 已知int d=5, *pd=&d, b=3; 求下列表达式的值。
A. *pd*b B. ++*pd-b C. *pd++ D. ++(*pd)
答:15, 3 , 5, 6
56.选择填充。
(1)选择正确的说明语句为( )。
A. int N['b']; B. int N[4,9]; C. int N[][]; D. int *N[10]; 答:B
(2)若有定义:int a=100,*p=&a;则*p的值是( )。 A.变量p的地址 B. 变量a的地址值 C.变量a的值 D.无意义 答:C.
(3)下述程序的输出结果是( )。 #include
{
int a[5]={2,4,6,8,10};
int *p=a, **q=&p;
cout<<*(p++)<<','<< **q; }
A. 4,4 B. 2,2 C. 4,2 D. 4,5 答:B
(4)下述程序片段的输出是( )。 int a[3][4]={{1,2,3,4},{5,6,7,8}}; int x, *p=a[0];
x=(*p)*(*p+2)*(*p+4); cout<
A. 15 B. 14 C. 16 D. 13 答:A
(5)若有以下定义,则下列对数组引用正确的是( )。 int (*q)[3] = new int[2][3];
A. q[2][3] B. *q C. *(*q+2) D. *(*(q+2)+3) 答:C
(6)若要用如下程序片段使指针变量p指向一个存储动态分配的存储单元: float *p;
p=(float * ) new float;
则空白处应填入:
A.float * B. *float C 省略; D.( float )
(7)下列表示引用的方法中,( )是正确的。 已知:int m=10;
A. int &x=m; B. int &y= 10; C.int &z; D. float &t = &m; 答:A
57.分析下列程序的结果。 #include
void main()
{ int s[] ={15,4,3,2,1,0}; fun(3, s)=10;
cout<
答:10
58.用指针作为函数的参数,设计一个实现两个参数交换的函数。输入3个实数,按升序排序后输出。
59.编写函数void fun(