2022SDUT知到/智慧树----C语言第九章测试题解

发布于:2022-10-16 ⋅ 阅读:(624) ⋅ 点赞:(0)

第九章测试

1【判断题】 (10分)

若有下列语句:

int a[4]={1,2,3,4},*p;

p=&a[2];

则*p的值是3

A.

B.

参考答案:B

2【判断题】 (10分)

int p;此时是一个运算符号,表示间接访问p所指向的变量。

A.

B.

参考答案:A

3【判断题】 (10分)

有下列程序段,程序段运行后的输出结果是10( )。

int *p,n;

   n=10; p=&n; n=*p+10;

   printf("%d\n", *p);        

A.

B.

参考答案:A

4【单选题】 (10分)

若有说明:int a=2,*p=&a,*q=p;,则以下非法的赋值语句是( )。

A.
q=a

B.

*p=*q

C.

p=q

D.

a=*q

参考答案:A

5【单选题】 (10分)

变量的指针是指该变量的( )。

A.

B.
首地址

C.

别名

D.

参考答案:B

6【单选题】 (10分)

若已定义int a=5; 下列对(1)、(2)两个语句的正确解释是( )

(1) int *p=&a; (2) *p=a;

A.

语句(1)和语句(2)语句都是把变量a的地址值赋给指针变量p。

B.

语句(1)是对p进行说明的同时进行初始化,使p指向a;语句(2)是将a的值赋给指针变量p。

C.
语句(1)是对p进行说明的同时进行初始化,使p指向a;语句(2)是将a的值赋给p指的空间。

D.

语句(1)和语句(2)中的*p含义相同,都表示给指针变量p赋值。

参考答案:C

7【单选题】 (10分)

下列程序中,主函数调用findmax函数返回数组中的最大值。在下划线处应填入的是( )。

#include <stdio.h>

findmax( int *a, int n)

{

int *p, *s;

for (p=a, s=a; p-a<n; p++)

   if(__________) s=p;

return (*s);

}

int main()

{

int x[5]={12,21,13,6,18};

printf("%d\n", findmax(x,5));

return 0;

}

A.

p-a>p-s

B.

a[p]>a[s]

C.

p>s

**D.
p>s

参考答案:D

8【单选题】 (10分)

有下列程序,程序运行后的输出结果是( )。

#include <stdio.h>

void fun( int *x,int *y);

int main()

{

int x=1,y=2;

fun(&y,&x);

printf("%d  %d",x,y);

return 0;

}

void fun( int *x,int *y)

{

printf("%d%d",*x,*y);

*x=3;*y=4;

}

A.

121 2

B.

123 4

C.

214 3

D.

211 2

参考答案:C

9【单选题】 (10分)

有下列程序段,程序段运行后的输出结果是( )。

int t[]={0,1,2,3,4,5,6,7,8,9}, *p;

p=t;

printf(“%d\n”, *p+9);

A.

1

B.

10

C.

0

D.
9

参考答案:D

10【判断题】 (10分)

若有下列语句:

int a[4]={1,2,3,4},*p;

p=a;

则*p的值是3。

A.

B.

参考答案:B​​​​​​​​​​​​

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到