C语言期末复习资料-填空题 .pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

1、函数fun的功能是计算x^n。

doublefun(doublex,intn)

{inti;doubley=1;

for(i=1;i=n;i++)y=y*x;

returny;

}

主函数中已经正确定义m、a、b变量并赋值,并调用fun函数计算:

m=a^4+b^4-(a+b)^3。实现这一计算的函数调用语句为______。

答案:1:fun(a,4)+fun(b,4)-fun((a+b),3)

评析:

函数fun的功能是计算x的n次方,所以a的4次方的调用函数应当为fun(a,4),b

的4次方的调用函数应当为fun(b,4),(a+b)的3次方的调用函数应当为fun((a+b),3),

所以,实现m=a^4+b^4-(a+b)^3这一计算的函数调用语句为:

fun(a,4)+fun(b,4)-fun((a+b),3);。

知识点:知识点/函数/函数的正确调用,嵌套调用,递归调用

2、以下sstrcpy()函数实现字符串复制,即将t所指字符串复制到s所指内存空间中,

形成一个新字符串s。请填空。

voidsstrcpy(char*s,char*t)

{while(*s++=______);}

main()

{charstr1[100],str2[]=abcdefgh;

sstrcpy(str1,str2);

printf(%s\n,str1);

}

答案:1:*t++

评析:

要使sstrcpy()函数实现字符串复制,必须将t字符串中的每个字符逐个拷到s字

符串中,所以可以使用*s=*t;s++;t++。或者可以写成*s++=*t++,本题只有一个空,

可以填入*t++。

知识点:知识点/指针/用指针作函数参数

3、以下程序给指针p分配三个double型动态内存单元,请填空。

#includestdlib.h

main()

{double*p;

p=(double*)malloc(______);

p[0]=1.5;p[1]=2.5;p[2]=3.5;

printf(%f%f%f\n,p[0],p[1],p[2]);

}

答案:1:3*sizeof(double)

评析:

malloc(size)在内存的动态存储区中分配一个长度为size的连续空间。此函数的

值(即返回值)是一个指针,它的值是该分配域的起始地址。如果此函数未能成

功地执行,则返回值为0。

本题中要求分配三个double型动态内存单元,所以size处应当为

3*sizeof(double)。

知识点:知识点/指针/各类型的指针及指针变量,通过指针引用各类型数据

4、以下程序运行后的输出结果是______。

main()

{inta,b,c;

a=25;

b=025;

c=0x25;

printf(%d%d%d\n,a,b,c);

}

答案:252137

评析:

本题考查的是格式字符的输出。

变量a、b、c分别为十进制、八进制、十六进制的25,格式字符d所代表的含义

是,以带符号的十进制形式输出整数(正数不输出符号),所以本题a=25则输出值

为25;b=025转换为10进制:b=2*8+5=16+5=21,则输出的值为21;c=0x25转换

为10进制:c=2*16+5=32+5=37,则输出的值为37,而且printf中三个%d之用的是

空格,所以输出的几个数字之间也必须是空格。

知识点:知识点/函数/变量的存储类别,变量的作用域和生存期

5、以下程序运行后的输出结果是______。

main()

{chara[]=Language,b[]=Programe;

char*p1,*p2;intk;

p1=a;p2=b;

for(k=0;k=7;k++)

if(*(p1+k)==*(p2+k))printf(%c,*(p1+k));

}

答案:gae

评析:

本题考查的是字符指针变量与字符数组。

解题过程:

(1)当k=0时,*(p1+0)=L,*(p2+0)=P,L!=P,所以没有输出

(2)当k=1时,*(p1+1)=a,*(p2+1)=r,a!=r,所以没有输出

(3)当k=2时,*(p1+2)=n,*(p2+2)=o,n!=o,所以没有输出

(4)当k=3时,*(p1+3)=g,*(p2+3)=g,g==g,所以输出g

(5

您可能关注的文档

文档评论(0)

. + 关注
官方认证
文档贡献者

专注于职业教育考试,学历提升。

版权声明书
用户编号:8032132030000054
认证主体社旗县清显文具店
IP属地河南
统一社会信用代码/组织机构代码
92411327MA45REK87Q

1亿VIP精品文档

相关文档