C语言程序设计2023章节测试答案

18、若有定义:int a[5],*p;,则操作p=a;是合法的操作。

我的答案:√

19、若有定义:int a[5],*p;,则操作p=&a[2];是合法的操作。

我的答案:√

20、若有定义:int a[5][5],*p;,则操作p=a;是合法操作。

我的答案:X

21、若有定义:int a[5][5], (*p)[5];,则操作p=*a;是合法操作。

我的答案:X

22、若有定义:int a[5][5], (*p)[5];,则操作p=a[0];是合法操作。

我的答案:X

23、凡是整型变量可以参加的运算,指针变量都可以参加。

我的答案:X

24、对于指向同一个数组的两个变量而言,两个指针变量相减的操作是有意义的。

我的答案:√

25、对数组各元素的存取完全可以不用下标变量而用指针来代替。

我的答案:√

26、下列关于指针概念的描述中,错误的是( )

A、指针中存放的是某变量或对象的地址值

B、指针的类型是它所存放的数值的类型

C、指针是变量,它也具有一个内存地址值

D、指针的值是可以改变的

我的答案:B

27、已知:int a[5],*p=a;则与++*p相同的是( )。

A、*++p

B、a[0]

C、*p++

D、++a[0]

我的答案:D

28、已知:int a[ ]={1,2,3,4,5},*p=a;在下列数组元素地址的表示中,正确的是( )。

A、&(a+1)

B、&(p+1)

C、&p[2]

D、*p++

我的答案:C

29、若有语句int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;则( )不是对a数组元素的正确引用(其中0≤i<10)。

A、p[i]

B、*(*(a+i))

C、a[p-a]

D、*(&a[i])

我的答案:B

30、下列语句组中,正确的是( )

A、char *s;s="Olympic";

B、char s[7];s="Olympic";

C、char *s;s={"Olympic"};

D、char s[7];s={"Olympic"};

我的答案:A

31、若有定义int(*pt)[3];,则下列说法正确的是( )

A、定义了基类型为int的三个指针变量

B、定义了基类型为int的具有三个元素的指针数组pt

C、定义了一个名为*pt、具有三个元素的整型数组

D、定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组

我的答案:D

32、有以下程序  #include <stdio.h> int f(int t[],int n); main() { int a[4]={1,2,3,4},s; s=f(a,4); printf("%d\n",s); } int f(int t[],int n) { if(n>0) return t[n-1]+f(t,n-1); else return 0; }  程序运行后的输出结果是( )

A、4

B、1O

C、14

D、6

我的答案:B

33、有以下程序 #include <stdio.h> main() { int m=1,n=2,*p=&m,*q=&n,*r; r=p;p=q;q=r; printf(“%d,%d,%d,%d\n”,m,n,*p,*q); } 程序运行后的输出结果是( )

A、1,2,1,2

B、1,2,2,1

C、2,1,2,1

D、2,1,1,2

我的答案:B

34、若有定义语句:int a[4][10],*p,*q[4];且0≤i<4,则错误的赋值是( )

★《布宫号》提醒您:民俗信仰仅供参考,请勿过度迷信!

本文经用户投稿或网站收集转载,如有侵权请联系本站。

发表评论

0条回复