文档详情

C语言程序设计(慕课版 第3版) 测试题10.doc

发布:2025-06-01约3.66千字共4页下载文档
文本预览下载声明

C程序设计实用教程

第十章自测题

PAGE170

PAGE169

PAGE167

一、选择题

1.设有如下程序段:

chars[20]=Bejing,*p;

p=s;

则执行p=s;语句后,以下叙述正确的是()。

A可以用*p表示s[0]Bs数组中元素的个数和p所指字符串长度相等

Cs和p都是指针变量D数组s中的内容和指针变量p中的内容相等

2.有以下程序

#includestdio.h

main()

{

intm=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

3.有以下程序:

#includestdio.h

main()

{

intn,*p=NULL;

*p=n;

printf(inputn:);

scanf(%d,p);

printf(outpubn:);

printf(%d\n,p);

}

该程序试图通过指针p为变量n读入数据并输出,但程序有多处错误,以下语句正确的是()。

Aintn,*p=NULL;B*p=n;

Cscanf(%d,p)Dprintf(d\n,p);

4.若有定义语句:doublex[5]={1.0,2.0,3.0,4.0,5.0},*p=x;则错误引用x数组元素的是()。

A.*pB.x[5]C.*(p+1)D.*x

5.若有语句:char*line[5];,以下叙述中正确的是()。

A.定义linc是一个数组,每个数组元素是一个基类型为char的指针变量

B.定义linc是一个指针变量,该变量可以指向一个长度为5的字符型数组

C.定义linc是一个指针数组,语句中的*号称为间址运算符

D.定义linc是一个指向字符型函数的指针

6.设有如下定义:

int(*ptr)();

则以下叙述中正确的是()。

A.ptr是指向一维组数的指针变量

B.ptr是指向int型数据的指针变量

C.ptr是指向函数的指针;该函数返回一个int型数据

D.ptr是一个函数名;该函数的返回值是指向int型数据的指针

7.若有函数max(a,b),并且已使函数指针变量p指向函数max,当调用该函数时,

正确的调用方法是()。

A.(*p)max(a,b);B.*pmax(a,b);C.(*p)(a,b);D.*p(a,b);

8.已有函数max(a,b),为了让函数指针变量p指向函数max,正确的赋值方法是()。

A.p=max;B.*p=max;C.p=max(a,b);D.*p=max(a,b);

9.已有定义int(*p)();指针p可以()。

A.代表函数的返回值B.指向函数的入口地址

C.表示函数的类型D.表示函数返回值的类型

10.若有以下说明和定义

fun(int*c){}

voidmain()

{

int(*a)()=fun,*b(),w[10],c;

}

在必要的赋值之后,对fun函数的正确调用语句是()。

A.a=a(w);B.(*a)(c);C.b=*b(w);D.fun(b);

二、填空题

1.若有定义:charch;

?(1)使指针p指向变量ch的定义语句是()。

?(2)若已定义char*p;,使指针p指向变量ch的赋值语句是()。

?(3)在(1)的基础上,通过指针p给变量ch读入字符的scanf调用语句是()。

?(4)在(1)的基础上,通过指针p给变量ch赋字符’a’的语句是()。

?(5)在(1)的基础上,通过指针p用格式输出函数输出ch中字符的语句是()。

2.有以下程序

#includestdio.h

voidf(int*p,int*q);

main()

{

intm=1,n=2,*r=m;

f(r,n);

printf(“%d,%d”,m,n);

}

voidf(int*p,int*q)

{

p=p+1;

*q=*q+1;

}

程序运行后输出的结果是()。

3.有以下程序

#includestdio.h

vo

显示全部
相似文档