已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 IEC/TS 81001-2-2:2025 EN Health software and health IT systems safety,effectiveness and security - Part 2-2: Guidance for the implementation,disclosure and communication o
- 2025-2026学年北京版(新教材)二年级上册数学第七单元(数学百花园)提高试卷(附参考答案)
- 北京市朝阳区2024届高三年级上册期中质量检测化学试题(解析版)
- XX省传染病监测预警与应急指挥信息平台项目监测预警信息平台采购需求
- 湖北省华大新高考联盟2026届高三上学期11月教学质量测评生物试题
- 医学生作业考试题及答案
- 2025年纹样设计面试真题及答案
- 神户大学全部试题及答案
- 口腔科护理考试题及答案
- 招聘必杀技考试题及答案
- 2025广东东莞市樟木头镇招聘编外聘用人员14人笔试考试参考题库及答案解析
- 2025年及未来5年中国猴头菇深加工行业市场调研分析及投资前景预测报告
- 2025年某气调库建设项目可行性研究报告
- 辽宁省鞍山市海城市2025-2026学年七年级上学期道德与法治11月期中
- 施工管理人员年度培训考核试卷及答案
- 2025宁夏交通建设投资集团有限公司校园招聘和社会招聘230人(1号)考试笔试备考题库及答案解析
- 消防学员心理测试题及答案
- GB/T 9116.1-2000平面、突面带颈平焊钢制管法兰
- GB/T 4622.2-2008缠绕式垫片管法兰用垫片尺寸
- GB/T 13577-2006开放式炼胶机炼塑机
- 工艺安全检查表
评论
0/150
提交评论