- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第七章 文件 与 结构体 第一节 文件操作 C++语言提供了一批用于文件操作的标准函数,本节不是介绍文件打开函数fopen,而是介绍另一个函数freopen,它们都包含于标准库cstdio中,文件操作基本步骤如下: (1)打开文件,将文件指针指向文件,决定打开文件类型; (2)对文件进行读、写操作; (3)在使用完文件后,关闭文件。 一、重定向版 二、fopen版 重定向用起来很方便,但并不是所有算法竞赛都允许读写文件。甚至有的竞赛允许访问文件,但不允许使用freopen这样的重定向方式读写文件,可以使用fopen版,对scanf和printf语句适用。程序如下: #includecstdio using namespace std; int main() { FILE *fin,*fout; fin = fopen(in.txt,rb); //定义输入文件名 fout = fopen(out.txt,wb); //定义输出文件名 int temp,sum=0; while (fscanf(fin,%d,temp)==1) //从输入文件中读入数据 { sum=sum+temp; } fprintf(fout,%d\n,sum); // coutsumendl; fclose(fin);fclose(fout); //关闭文件,可省略 return 0; } 第二节 结构体 在实际问题中,一组数据往往具有不同的数据类型。例如,人口大普查时,我们需要记录每一位公民的姓名,年龄,性别,住址,身份证号码。这些信息分别要用整型,字符型,字符串型来记录。为了解决问题,C++语言给出了另一种构造数据类型——“结构体”,它在数据存储方面相当于其他高级语言中的记录,但它有着面向对象的优势。 7.2.1 结构体定义和操作 1. 定义结构体及结构体变量 结构体变量的定义有两种方式: 定义结构体的同时定义结构体变量 struct 结构体名 { //其中 struct 是关键字 成员表 //可以有多个成员 成员函数 //可以有多个成员函数,也可以没有 } 结构体变量表; //可以同时定义多个结构体变量 结构体变量名列表的各个变量用“,”隔开。 例如: struct DATA{ int a[2]; //成员为一个数组 int c; }data_a,data_b; 当然,我们也可以先定义结构体再定义结构体变量 struct 结构体名{ 成员表 成员函数 }; 结构体名 结构体变量表;//同样可以同时定义多个结构体变量 例如: struct DATA{ int a[2]; int c; }; DATA data_a,data_b;//这种定义方式与上一种方式的效果是相同的 在定义结构体变量时注意,结构体变量名和结构体名不能相同。在定义结构体时,系统对之不分配实际内存。只有定义结构体变量时,系统才为其分配内存。 2.成员调用 结构体变量与各个成员之间引用的一般形式为: 结构体变量名. 成员名 对于上面定义的结构体变量,我们可以这样操作: cindata_a.a[0]data_a.a[1]; //一般情况下不能写 cindata_a; int a=data_a.a[0]+data_a.a[1]; //就像用整形变量一样用a[0]、a[1] data_b=data_a; //结构体之间的相互赋值是合法的 data_a.c=0; //就如同给整形变量赋值 实际上结构体成员的操作与该成员类型所具有的操作是一致的。 成员运算符“.”在存取成员数值时使用,其优先级最高,并具有左结合性。在处理包含结构体的结构体时,可记作: strua. strub. membb 这说名结构体变量 stru
您可能关注的文档
- 高考一轮复习优秀课件:光电效应+原子结构与原子核_第一单元__第1课时要点.ppt
- 高考任务型阅读解题技巧要点.ppt
- 第八单元_金属和金属材料分解.doc
- 高考作文如何有文采要点.ppt
- 第二章第四节《噪声的危害和控制》课件分解.ppt
- 高考作文素材开头要点.ppt
- 高考化学二轮复习习题:专题25物质的结构与性质要点.doc
- 高考作文指导《高考作文拟题技巧》课件要点.ppt
- 高考化学复习课件:3.3氧化还原反要点.ppt
- 高级语言编程基础要点.ppt
- 高考物理复习之带电粒子(或小球)在复合场中的运动要点.ppt
- 高考物理大一轮复习精讲课件:第4章曲线运动万有引力与航天第3课时圆周运动的基本规律及应用要点.ppt
- 高考物理解题方法专题(130张PPT)要点.ppt
- 高考生物一轮复习阶段综合测评第七单元生物变异、进化与育种-课件要点.doc
- 高考生物一轮复习课时强化作业第八单元生命活动的调节专题植物的激素调节(必修)-课件要点.doc
- 高考生物三轮考前重点专题突破专题一生态因素种群和群落要点.ppt
- 第二章第五节隔声分解.ppt
- 高考复习之默写常见的名句名篇要点.ppt
- 高考生物三轮考前重点专题突破专题二细胞的结构与生物膜系统要点.ppt
- 高考生物二轮复习专题讲练第单元生命活动的调节植物的刺激调节-课件要点.doc
最近下载
- 中国帕金森病步态障碍管理专家共识.docx VIP
- Unit 1 Happy Holiday 第1课时(Section A 1a-1d)课件 人教版(2024)八年级英语上册.pptx VIP
- 2025年配煤掺烧技术及混配煤管理.pptx VIP
- 跨境电商创业计划书融资.pptx VIP
- F372A 中文版.pdf VIP
- 正确理解和大力推进中国式现代化PPT课件.ppt VIP
- 24S410建筑特殊单立管排水系统安装.docx VIP
- 心血管危重患者安全转运.pptx VIP
- 关于中建某局新员工转正答辩.ppt VIP
- Unit 1 Happy Holiday Section B(3a-Reflecting)课件 2025人教版英语八年级上册.pptx
文档评论(0)