- 0
- 0
- 约6.6千字
- 约 23页
- 2026-01-22 发布于福建
- 举报
第PAGE页共NUMPAGES页
2026年C语言指针知识备考题及答案精析
一、选择题(每题2分,共20分)
1.以下关于指针的说法中,正确的是()。
A.指针变量只能指向同一类型的数据
B.指针可以指向任何类型的数据
C.指针变量的值只能是0
D.指针变量的值可以是任何整数
2.若有定义:`inta=5;intp=a;`,则以下表达式中错误的是()。
A.`p=10;`
B.`p=p;`
C.`intq=p;`
D.`p++;`(注意:`p++`是错误的,因为`p`指向的是`int`类型,自增会导致错误)
3.以下代码段执行后,`x`的值为()。
c
intx=10,y=20;
intp1=x,p2=y;
p1=p2;
x=p1;
A.10
B.20
C.30
D.无法确定
4.以下代码段执行后,`str[3]`的值为()。
c
charstr[]=hello;
charp=str;
p+=3;
p=w;
A.w
B.o
C.l
D.h
5.以下代码段中,哪个选项会导致未定义行为()。
c
intp=NULL;
p=10;
A.`p=NULL;`
B.`p=10;`
C.两者都会导致未定义行为
D.两者都不会导致未定义行为
6.以下代码段执行后,`a[1]`的值为()。
c
inta[5]={1,2,3,4,5};
intp=a+2;
p=10;
A.1
B.2
C.10
D.5
7.以下代码段执行后,`s`的值为()。
c
chars=hello;
s[0]=H;
A.Hello
B.hello
C.Helloworld
D.编译错误
8.以下代码段中,`p`的值在执行后为()。
c
intarr[5]={1,2,3,4,5};
intp=arr;
p+=2;
A.arr[2]
B.arr[3]
C.3
D.4
9.以下代码段执行后,`x`的值为()。
c
intx=10,y=20;
intp=y;
x=p;
p=x;
p=30;
A.10
B.20
C.30
D.0
10.以下代码段中,`p`的值在执行后为()。
c
inta[5]={1,2,3,4,5};
intp=a;
p=p+3;
A.a[3]
B.a[4]
C.4
D.5
二、填空题(每空2分,共20分)
1.若有定义:`inta=5;intp=a;`,则`p`的值为______,`p`的值为______。
2.以下代码段执行后,`str[4]`的值为______。
c
charstr[]=world;
charp=str;
p+=4;
p=!;
3.以下代码段执行后,`x`的值为______。
c
intx=10,y=20;
intp1=x,p2=y;
p1=p2;
p1=30;
x=p1;
4.以下代码段执行后,`s`的值为______。
c
chars[]=hello;
charp=s;
p+=2;
p=w;
5.若有定义:`intarr[5]={1,2,3,4,5};`,则`arr[2]`的地址为______,`arr[2]`的值为______。
6.以下代码段执行后,`x`的值为______。
c
intx=10,y=20;
intp=y;
x=p;
p=30;
7.以下代码段执行后,`str[0]`的值为______。
c
charstr[]=abc;
charp=str;
p[1]=d;
8.以下代码段执行后,`x`的值为______。
c
intx=10,y=20;
intp=y;
p=x;
p=30;
x=p;
9.以下代码段执行后,`s`的值为______。
c
chars[]=world;
charp=s;
p+=3;
p=!;
10.若有定义:`inta[5]={1,2,3,4,5};`,则`a`的地址为______,`a[0]`的值为______。
三、简答题(每题5分,共25分)
1.解释指针与数组的关系,并举例说明。
2.解释`NULL`指针的概念及其使用场景。
3.解释指针算术运算的规则,并举例说明。
4.解释`void`指针
原创力文档

文档评论(0)