当前位置:首页 >课程 >C语言编程新思路

1、变量的指针,其含义是指变量的( )。

A、值
B、名称
C、地址
D、另一个名称

参考答案:请扫码使用小程序查看答案

2、以下叙述错误的是( )。

A、指针变量可以与整数进行加、减算术运算
B、指针变量中存放的是地址值
C、指针变量不占用存储空间
D、多个同类型的指针变量可以指向同一个普通变量。

参考答案:请扫码使用小程序查看答案

3、已知指针变量P的指向如图1所示,则表达式*P++的值是( )。

A、20
B、30
C、21
D、31

参考答案:请扫码使用小程序查看答案

4、已知指针变量P的指向如图1所示,则表达式*++P的值是( )。

A、20
B、30
C、21
D、31

参考答案:请扫码使用小程序查看答案

5、已知指针变量P的指向如图1所示,则表达式++(*P)的值( )。

A、20
B、30
C、21
D、31

参考答案:请扫码使用小程序查看答案

6、假设整型变量a的值为12,变量a的地址为2000,若欲使p为指向a的指针变量,则以下赋值正确的是( )。

A、&a=p;
B、*p=12;
C、*p=2000
D、p=&a;

参考答案:请扫码使用小程序查看答案

7、若有定义:int b,*pb;则下面正确的赋值表达式是( )。

A、pb=&b
B、pb=b
C、*pb=&b
D、*pb=*b

参考答案:请扫码使用小程序查看答案

8、设int a[10],*p=a; ,则下面( )不是对a[3]的正确引用。

A、*(a+3)
B、p+3
C、p[3]
D、*(p+3)

参考答案:请扫码使用小程序查看答案

9、若有如下定义:int a[10]={10,20,30,40,50,60,70,80,90,100},*p=a; ,则执行p=p+5后,*p的值是( )。

A、10
B、50
C、60
D、100

参考答案:请扫码使用小程序查看答案

10、若int *p,i;执行i=100; p=&i; i=*p+10; 后,*p的值是( )。

A、100
B、10
C、0
D、110

参考答案:请扫码使用小程序查看答案

11、以下程序的输出结果是( )。 #include int main() { int a[ ]={2,4,6,8,10},y=0,i,*p; p=a; for(i=0;i<3;i++) y+=*(p+i); printf("%d\n",y); }

A、17
B、12
C、19
D、20

参考答案:请扫码使用小程序查看答案

12、以下程序的输出结果是( )。 #include int main() { int a=1,b=2,c=3,*p1,*p2,*p3; p1=&a; p2=&b; p3=&c; *p3=*p1; *p1=*p2; *p2=*p3; printf("a=%d,b=%d,c=%d\n",a,b,c); }

A、a=1,b=2,c=3
B、a=2,b=1,c=3
C、a=2,b=1,c=1
D、a=3,b=2,c=1

参考答案:请扫码使用小程序查看答案

13、以下程序的输出结果是 ( )。 #include int main() { int k=2,m=4,n=6; int *pk=&k,*pm=&m,*p; *(p=&n)=*pk*(*pm); printf("%d\n",n); return 0; }

A、4
B、6
C、8
D、10

参考答案:请扫码使用小程序查看答案

14、以下程序的输出结果是 ( )。 #include int main() { int **k, *a, b=100; a=&b;k=&a; printf("%d\n",**k); return 0; }

A、编译出错
B、100
C、a的地址
D、b的地址

参考答案:请扫码使用小程序查看答案

15、对于基类型相同的两个指针变量之间,不能进行的运算时( )。

A、<
B、=
C、+
D、�C

参考答案:请扫码使用小程序查看答案

16、若有int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12}; int (*p)[3]=a; ,则能正确表示数组元素a[1][2]的是( )。

A、*(*(p+1)+2)
B、*(p+1)+2
C、(p+1)[2]
D、p[1]+2

参考答案:请扫码使用小程序查看答案

17、对于语句int *p[5]; 的正确描述是( )。

A、p是一个指向数组的指针,所指向的数组含有5个int型元素。
B、p是一个指向数组中第5个元素的指针,该元素是int型。
C、定义不合法
D、p是一个具有5个元素的指针数组,每个元素都是一个指向int型对象的指针变量。

参考答案:请扫码使用小程序查看答案

18、若有int a[10],*p=a;,下列不能表示a数组首元素地址的是( )。

A、a
B、*p
C、p
D、&a[0]

参考答案:请扫码使用小程序查看答案

19、下列程序的运行结果是( )。 #include int main() { int a[5]={1,2,3,4,5},*p,**pp; p=a; pp=&p; printf("%d ",*(p+3)); printf("%d",**pp); return 0; }

A、4 1
B、3 1
C、4 4
D、3 4

参考答案:请扫码使用小程序查看答案

20、若有int a[10],*p;,则下列语句中正确的是( )。

A、for(p=a; a B、for(p=a; p C、for(p=a; p D、for(p=a; p

参考答案:请扫码使用小程序查看答案