- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
习题解答
一、单项选择题
若定义了int n=2, *p=n, *q=p;则下面【 】的赋值是非法的。
p=q B. *p=*q C. n=*q D. p=n
【答案】D
若定义了double *p, a;则能通过scanf函数给输入项读入数据的程序段是【 】。
p=a; scanf(“%1e”,p); B. *p=a; scanf(“%1f”,p);
C. p=a; scanf(“%f”,p); D. p=a; scanf(“%1f”,a);
【答案】C
若定义了int a[10], i=3, *p; p=a[5];下面不能表示为a数组元素的是【 】。
p[-5] B. a[i+5] C. *p++ D. a[i-5]
【答案】D
若有如下定义:
int n[5]={1,2,3,4,5},*p=n;
则值为5的表达式是【 】。
*+5 B. *(p+5) C. *p+=4 D. p+4
【答案】C
设变量b的地址已赋给指针变量ps,下面为“真”的表达式是【 】。
b==ps B. b==ps C. b==*ps D. b==ps
【答案】C
设有以下定义和语句:
int a[3][2]={1,2,3,4,5,6},*p[3];
p[0]=a[1];
则*(p[0]+1)所代表的数组元素是【 】。
a[0][1] B. a[1][0] C. a[1][1] D. a[1][2]
【答案】C
若定义了char *str=”Hello!”;下面程序段中正确的是【 】。
char c[ ], *p=c; strcpy(p,str);
char c[5], *p; strcpy(p=c[1],str[3]);
char c[5]; strcpy(c,str);
char c[5]; strcpy(p=c+2,str+3);
【答案】B
若有下面的程序段,则不正确的fxy函数的首部是【 】。
main()
{ int a[20], n;
…
fxy(n, a[10]);
…
}
void fxy(int i, int j) B. void fxy(int x, int *y)
C. void fxy(int m, int n[]) D. void fxy(int p, int q[10])
【答案】A
不合法的带参数main函数的首部形式是【 】。
main(int argc, char *argv) B. main(int i, char **j)
C. main(int a, char *b[]) D. main(int argc, char *argv[10])
【答案】A
设有如下定义int (*pt)( );则以下叙述中正确的是【 】。
pt是指向一维数组的指针变量
pt是指向整型数据的指针变量
pt是一个函数名,该函数的返回值是指向整型数据的指针
pt是指向函数的指针变量,该函数的返回值是整型数据
【答案】D
二、填空题
请指出在int *p[3];定义中p是 【1】 。
在int (*q)();定义中q是 【2】 。
【答案】【1】整型指针数组;【2】指向返回值是整型的函数指针
若有如下定义,则使指针p指向值为20的数组元素的表达式是p+= 。
int a[6]={1,5,10,15,20,25},*p=a;
【答案】4
执行以下程序段后,x的值为 。
int a[3][2]={{1,2},{10,20},{15,30}};
int x, *p;
p=a[0][0];
x=(*p)*(*(p+3))*(*(p+5));
【答案】600
请填空将函数补充完整,使得add函数具有求两个数之和的功能。
void add(int a, int b, 【1】 c)
{ 【2】 =a+b;}
【答案】【1】int *;【2】*c
下面程序的功能是输出数组中的最大值,由s指针指向该元素,请将该程序补充完整。
main()
{ int a[8]={6,7,2,9,1,10,5,8},*p,*s;
for (p=a,s=a;p-a8;p++)
if ( ) s=p;
printf(“max:%d\n”,*s);
}
【答案】*p*s
下面程序的功能是通过调用aver函数,计算数组中各元素的平均值。请将该程序补充完整。
float aver(int *a, int n)
{ int i;
float x=0.0;
for (i=0;in;i++)
x+= 【1】 ;
x= 【2】 ;
return x;
}
main()
{ int m[]={2,1,7,4,5,9,6};
float avg;
avg=av
文档评论(0)