网站大量收购独家精品文档,联系QQ:2885784924

C语言期末复习必备资料.doc

  1. 1、本文档共74页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言期末复习必备资料

1、函数fun的功能是计算x^n。 double fun(double x,int n) {int i; double y=1; for(i=1;i=n;i++) y=y*x; return y; } 主函数中已经正确定义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这一计算的函数458调用语句为:fun(a,4)+fun(b,4)-fun((a+b),3);。 知识点:知识点/函数/破函数的正确调用,嵌套调用,递归调用 2、以下sstrcpy()函数实现字符串复制,即将t所指字符串复制到s所指内存空间中,形成一个新字符串s。请填空。 void sstrcpy(char *s,char *t) { while(*s++=______);} main() { char str1[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型动态内存单元,请填空。 #include stdlib.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() { int a,b,c; a=25; b=025; c=0x25; printf(%d %d %d\n,a,b,c); } 答案: 25 21 37 评析: 本题考查的是格式字符的输出。 变量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 () { char a[]=Language,b[]=Programe; char *p1,*p2; int k; 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) 当k=4时,*(p1+4)=u,*(p2+4)=r,u!=r,所以没有输出 (6) 当k=5时,*(p1+5)=a,*(p2+5)=a,a==a,所以输出a (7) 当k=6时,*(p1+6)=g,*(p2+6)=m,g!=m,所以没有输

文档评论(0)

aicencen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档