-
。
编程题
1
用指向数组的指针变量输出数组的全部元素
#include
void main(
)
{
int
a[10], i;
int
*p;
for (i=0; i<10; i++)
cin>>a[i];
for (p=a;
p
p++)
cout<<*p<<
‘
t
’
;
}
#include
void main(
)
{
int
a[10], i;
int
*p=a;
for (i=0; i<10; i++)
cin>>a[i];
for (i=0; i<10; i++)
cout<<*p++<<
‘
t
’
;
}
2 < br>使用函数调用,
形参为指针,
实参为数组,
把一个数组逆序存放在
输出
-
可编辑修改
-
。
#include
void
inv(int *x, int n)
;
void main(
)
{
int
i, a[10]={3,7,9,11,0,6,7,5,4,2};
inv(a,10);
for (i=0;i<10; i++)
cout<‘
t
’
;
}
void
inv(int *x, int n)
{
int
*p, t, *i, *j, m=(n-1)/2;
i=x; j=x+n-1; p=x+m;
for (; i<=p; i++,j--)
{ t=*i;
*i=*j; *j=t;
}
}
void
inv(int x[ ], int n)
{
int
t, i, j, m=(n-1)/2;
for (i=0;i<=m; i++)
{
j=n-1-i;
t=x[i]; x[i]=x[j];
x[j]=t;
}
-
可编辑修改
-
。
}
一
判断题
×
1
.指针是变量,它具有的值是某个变量或对象的地址值,它
还 具有一个地址值,这两个地址值是相等的。
√
2
.指针的类型是它所指向的变量或对象的类型。
×
3
.定义指针时不可以赋初值。
√
4
.
指针可以赋值,
给指针赋值时一定要类型相同,
级别一致。
×
5
.
指针可以加上或减去一个
int
型数,
也可以加上一个 指针。
√
6
.两个指针在任何情况下相减都是有意义的。
√
7
.数组元素可以用下标表示,也可以用指针表示。
×
8
.指向数组元素的指针只可指向数组的首元素。
√
9
.字符指针是指向字符串的指针,可以用字符串常量给字符
指针赋值。
×
10
.引用是一种变量,它也有值和地址值。
√
11
.引用是某个变量的别名,引用是被绑定在被引用的变量
上。
√
12
.创建引用时要用一个同类型的变量进行初始化。
√
13
.指针是变量,它可以有引用,而引用不能有引用。
二
单选题
1
.下列关于定义一个指向
doub le
型变量的指针,正确的是
(
B
)
。
-
可编辑修改
-
。
A
.
int a(5)
;
double *pd=a
;
*pd=&d
;
C
.
double d(2.5)
,
*pd=d
;
pd=d
;
B
.
double
d(2.5)
,
D
.
double
a(2.5)
,
2
.下列关于创建一个
int
型变量的引用,正确的 是(
A
)
。
A
.
int a(3)
,
&ra=a
;
a(3),&ra=&a
;
C
.
double d(3.1)
;
int &rd=d
;
ra=a
;
3
.下列关于指针概念的描述中,错误的是(
B
)
。
A
.指针中存放的是某变量或对象的地址值
B
.指针的类型是它所存放的数值的类型
C
.指针是变量,它也具有一个内存地址值
D
.指针的值是可以改变的
4
.下列关于引用概念的描述中,错误的是(
A
)
。
A
.引用是变量,它具有值和地址值
B
.引用不可以作数组元素
C
.引用是变量的别名
D
.创建引用时必须进行初始化
5
.已知:
int a[5]
,
*p=a
;则与
++*p
相同的是(
D
)
。
A
.
*++p
C
.
*p++
B
.
a[0]
D
.
++a[0]
D
.
int
a(3)
,
B
.
int
-
可编辑修改
-
。
6
.已知:
int
a[
]={1,2,3,4,5}
,
*p=a
;在下列数组元素地址
的表示中,正确的是(
C
)
。
A
.
&(a+1)
C
.
&p[2]
B
.
&(p+1)
D
.
*p++
7
.已知:
int a(5)
,
&ra=a
;下列描述中,错误的是(
D
)
。
A
.
ra
是变量
a
的引用,即为变量的别名
B
.
ra
的值为
5
C
.
ra
的地址值为
&a
D
.改变
ra
的值为
10
,变量
a
值仍为
5
8
若有以下定义,则说法错误的是
( D )
。
int a=100,*p=&a
A
.声明变量
p
,其中
*
表示
p
是一个指针变量
B
.变量
p
经初始化,获得变量
a
的地址
C
.变量
p
只可以指向一个整形变量
D
.变量
p
的值为
100
9
若有以下定义,则赋值正确的是
(C
)
。
int a ,b , *p;
float c, *q;
A
.
p=&c
B
.
q=p
C
.
p=NULL
D
.
q=new int
10
如果
x
是整型变量,则合法的形式是
( D
)
。
A
.&
(x+5)
B
.
*x
C
.
&*x
D
.
*&x
11
若要建立如下关系,错误的语句组是
( A
)
。
p
x
10
A
.
B
.
C
.
D
.
int *p=&x, x;
int x, *p=&x;
int *p, x=10;
-
可编辑修改
-
。
int *p, x;
*p=10;
*p=10;
p=&x;
p=&x
x=10;
12
若有语句
int
a[10]={0,1,2,3,4,5,6,7,8,9},*p=a
;则
(
B
)
不是对
a
数组元 素的正确引用(其中
0
≤
i<10
)
。
A
.
p[i]
B
.
*(*(a+i))
D
.
*(&a[i])
#include
void main()
{
int
a[3]={10,15,20};
//
a[0]=10,a[1]=15,a[2]=20
int *p1=a,*p2=&a[1];
// p1
取
a[0]
地址,
p2
取
a [1]
地址
*p1=*(p2-1)+5;
a[0]=15,a[1]=15,a[2]=20
*(p1+1)=*p1-5;
a[0]=15,a[1]=10,a[2]=20
cout<}
A
.
5
B
.
10
C
.
15
D
.
20
14
以下程序的输出结果是
(
C
)
。
#include
void fun(int x,int y,int *cp,int *dp)
{
cp=x+y;
//*cp=30+50=80
dp=x-y;
//*dp=30-50=-20
}
void main()
{
int a,b,c,d;
-
可编辑修改
-
C
.
a[p-a]
13
以下程序的输出结果是
( B
)
。
//
//
。
}
a=30,b=50;
fun(a,b,&c,&d);
cout<
.
30,50
C
.
80
,-
20
D
.
80,20
A
.
50,30
1 5
要求函数的功能是交换
x
和
y
中的值,且通过正确调用返回交换< br>结果。能正确执行此功能的函数是
(
A
)
。
A
.
funa(int *x,int *y)
{ int *p=new int
p=*x;
*x=*y;
{ int t;
t=x;
x=y;
y=t;
}
D
.
fund(int x,int y)
{
*x=*x+*y;
B
.
funb(int x,int y)
*y=*p;
}
*y=*x;
}
{
*x=*y;
C
.
func(int *x,int *y)
*y=*x-*y;
*x=*x-*y; }
16
以下程序的输出结果是
(
C
)
。
#include
void main()
{
char *s=
int v1=0,v2=0,v3=0,v4=0;
for (int k=0;s[k];k++)
switch(s[k])
{
default:v4++;
case '1':v1++;
-
可编辑修改
-
-
-
-
-
-
-
-
-
本文更新与2021-01-26 08:46,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/570962.html
-
上一篇:商务英语学习需求分析
下一篇:商务英语和社会需求的关系2