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

第九章测试

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​​​​​​​​​​​​

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

.又是新的一天.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值