




已阅读5页,还剩23页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
5/23/2020,1,C+程序设计教程(第二版),第七章程序结构Chapter7ProgramStructure,清华大学出版社钱能,5/23/2020,2,程序结构:使程序得以运行的框架组织便是程序结构,对程序结构的研究,是为了更好地表达算法思想,使其符合编译逻辑,又具有更好的可读性和可维护性学习目标:1.从简单的函数层层调用,初步理解+程序结构2.学习合理组织程序的规则与经验,掌握扩展程序规模的基本方法,5/23/2020,3,第七章内容,函数组织(FunctionOrganization)头文件(HeaderFiles)全局数据(GlobalData)静态数据(StaticData)作用域与生命期(Scopevoidf2();voidf3();voidg1();voidg2();voidp();voidh();,原始头文件(包含age5的图中的一切函数声明),5/23/2020,8,头文件的使用:使函数调用免于声明,/a1.cpp#include”abc.h”voidf1()if()p();g1();elseg2();h();,5/23/2020,9,头文件的使用:使函数调用免于声明,/a2.cpp#include”abc.h”intmain()f1();f2();f3();/-voidf3()f1();/-voidp()f3();/-,5/23/2020,10,头文件的使用:使函数调用免于声明,/a3.cpp#include”abc.h”voidh()voidf2()g1();g2();/-voidg1()voidg2(),5/23/2020,11,界面头文件,/a1.ha1.cpp提供的资源voidf1();/a2.ha2.cpp提供的资源voidp();/a3.ha3.cpp提供的资源voidg1();voidg2();voidf2();voidh();,5/23/2020,12,/a1.cpp#include”a2.h”#include”a3.h”voidf1()if()p();g1();elseg2();h();,使用界面头文件,5/23/2020,13,/a2.cpp#include”a1.h”#include”a3.h”staticvoidf3();intmain()f1();f2();f3();voidf3()f1();voidp()f3();,使用界面头文件,5/23/2020,14,/a3.cpp#include”a3.h”voidh()voidf2()g1();g2();voidg1()voidg2(),使用界面头文件,5/23/2020,15,3.全局数据(GlobalData),全局数据:使若干个模块在程序范围内共享(读与写)数据,是若干程序文件沟通数据的一种形式意义:模块的独立性由数据的封闭性来支持全局数据破坏了数据的封闭性,因而对小程序简单而对规范化程序则不登大雅之堂做法:练习函数之间用参数传递数据的常规形式,尽量避免使用全局数据,5/23/2020,16,例如:对于矩阵的输入、处理和输出,vectora;/globalDatavoidinput();voidtranspose();voidprint();intmain()input();/usingatranspose();/usingaprint();/usinga,5/23/2020,17,消去全局数据:前一个过程的输出作为后一个过程的输入,typedefvectorMat;Matinput();Mattranspose(constMat,5/23/2020,18,在多个程序文件组成的程序中共享数据,要遵守一次定义规则,/item1.cpp#includeusingnamespacestd;intn=8;/definevoidf();intmain()coutn”n”;f();,/item2.cpp#includeusingnamespacestd;externintn;/declarevoidf()coutn”n”;,5/23/2020,19,4.静态数据(StaticData),静态全局数据:在一个程序文件中共享的数据注意:全局数据则在多个程序文件中共享数据静态局部数据:在屡次调用的同一个函数中共享的数据,5/23/2020,20,演示静态局部变量,voidfunc()staticinta=2;a+;intb=5;b+;couta=a,b=b0?a:-a;/-intmain()inta=abs(-5);/使用自定义函数intb=std:abs(-5);/使用标准库函数coutaendlbendl;,5/23/2020,26,7.预编译(Pre-Compilation),预编译:+在正式编译前的准备工作,它包括文件的加盟、代码的取舍、字符的替代等操作文件加盟由include指令引导,代码取舍由ifdef或ifndef引导,字符替代功能在逐渐退化,因为+语言本身完全可以胜任这项工作,5/23/2020,27,头文件的可嵌套性,使得必须人为控制文件的展开操作,这就是头文件卫士的由来(x.cpp中将出现二次structDate定义),/a.h#include”b.h”/,/x.cpp#include”a.h”#include”b.h”/,/b.hstructDateintyear,month,day;,5/23/2020,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医学三基考试题库及答案(完整版)
- 留学必考的考试题及答案
- 心理及专业测试题及答案
- 建筑类专业试题及答案
- 农村信用社达州市开江县2025秋招笔试性格测试题专练及答案
- 2025年消防执业资格考试题库及答案(消防应急救援行动指挥)
- 超声专业考试题及答案
- 数据安全维护客户承诺书(5篇)
- 中医骨伤专业试题及答案
- 农村信用社赤峰市元宝山区2025秋招金融科技岗笔试题及答案
- 2024广东省产业园区发展白皮书-部分1
- 2025年国家网络安全宣传周网络安全知识考核试题
- 2025四川蜀道建筑科技有限公司招聘16人备考练习题库及答案解析
- 生态视角下陕南乡村人居环境适老化设计初步研究
- 2025-2030中国教育领域的虚拟现实技术行业发展战略与应用趋势预测报告
- 2025广西现代物流集团第三次招聘109人笔试备考试题及答案解析
- 2025年中职历史考试题及答案
- 图书出口管理办法
- 高三后期班级管理课件
- 廉政教育进课堂大学
- GB/T 45777-2025水泥中石膏掺量评估方法
评论
0/150
提交评论