c第11章 文 件
JavaScript练习题[精选]
![JavaScript练习题[精选]](https://img.taocdn.com/s3/m/af8eae48814d2b160b4e767f5acfa1c7aa0082ef.png)
第11章文档对象一、填空题1.文档对象也就是document对象,它代表___________的对象。
2.Document对象除了拥有大量的方法和属性之外,还拥有大量的___________,它可以用来控制HTML文档中的图片、超链接、表单元素等控件。
3.Document对象中又是由___________和___________组成的。
4.窗体对象是文档对象的一个元素,它含有多种格式的___________。
5.Document对象中包含了一些用来处理文档内容的方法,document对象支持5个基本方法:___________、___________、___________、___________和___________。
6.在HTML中的body元素中,可以通过___________属性和___________属性来设置网页背景颜色和默认的文字颜色。
7.将document对象的title属性和window对象的___________方法相结合,可以让浏览器窗口显示动态标题。
8.如果要想打开的不是THML文档,就要给___________方法传递一个参数。
9.Document对象的___________属性可以返回整个HTML文档中的所有HTML元素。
10.Document对象的anchors属性可以返回一个数组,该数组中的每一个元素都是一个___________对象,也称为___________。
二、选择题1.下列不属于文档对象的方法的是()A.createElementB.getElementByIdC.getElementByNameD.forms.length2.分析下面这段代码运行的结果()01<body>02<script language=”JavaScript”>03document.writeln(“文档最后修改于”+stModified);04var lastModObj=new Date(document. lastModified);05alert(lastModObj.getMinutes());06</script>07</body>A.弹出一个对象框B.没有任何输出C.在文档中显示文档最后修改的时间D.在对话框中显示文档最后修改的时间3.下列属性中表示文档中的未访问过的超链接的颜色是哪个()A.linkColor属性B.vlinkColor属性C.alinkColor属性D.以上都不是4.分析下面这段代码运行的结果()01<script language=”JavaScript”>02with(document)03{04writeln(“最后一次修改时间:” +stModified+”<br>”);05writeln(“标题:” +document.title+”<br>”);06writeln(“URL:” +document.URL+”<br>”);07}08</script>A.只输出最后一次修改的时间B.只输出文档的标题C.输出文档的标题、最后一次修改时间和当前的URLD.什么也不输出5.分析下面这个程序运行的结果()<script language=”JavaScript”>01var str=”字符串”02with(document)03{04writeln(“<b>您好,</b>”);05write(“欢迎光临本网页!” +”<br>”);06writeln(“<p><b>在js标签之间,”);07writeln(str+”可以写在这里</b></p>”>;08}09</script>A.会有”<br>”这样的字符输出B.第6行输出字符后会换行C.最后页面会出错D.会有乱码出现三、编程题1、写一程序实现图片自动随机切换。
第十一章北航 材料力学 全部课件 习题答案

(c)
Fcr
π 2 EI 4l 2
11-7
试确定图示各细长压杆的相当长度与临界载荷。设弯曲刚度 EI 为常数。
题 11-7 图 (a)解:相当长度为
5
leq a
临界载荷为
π 2 EI a2 (b)解:压杆微弯状态的挠曲轴如图 11-7b 中的虚线所示。 Fcr
由此得
sin
kl kl kl 4k 2 EI kl [sin (1 )cos ] 0 2 2 2 cl 2
图示阶梯形细长压杆,左、右两段各截面的弯曲刚度分别为 EI1 与 EI2 。试 证明压杆的临界载荷满足下述方程:
11-11
tank1l tank2l
式中: k1 F /( EI1 ) ; k2 F /( EI 2 ) 。
Fcr, 1
π 2 EI l2
Fcr, 2
显然,压杆的临界载荷为
1.359EI l2
1.359EI l2
Fcr Fcr, 2
11-10
图示两端铰支细长压杆,弯曲刚度 EI 为常数,压杆中点用弹簧常量为 c 的
弹簧支持。试证明压杆的临界载荷满足下述方程:
sin
式中, k F /( EI ) 。
第十一章
压杆稳定问题
11-1
图示两端铰支刚杆-蝶形弹簧系统,试求其临界载荷。图中,c 代表使蝶形弹
簧产生单位转角所需之力偶矩。
题 11-1 图 解:系统的临界状态(微偏斜状态)如图 11-1 所示。注意到蝶形弹簧产生的转角为 2θ , 由右段刚杆的力矩平衡方程
l c(2θ ) F (θ ) 0 2
人教版高中物理必修第三册精品课件 第11章 电路及其应用 2.导体的电阻

R=ρ
(2)公式:________。
材料
温度
2.电阻率:表征了导体材料的导电性能,与导体的________和________等因
素有关,电阻率越大,说明导体的导电性能越差。
三、导体的伏安特性曲线
电压U
电流I
1.伏安特性曲线:用横坐标表示________,用纵坐标表示________,这样画出
的I-U图像叫作导体的伏安特性曲线。
提示 导体的电阻是导体本身的性质,与两端是否存在电压无关。
(4)导体的长度越长,电阻越大。( × )
提示 导体的电阻与其长度、横截面积和材料有关,只有在横截面积和材料
不变时,导体的长度越长,电阻才越大。
(5)由
ρ= 得,导体的电阻率与导体的电阻和横截面积的乘积
RS 成正比,与导
体的长度 l 成反比。( × )
意义
作用
适用范围
联系
R= 的比较
l
R=ρS
U
R= I
电阻定律的表达式,也是
电阻的决定式
提供了测定电阻率的一
种方法, ρ=RS
l
电阻的定义式,R与U、I
无关
提供了测定电阻的一种
方法,伏安法
适用于粗细均匀的金属
导体或浓度均匀的电解 纯电阻元件
液、等离子体
导体的电阻取决于导体本身的材料、长度和横截
面积,而不是U和I
答案8×106 Ω·m
Ω·m。
(2)若有一圆柱体是由髓鞘制成的,该圆柱体的体积为32π cm3,当在其两底
面上加上1 000 V的电压时,通过该圆柱体的电流为10π μA,求该圆柱体的
底面半径和高。
第11章净室软件工程19991

2.条件loop可能以两种方式之一出现:(1)直接从init(此时 loop 条件被直接满足),或(2)通过穿过条件cont 的控制流。 因为条件cont与条件loop相同,因此,不管从哪条路径到 达它,条件loop 都为真。
3.条件cont:只有在y值被递增1后,才能遇到条件cont 。另外, 只有在条件yes也为真时,才能调用到达条件cont 的控制 流路径。因此,如果(y+1)2≤x,则y2≤x,条件cont成立。
11.3 功能规格说明
净室软件工程通过使用盒结构规格说明的方法来遵 从操作分析原则。
一个“盒”在某个细节层次上封装系统(或系统的 某些方面)。
通过逐步求精的过程,盒被精化为层次。“每个盒 规格说明的信息内容足以定义其精化,不需要依赖 任何其他盒的实现” 。
这使得分析员能够按层次划分一个系统——从顶层 的基本表示到底层实现的特定细节。
(1)增量策划。制定一个采用增量策略的项目计划, 确定每个增量的功能、预计规模、及净室开发进 度。
(2)需求收集。为每个增量开发更详细的客户级需 求描述。
11.2 净室策略
(3)盒结构规格说明。运用盒结构的规格说明方法描 述功能规格说明。遵从操作分析原则,盒结构 “在每一个精化级别上使行为、数据及过程的创 造性定义独立”。
设计求精与验证
定义入口和出口条 件。
为了证明设计的正 确性,需要证明图 中表示的条件init、 loop、cont、yes 和exit 在所有情形 下都是正确的。
新教材 人教版高中物理必修第三册 第11章 电路及其应用 知识点考点重点难点提炼汇总

第11章电路及其应用1.电源和电流 (1)2.导体的电阻 (5)3.实验:导体电阻率的测量 (9)4.串联电路和并联电路 (15)5.实验:练习使用多用电表 (19)1.电源和电流一、电源1.定义:能够把电子从正极搬运到负极的装置。
2.作用:(1)维持电源正、负极间始终存在电势差。
(2)使电路中的电流能够持续存在。
二、恒定电流1.恒定电场:由稳定分布的电荷所产生的稳定的电场。
2.自由电荷定向移动的平均速率:在恒定电场的作用下,自由电荷定向加速运动,但在运动过程中与导体内不动的粒子不断碰撞,碰撞的结果是大量自由电荷定向移动的平移速率不随时间变化。
3.恒定电流:大小、方向都不随时间变化的电流。
4.电流(1)物理意义:表示电流强弱程度的物理量。
(2)公式:I=q t 。
(3)单位:在国际单位制中,电流的单位是安培,简称安,符号是A。
常用的电流单位还有毫安(mA)和微安(μA)。
1 mA=10-3A,1 μA=10-6 A。
(4)方向:正电荷定向移动的方向规定为电流的方向。
考点1:对电源的理解1.电源的作用(1)从电荷转移的角度看,电源的作用是使电路中的自由电荷持续地定向移动。
(2)从能量转化的角度看,搬运电荷的过程是非静电力做功的过程,从而将其他形式的能转化为电能。
2.形成电流的三种电荷形成电流的三种电荷为自由电子、正离子和负离子,其中金属导体导电时定向移动的电荷是自由电子,液体导电时定向移动的电荷有正离子和负离子,气体导电时定向移动的电荷有自由电子、正离子和负离子。
【例1】 下列关于电源的说法正确的是( )A .电源的作用是在电源内部把电子由负极搬运到正极,保持两极之间有电压B .电源把正、负电荷分开的过程是把其他形式的能转化为电势能的过程C .电荷的移动形成电流D .只要电路中有电源,电路中就会形成持续的电流B [在电源内部,电源把电子由正极搬运到负极,这一过程要克服静电力做功,把其他形式的能转化为电势能,故选项A 错误,选项B 正确。
第11章习题及参考答案

第11章习题及参考答案11.1 解释下列名词。
(1) 伸缩振动(2) 指纹区(3) 化学位移(4) 偶合裂分(5) 磁各向异性(6) 最大吸收波长(7) 助色团(8) 质荷比(9) Mclafferty重排(答案略)11.2 下图为1-己炔的红外光谱图,试指出各主要吸收峰的归属。
解:各主要峰的归属为:3320~3310cm-1:≡C—H伸缩振动2000cm-1:C≡C伸缩振动2950~2850cm-1:饱和C—H伸缩振动1470~1420cm-1:饱和C—H弯曲振动11.3 某未知物分子式为C8H10,试根据其红外光谱推测其结构。
解:化合物结构为:CH 2CH 311.4 下列化合物的1HNMR 谱图中各有几组吸收峰?(1) 1-溴丁烷;(2) 丁烷;(3)1,4-二溴丁烷;(4) 2,2-二溴丁烷;(5) 2,2,3,3-四溴丁烷;(6) 溴乙烯;(7) 1,1-二溴乙烯;(8) 顺-1,2-二溴乙烯;(9) 烯丙基溴;(10) 2-甲基-2-溴丁烯解:(1) 1-溴丁烷,4组; (2) 丁烷,2组; (3)1,4-二溴丁烷,2组;(4) 2,2-二溴丁烷,3组; (5) 2,2,3,3-四溴丁烷,1组;(6) 溴乙烯,3组; (7) 1,1-二溴乙烯,1组; (8) 顺-1,2-二溴乙烯,1组;(9) 烯丙基溴,4组; (10) 2-甲基-2-溴丁烯,4组11.5 将下列化合物按指定的波谱性质排序。
(1) C —H 键在红外光谱中伸缩振动波数A. ≡C —HB. =CH —HC. —CH 2—H (2) >C=O 在红外光谱中伸缩振动波数3NH 2OCCH 3CH 3O3O >(3) 指定质子在核磁共振谱中的化学位移值δA. CH 3CH 3B. (CH 3)3CHC. CH 3CH 2CH 3 (4) 质子在核磁共振谱中的化学位移值δA. CH 3FB. CH 3ClC. (CH 3)4SiD. (CH 3)3PE. (CH 3)2S (5) 紫外吸收的λmaxCH3A. B. C.D.(6) 紫外吸收的λmaxO OOCH 3解: (1) A > B > C (2) B > C > A (3) A > C >B(4) A > B > E > D > C (5) C > A > D > B (6) C > B > A11.6 分子式为 C 3H 6Cl 2的化合物四种异构体的1HNMR 数据如下,试分别确定它们的构造。
(2021年整理)谭浩强c语言程序设计习题集
(完整)谭浩强c语言程序设计习题集编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整)谭浩强c语言程序设计习题集)的内容能够给您的工作和学习带来便利。
同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。
本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为(完整)谭浩强c语言程序设计习题集的全部内容。
目录重要次重要重复或欲删除基础第一章 C语言概述1。
1 选择题1.2 填空题第二章数据类型、运算符与表达式2。
1 选择题2.2 填空题第三章最简单的C程序设计3。
1 选择题3。
2 填空题第四章逻辑运算和判断选取控制4。
1 选择题4。
2 填空题4。
3 编程题第五章循环控制5。
1 选择题5。
2 填空题5.3 编程题第六章数组6。
1 选择题6.2 填空题6.3 编程题第七章函数7。
1 选择题7.2 填空题7.3 编程题第八章编译预处理8.1 选择题8.2 填空题8。
3 编程题第九章指针9.1 选择题9.2 填空题9。
3 编程题第十章结构体和共用体10.1 选择题10.2 填空题10.3 编程题第十一章位运算11.1 选择题11。
2 填空题11。
3 编程题第十二章文件12。
1 选择题12。
2 填空题12.3 编程题第一章 C语言概述1。
1 选择题*1.1一个C程序的执行是从 A 。
A)本程序的main函数开始,到main函数结束B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D)本程序文件的第一个函数开始,到本程序main函数结束参考答案:A参考分析:C语言总是从main函数开始,main函数结束。
但是C语言中存在一个exit(0)函数,它可以使得程序在任何时候、任何位置结束程序的运行。
人教版八年级上册数学第11章 直角三角形的性质与判定1(20页)
∴△EFP为直角三角形.
学习目标
新课讲授
当堂检测
课堂总结
归纳总结
“有一个角是直角的三角形是直角三角形”是直角三 角形的定义,据此可判定直角三角形;“有两个角互余的 三角形是直角三角形”是直角三角形的判定,由三角形内 角和定理可知第三个角是直角,因此它的实质还是直角三 角形的定义.
学习目标
新课讲授
当堂检测
课堂总结
练一练
1.已知∠A=37°,∠B=53°,则△ABC为( C )
A.锐角三角形
B.钝角三角形
C.直角三角形
D.以上都有可能
2.具备下列条件的△ABC中,不是直角三角形的是( D )
A.∠A+∠B=∠C
B.∠A=
1 2
1 ∠B= 3
∠C
C.∠A∶∠B∶∠C=1∶2∶3 D.∠A=2∠B=3∠C
学习目标
新课讲授
当堂检测
课堂总结
探究新知 知识点1:直角三角形两锐角的关系
观察这两个直角三角形,它们两锐角之和分别为多少? 那对于任意直角三角形,这一结论是否还成立呢?
学习目标
新课讲授
当堂检测
课堂总结
如图, 在直角三角形ABC中,∠C = 90°, 由三角形内角和
定理,得∠ A+ ∠ B+ ∠ C = 180°,即
学习目标
新课讲授
当堂检测
课堂总结
练一练
1.如图,∠ACB=90°, CD丄AB,垂足为D.∠ACD与∠B有什
么关系?为什么?
C
解: ∠ACD=∠B.理由如下:
因为∠ACB=90°,
所以∠ACD+∠BCD=90°.
因为CD⊥AB,
A
所以∠BCD+∠B=90ห้องสมุดไป่ตู้.
《程序设计基础(C语言)》实验指导书
《程序设计基础(C语言)》目录第1 章概述 (1)1.1 课程简介 (1)1.2 实验环境选择 (1)第 2 章实验要求 (1)2.1 实验过程要求 (1)2.2 考核及评分标准 (1)第 3 章实验内容 (2)3.1 实验1 熟悉C语言运行环境 (2)3.2 实验2 数据类型 (3)3.3 实验3 运算符和表达式 (4)3.4 实验4 顺序结构及输入和输出 (6)3.5 实验5 选择结构 (7)3.6 实验6 循环结构 (9)3.7 实验7 数组(1) (11)3.8 实验8 数组(2) (12)3.9 实验9 字符串及其操作 (13)3.10 实验10 函数 (14)3.11 实验11 结构体 (15)3.12 实验12 指针 (16)第 1 章概述1.1 课程简介《程序设计基础(C语言)》是软件工程各专业或其它相近专业学生的公共职业基础课,是软件类各专业的入门课程,直接影响学生后继职业技术课程的学习及可持续发展能力的培养。
通过本书,学习基本的程序设计概念和程序设计方法,学会使用C语言解决实际问题,进行初级的程序设计。
1.2 实验环境选择VC++6.0第 2 章实验要求2.1 实验过程要求本课程中,实验者必须服从指导教师和实验室工作人员的安排,遵守纪律与实验制度,爱护设备及卫生。
在指定的实验时间内,必须到机房内实验,其余时间可自行设计和分析。
本课程所涉及的程序代码,都要求有较高的可读性和效率,多文件表示。
2.2 考核及评分标准若实验者在指定上机时间三次不到课,取消考核资格。
请假,必须提前出具正式假条,不接受事后假条。
如果发现抄袭、篡改、伪造实验数据,或实验报告和设计报告雷同,涉及的所有学生的该课程成绩计为0 分。
本课程采用结构化评分,主要由指导教师灵活处理,可以是考勤等。
第 3 章实验内容3.1 实验1 熟悉C语言运行环境一、实验目的1.了解什么是C语言2.熟悉C语言程序开发环境二、实验内容和步骤1.大学生涯的第一个程序1)运行Microsoft Visual Studio 2008或者VC6.02)创建项目,选择win32控制台应用程序或者空项目,项目名为MyFirstApp3)新建项目,选择C++源文件,文件名为HelloWorld4)在程序编辑窗口,输入如下代码#include <stdio.h>/* 主程序*/void main(){printf("hello world\n");}5)执行程序,Ctrl+F56)观察输出结果,并记录2.修改程序1)增加语句,观察输出结果是否不同printf("hello world\n");printf("world is me\n");2)删除输出字符串中的“\n”,观察输出结果是否不同printf("hello world\n");3)进行换行输出,观察输出结果是否不同printf("hello, ");printf("world");printf("\n");4)将上个程序块中的printf("\n");去掉,观察输出结果是否不同3.用自己的语言,描述下对C语言程序的第一印象4.简单描述下,第二步骤中,输出结果相同与不同的原因;以及“\n”的用途3.2 实验2 数据类型一、实验目的1.掌握变量的命名规则和定义2.掌握C语言程序中的各种数据类型并使用它们二、实验内容和步骤1.定义3个变量numInt、numFloat、charInfo,他们的类型分别为整型,单精度类型,字符型;并分别初始化为2,2.0和‘A’,最后输出这三个变量的值。
北师大版初中物理《第11章-简单电路》基础知识总结
北师大版初中物理《第十一章简单电路》基础知识总结1、最基本的电路是由电源、开关、导线、用电器等部分组成。
2、用电器:像灯泡这样利用电能工作,把电能转化为其他形式的能的装置叫做用电器。
如:电灯,电视机,电动机,电铃等。
3、电源:为用电器提供电能的装置叫电源。
如发电机,电池等。
电源是把其他形式的能转化为电能。
如干电池是把化学能转化为电能。
发电机则由机械能转化为电能。
4、开关:在电路中,控制电路通断的装置叫开关。
5、导线:把电源、开关、用电器、连接起来起导电作用的金属线称为导线。
6、电路的三种状态:通路、断路、短路。
7、通路:连接好电路后,闭合开关,灯泡发光。
这种处处连通的电路,叫做通路。
(又叫闭合电路)8、断路:一个电路如果没有闭合开关,或导线没有连接好,电路在某处断开,处在这种状态的电路叫做断路。
(又称开路)9、短路:不经过用电器,直接用导线把电源两极连接起来的电路,叫做短路。
10、电路图:我们常用规定的符号表示电路中的元器件,把这些符号用代表导线的线段连接起来,就可以表示由实物组成的电路,这种图就叫做电路图。
11、电路的连接方式分:串联和并联两种。
12、电流方向:人们规定正电荷定向移动的方向为电流的方向。
13、电流用符号I表示,国际单位是:安培(A) 常用单位是:毫安(mA)、微安(µA)。
1安培=103毫安=106微安。
14、测量电流的仪表是:电流表,它的使用规则是:①电流表要串联在电路中;②接线柱的接法要正确,使电流从“+”接线柱入,从“-”接线柱出;③被测电流不要超过电流表的量程;④绝对不允许不经过用电器而把电流表连到电源的两极上。
15、实验室中常用的电流表有两个量程:①0~0.6安,每小格表示的电流值是0.02安;②0~3安,每小格表示的电流值是0.1安。
16、电压(U):电压是使电路中形成电流的原因,电源是提供电压的装置。
电路中有电压不一定有电流,有电流电路的两端必有电压。
17、电压U的国际单位是:伏特(V);常用单位是:千伏(KV)、毫伏(mV)、微伏(µV)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
操作方式 r w a r+ w+ a+ rb wb ab rb+ wb+ ab+
含 义
表11.1 文件操作方式
以只读方式打开一个文件, 以只读方式打开一个文件,指定的文件必须存在 以只写方式打开文件。如果指定的文件存在,则其中的内容将被删去, 以只写方式打开文件。如果指定的文件存在,则其中的内容将被删去,否 则将新创建一个文件 以追加写方式打开一个文件,即向文件尾追加数据。如果指定的文件不存 以追加写方式打开一个文件,即向文件尾追加数据。 在,则重新创建一个文件 以读写方式打开一个文件, 以读写方式打开一个文件,指定的文件必须存在 以读写方式打开一个文件。如果指定的文件已经存在,则其内容将被刷新 以读写方式打开一个文件。如果指定的文件已经存在, 以追加写方式打开一个文件。如果指定的文件不存在, 以追加写方式打开一个文件。如果指定的文件不存在,则重新创建一个文 件
11.4.2 字符串的读写
【例11.4】从e:\turboc2\file2.txt文件中读入一行字符串,并显示在屏幕上。 #include <stdio.h> main() { FILE *fp; char stu[20]; if((fp=fopen("e:\\turboc2\\text.txt","r"))==NULL) {printf("cannot open file press any key exit!"); getchar(); exit(1); } fgets(stu,20,fp); fclose(fp); puts(stu); } 运行结果为: C Language
11.4.2 字符串的读写
【例11.3】创建文件e:\turboc2\file2.txt,并在其中写入一行字符串。 #include <stdio.h> main() { FILE *fp; char stu[20]; if((fp=fopen("e:\\turboc2\\ file2.txt","w"))==NULL) {printf("cannot open file press any key exit!"); getchar(); exit(1); } printபைடு நூலகம்("input a string:\n"); scanf("%s",stu); fputs(stu,fp); fclose(fp); exit(0); } 运行结果为: input a string:C language
11.4.1 单个字符的读写
【例11.1】从键盘输入一些字符,逐个把它们送到磁盘上。 #include <stdio.h> main() {FILE *fp; char ch,filename[10]; scanf("%s",filename); if((fp=fopen(filename,"w"))==NULL) { printf("cannot open file\n"); exit(0); } ch=getchar(); while(ch!='#') { fputc(ch,fp); putchar(ch); ch=getchar(); } fclose(fp); } 程序运行结果: file1.txt this is a computer
11.4 文件读写
11.4.1 11.4.2 11.4.3 11.4.4 单个字符的读写 字符串的读写 数据块读写 格式化数据读写
11.4.1 单个字符的读写
1.读一个字符的函数fgetc() 调用格式: fgetc(fp); 其中,fp是FILE类型文件指针变量。 功能:返回读入的字符,如果出错或读到文件结束符时返回EOF。 2 2.写一个字符的函数fputc() fputc() 调用格式: Fputc(ch,fp); 其中,ch是字符变量,fp是FILE类型文件指针变量。 功能:是将一个字符输出到指定的磁盘文件中,若成功就返回所写 字符,否则返回EOF。
11.3 文件的打开和关闭
11.3.1 文件的打开 11.3.2 文件的关闭
11.3.1 文件的打开
打开一个文件的函数是fopen(),其格式为: fopen(文件名,操作方式) 例如: FILE *fp fp=fopen("exp11-1.dat","r"); 它表示要打开名为exp11-1.dat的文件,操作方式为“读”。 fopen()函数的第一个参数是文件名,可包含驱动器及路径。第二个参 数指明文件操作方式。所有的文件操作方式见表11.1。
11.4.2 字符串的读写
1.字符串输入函数fgets() 调用格式: fgets(str,n,fp); 其中,str为字符数组或字符指针,fp是FILE类型文件指针变量。 功能:从由fp所指向的文件(以读方式打开)中读取字符串,并放到 字符指针str所指向的存储区域中,当读了n–1个字符或遇到换行符 \0’ 时,读操作结束,字符串读入后自动加一个字符串结束符‘\0’。 2.字符串输出函数fputs() 调用格式: fputs(str,fp); 其中,str为字符数组或字符指针,fp是FILE文件类型指针变量。 功能:将字符串str复制到由fp指向的文件中(以写的方式打开)。
11.4.3 数据块读写
1.fread函数 调用形式: fread(ptr,size,n,fp); 功能:从fp所指向的文件中读取n个数据项,每个数据的大小都是size个字节,这 些数据将被存放到ptr所指向的内存中。 例如:有以下结构体: struct stu { char num[8]; float score[6]; }students[20]; 假设students数组的每个元素包含有学生的学号和六门课的成绩,文件指针fp所 指向的文件已正确打开;元素中的数据已保存在指定的文件中。执行下列循环可 将每个学生的数据逐个从文件中读入到students数组中。 i=0; fread(&students[i],sizeof(struct stu),1,fp); while(!feof(fp)) { i++; fread(&students[i],sizeof(struct stu),1,fp); }
11.3.2 文件的关闭
关闭文件的一般格式是: fclose(文件指针变量); 功能:将文件指针变量与所指向的文件脱离,并释放文件缓冲区。若关闭 成功,返回0,否则返回EOF。 其中文件类型指针是在用fopen()函数打开文件时获得的。 例:fclose(fp); 及时关闭不使用的文件,有以下好处: (1) 避免丢失数据。如果不执行fclose函数,将有可能丢失暂时存放在文 件缓冲区中的数据,因此,在文件操作完成后,需要执行fclose函数,以便由 fclose函数将文件缓冲区中的数据写入磁盘。 (2) 可充分利用资源。由于每个系统允许打开的文件数是有限制的,一般 允许同时打开20个文件,因此及时关闭不使用的文件,可充分利用内存空间。
11.1 文件概述
在标准头文件stdio.h中,预定义了文件类型指针,其中stdin、stdout 、stderr这3个标准文件类型指针非常有用,它们都连到相应的终端 设备。 标准输入流指针stdin,即键盘; 标准输出流指针stdout,即显示屏; stdout 标准错误流指针stderr,将其错误信息通过屏幕显示出来。
第11章 文 11章
11.1 11.2 11.3 11.4 11.5 11.6 11.7
件
文件概述 文件类型指针 文件的打开和关闭 文件读写 文件定位函数 小结 思考与练习
11.1 文件概述
文件分类: 根据文件中的数据存储形式,可以把文件分为ASCII文件和二进制文件 两种。 无论是文本文件还是二进制文件,C语言都把它看作一个字节序列,即 一连串的字节数据,所以在C语言中表现为一个字节流或二进制流,C 语言按照这种流式结构来操作文件,因而具有很强的灵活性,不会受到 任何特殊字符的限制。 根据存储文件的外部设备,可以把文件分为设备文件和磁盘文件。 根据C语言编译系统提供的文件处理方式有缓冲文件系统和非缓冲文件 系统两种。
在上述六种操作方式后面附加字母“b”,则是以同样方式打开二进制文 在上述六种操作方式后面附加字母“b”, 件,如: rb”:以只读方式打开一个二进制文件。 “rb”:以只读方式打开一个二进制文件。 ab” 以追加写方式打开一个二进制文件。 “ab”:以追加写方式打开一个二进制文件。
11.3.1 文件的打开
11.4.3 数据块读写
2.fwrite函数 调用形式: fwrite(ptr,size,n,fp); 功能:将ptr所指向的内存中存放的n个大小为size个 字节的数据项写入fp所指向的文件中。如果操作成功, fwrite函数返回实际写入的数据项的个数。否则,可能返 回0。
3.使用举例
第11章 文 11章
件
第11章 文 11章
件
文件是指存放在外部存储器上的数据的集合 文件 是指存放在外部存储器上的数据的集合 。 操作系 是指存放在外部存储器上的数据的集合。 统对外部介质中的数据是以文件形式进行管理的。 统对外部介质中的数据是以文件形式进行管理的 。 迄 今为止, 今为止 , 本书所有程序中的数据的输入和输出都是以 显示屏幕和键盘为对象的, 即从键盘输入数据, 显示屏幕和键盘为对象的 , 即从键盘输入数据 , 程序 的运行结果输出到显示屏幕上。 实际上, 的运行结果输出到显示屏幕上 。 实际上 , 一个应用程 序在运行过程中常常要从文件中读取信息, 序在运行过程中常常要从文件中读取信息 , 并将运行 结果存储到文件中。 结果存储到文件中。
11.2 文件类型指针
对磁盘文件(简称文件)的操作则必须遵循以下三个步骤: 1. 打开文件 每个文件在使用之前都必须先打开,只有在文件打开之后才能进行读、 写等操作。当文件结束操作时,就应该关闭它。 每一个文件被打开或创建后,都存在一个惟一确定该文件的文件类型指 针,以后对文件的操作(包括读、写等)就可以通过该文件指针来进行。我们 可以用下面的方式定义一个指向文件类型的指针变量。 FILE *fp; 指针变量名fp是指向FILE结构体类型的指针变量,它是在打开或创建文 件时获得的。 通过打开或创建文件而获得文件类型指针fp之后,就可以通过fp来对文 件进行操 作了。 2.文件处理 包括读文件,写文件等。C语言没有提供对文件进行操作的语句,所有 的文件操作都是利用C语言编译系统所提供的库函数来实现的。 3.关闭文件