2级C语言11、2、3.pptVIP

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

第十一章对函数的进一步讨论 (32)有以下程序 #include stdio.h void fun(int *s,int nl,int n2) { int i,j,t; i=nl; j=n2; while(ij) {t=s[i];s[i]=s[j];s[j]=t;i++;j--;} } main() { int a[10]={1,2,3,4,5,6,7,8,9,0},k; fun(a,0,3); fun(a,4,9); fun(a,0,9); for(k=0;k10;k++)printf(“%d”,a[k]); printf(“\n”); } 程序运行的结果是 A)0987654321 B)4321098765 C)5678901234 D)0987651234 21.有以下程序 (C) #include stdio.h main( ) {? ?char *s={ABC}; do ??{ printf(%d,*s%10);??s++; ??} while(*s); } 字母A的ASCII码值为65。程序运行后的输出结果是 ??A) 5670? ?? ?B) 656667? ?? ? C) 567? ?? ? D) ABC 一、传给main函数的参数(了解) 第一种写法:main(int argc,char **argv){….} 第二种写法:main(int argc,char *argv[]){….} 期中argc和argv是两个参数名,可由用户自已命名,但是它们的 类型却是固定的。第一个参数argc必须是整数;第二个参数argv 是一个指向字符型的指针数组的指针,这个字符型指针数组的 每个指针都指向一个字符串。 输入:myc OK! GOOD 则argc=3(字符串个数) argv0[0]=myc argv0[1]= OK! argv0[2]= GOOD 二、通过实参向函数传递函数名或指向函数的指针变量 #include stdio.h double fun( int a,int*p) {….} main() {double (*fp)(int ,int *),y; int n; fp=fun; …. y=(*fp)(56,n); …. } 三、函数的递归调用 必须符合以下三个条件: 1、可以把要解的问题转化为一个新的问题,而这个新的问题的 解法仍与原来的解法相同,只是所处理的对象有规律地递增或 递减。 2、可以应用这个转化过程使问题得到解决。 3、必定要有一个明确的结束递归的条件。 例如:求n! n!=n*(n-1)! (n-1)!=(n-1)*(n-2)! 变量的作用域 4-1 局部变量、全局变量和存储分类 存储类型 2-2 变量的作用域 12.3 全局变量的作用域 4-4 结果:(1):10 (3):20 (2):10 #includestdio.h int sum; void fun(); main() { sum=10; printf(“(1):%d\n”,sum); fun(); printf(“(2):%d\n”,sum); } void fun() { int sum; sum=20; printf(“(3):%d\n”,sum); } 12.2.3静态局部变量(重点) # include stdio.h int fun()  { static int x=1;   x=x*2; return x;  } void main()  {int i,s=1,   for(i=1;i=2;i++) s=fun();   printf(%dn,s);  }程序运行后的输出结果是   A)0   B)1   C)4   D)8 12.3.4静态全局变量 静态全局变量与普通全局变量在存储方式上完全相同,静态全局变量只限于本编译单位使用,不能被其他编译单位所使用。 12.4节大家自己回去阅读了解。 第十三章 编译预处理和动态存储分配 1、什么是编译预处理:就是在c编译程序对c源程序进行编译 前,由编译预处理程序对这些编译预处理命令进行处理的过程。标志# 2、宏替换: 1、不带参数的宏定义格式如下: #define 宏名 替换文本 如:#define SIZE 100 以上标识符称为“宏名”,是用户定义的标识符,因 此,不得与程序中的其它名字相同。在编译时,在此命令行之后,预处理程 序对源程序中的所有名为SIZER的标识符用100三个字符来替换,这个替换过 程称为“宏替换”。但要注意:不能认为“SIZE”等于整数100。 2、替换文

文档评论(0)

wuyoujun92 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档