- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
川师c语言实验报告十
数学与软件科学学院 实验报告
学期:2013至_2014 第_ 1 学期 时间:2013年12月09日
课程名称:程序设计基础教程-C语言 专业:数学与应用数学 2012级1班
实验编号:10 实验项目:位运算和文件操作
指导教师:
姓名: 学号: 实验成绩:
一、实验目的及要求
(1) 掌握位运算的基本概念和方法,以及有关位运算的常见算法和基本应用;
(2) 掌握文件和文件指针概念,以及文件的一般定义、操作方法。在此基础上了解有关文件的基本应用并熟悉相关函数。
注:重点掌握缓冲文件系统的操作和运用,在此基础上了解和熟悉文件的顺序读写和随机读写方法。
二、实验内容
1. 熟悉位运算的基本操作方法。(以教材例11-1为基础)
2. 了解和熟悉位运算的基本应用。(以教材例11-2~11-6为基础)
3. 熟悉文件操作的基本步骤。(以例12-1~12-7为基础)
4. 了解文件的读、写函数的使用方法。(以例12-8~12-10为基础)
三、实验预备
(1) 复习有关位运算和文件操作的基本知识;
(2) 仔细分析教材所提供的各程序实例及其可能执行结果;
四、实验步骤
(1) 上机执行各实例程序,并做相应测试和分析;
(2) 总结基于位运算的程序设计特点及其可能的应用领域;总结文件的基本结构及其操作步骤,以及应用文件的主要问题领域。
(3) 编写实验报告。
五、实验结果分析与评价
(1) 根据测试目标写出测试报告;
(2) 测试结果分析说明;
(3) 测试程序代码清单。
熟悉位运算的基本操作方法。(以教材例11-1为基础)
只有 ~ 为单目运算符
位运算只能用于整型或字符型数据
位运算符可以与赋值运算符结合组成扩展的赋值运算,即~=,=,=,=,^=,|=
两个长度不同的数据进行位运算时,系统先将二者右端对齐,然后将短的一方进行扩充。对无符号数,按无符数则以0扩充;对有符号数,按符号扩充
例题:11-1 按位进行基本位操作
结果分析:按位逻辑与通过操作符完成。它通过对其左右两个操作符逐位与后获得一个新值,作为逻辑与的结果;按位逻辑或的运算,按位逻辑非也是同样道理的;对于有符号数,左移或右移后右边或左边空出的位以符号位填充。
2. 了解和熟悉位运算的基本应用。(以教材例11-2~11-6为基础)
(1)掩码技术(Mask)
用一个二进制bit串来覆盖另一个二进制串bit串,使被覆盖者保持某种性质的技术
使某个二进制位串保持某种特征
指定某个二进制位的0/1状态
位的打开:打开位串中的特定位而保持其他位不变
将指定位赋予0
(4)位的翻转:对指定位的状态进行求反操作。
利用掩码技术屏蔽其他bitbit位的状态。
例题11-2 写一程序,实现将给定整数值转换为二进制字符串并分节输出转换结果。
运行结果如下:
Please input an integer:567
0000,0010,0011,0111
结果分析:
因为C语言没有直接提供二进制形式的I/O操作,要将给定整数值转换为二进制字符串形式要用到掩码技术和逻辑左移或右移运算。掩码用于对指定bit位进行状态检测,左移或右移使待转换整数的二进制位串的下一bit移动到掩码中状态为1的bit位处。
以上程序对整数number右移而掩码0x0001固定不变完成转换;也可以对掩码左移而整数number固定不变来完成。
3. 熟悉文件操作的基本步骤。(以例12-1~12-7为基础)
4. 了解文件的读、写函数的使用方法。(以例12-8~12-10为基础)
(1)缓冲文件系统的文件信息区结构及指向文件的指针
声明文件指针变量的格式: FILE *文件结构体指针变量名;
注意:
缓冲文件系统中,所有对文件的操作都必须通过指向文件结构体指针变量完成
只要将文件信息对应的结构体变量之起始地址值赋给文件指针变量,就可以达到操作和管理文件的目的
(2)缓冲文件系统的读写文件方法
fgetc()和fputc()
fputc() int fputc(int ch, FILE *stream);
功能:把一字节的ch写入文件stream中。写入正常时,返回ch;写入出错时,返回EOF。
fgetc() int fgetc(FILE *stream);
功能:从stream中读取一个字节的代码。正常读取时,返回读到的代码值;读到文件尾或出错时返回EOF。
fgets()和fputs()
fgets() char*fgets(char*str,int
文档评论(0)