欢迎来到天天文库
浏览记录
ID:5312795
大小:209.68 KB
页数:7页
时间:2017-12-07
《c程序设计语言cc程序设计语言程序设计语言》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、大话三国懿问曰:“孔明寝食及事之烦简若何?”C程序设计语言使者曰:“丞相夙兴夜寐,罚二十以上皆亲览焉。所啖之食,第4章章函数与程序结构函数与程序结构日不过数升。”懿顾谓诸将曰:“孔明食少事孙志岗烦,其能久乎?”sun@hit.edu.cnhttp://sunner.cn2004-12-19FunctionsandProgramStructure2程序设计的艺术假如不模块化¢算法设计的艺术¢读多少行的程序能让你不头疼?–程序的灵魂–DonaldE.Knuth,"TheArtofComputer¢main()当中能放多少行程序?Prog
2、ramming",清华大学出版社,2002¢假如printf()函数由10行代码替换,那么你¢结构设计的艺术见过的程序会成什么样子?–程序的肉体¢如果所有代码都在main()当中,怎么团队合–“..thelargertheproject,themoreessentialthe作?structuring!”—Dijkstra,1968–模块化(Parnas,1972)¢如果代码都在一个文件中,怎么团队合作?¢结构化(Structural)¢面向对象(Object-Oriented)¢面向组件(Component-Oriented)¢面
3、向智能体(Agent-Oriented)¢……2004-12-19FunctionsandProgramStructure32004-12-19FunctionsandProgramStructure41模块化的优点函数(function)和模块(module)¢模块各司其职¢函数是C语言中模块化编程的最小单位–每个模块只负责一件事情,它可以更专心–可以把每个函数看作一个模块–便于进行单个模块的设计、开发、调试、测试和维¢若干相关的函数可以合并作一个“模块”护等工作–一个模块一个模块地完成,最后再将它们集成main()main()¢
4、开发人员各司其职–按模块分配任务,职责明确printf()scanf()stdio:mymdl:–并行开发,缩短开发时间printf()power()putchar()getchar()¢分而治之(Wirth,1971)scanf()信息隐藏(Parnas,1972)putchar()power()getchar()2004-12-19FunctionsandProgramStructure52004-12-19FunctionsandProgramStructure6函数的分类函数定义(definition)¢函数生来都是平等的,
5、没有高低贵贱之分,只标识符参数表返回值有main()稍微特殊一点点类型¢库函数–ANSIC定义的标准库函数类型函数名(类型参数1,类型参数2,……)¢符合标准的C语言编译器必须提供这些函数{¢函数的行为也要符合ANSIC的定义函数体;–第三方库函数return表达式;¢由其它厂商自行开发的C语言函数库¢不在标准范围内,能扩充C语言的功能}¢自定义函数–自己编写的函数函数出口返回值¢包装后,也可成为函数库,供别人使用2004-12-19FunctionsandProgramStructure72004-12-19Functionsan
6、dProgramStructure82函数定义(definition)函数调用(call)¢函数是这样的一种运算:¢函数名(表达式1,表达式2,……);–函数名说明运算规则¢调用一个函数之前,先要对其返回值类型、函–参数是运算的操作数数名和参数进行声明(declare)–返回值是运算的结果¢当函数执行到return语句或}时,函数的运算停止。–不对函数进行声明是非常危险的程序从当次调用函数的地方继续执行–函数定义也有声明函数的效果–函数可以有多个return,但最好只有一个且是最后一行¢调用函数时,提供的表达式(叫实际参数,¢用vo
7、id定义返回值类型argument)和该函数的形式参数必须匹配–函数没有运算结果,没有返回值–数目一致–return语句之后不需要任何表达式–类型一一对应(会发生自动类型转换)¢用void定义参数,表示没有参数–表达式的值赋值给对应的参数¢参数表里的参数(叫形式参数,parameter)也是函数的语句块内的变量¢返回值可以按需处理realeql.c2004-12-19FunctionsandProgramStructure92004-12-19FunctionsandProgramStructure10main()、printfpr
8、intf()()和scanfscanf()()函数调用的过程特特殊吗?殊吗?¢函数的每次执行都会建立一个全新的独立的环境¢main()–在“栈”中为函数的每个变量(包括形式参数)分配内存–C语言允许不对函数参数和返回值类型进行说明–把
此文档下载收益归作者所有