第7章:文件读写
- 格式:ppt
- 大小:762.00 KB
- 文档页数:30


实验七:指针的应用【实验目的】1.掌握指针和指针变量,内存单元和地址、变量与地址、数组与地址的关系;2.掌握指针变量的定义和初始化,指针变量的引用方式;3.能正确使用数组的指针和指向数组的指针变量;【实验内容】1.填空题输入一个字符串,将其中的大写字母转换成小写字母,然后输出本程序主要是比较scanf()输入和gets()输入的区别#include <stdio.h>void main(){ char s[20];char *p=s;scanf(“%s”,p); /*注意用scanf()输入和gets()输入的区别*/while( 1 ){if( 2 ) *p=*p+ (‘a’-‘A’);p++ ;}puts ( 3 );}答案:1、*p!=’\0’2、(*p>='A')&&(*p<='Z')3、s运行结果:输入:Program输出:program输入:This is Program输出:this提示:scanf ()输入时遇到空格认为字符串结束,用gets()输入时只有遇到回车才认为字符串结束。
如键入any boy并回车,则2。
补充程序题输入15个整数存入一维数组,再按逆序重新调整该数组中元素的顺序然后再输出。
下面给出部分程序的内容,请将程序补充完整,然后上机调试。
部分程序清单如下:#include <stdio.h>void main(){ int a[15],*p1,*p2,x;for(p1=a;p1<a+15;p1++)scanf("%d",p1);for(p1=a,p2=a+14;p1<a+7;p1++,p2--){ x=*p1;*p1=*p2;*p2=x;}……}答案:for(p1=a;p1!=a+15;p1++)printf("%d ",*p1); // %d后面有一个空格运行结果:输入:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15输出:15 14 13 12 11 10 9 8 7 6 5 4 3 2 1提示:(1)在整型数组中,没有结束标志,必须依靠数组中数据元素的个数控制循环次数。
第7章文件管理作业作业题题1在文件系统中,用户以_________方式直接使用外存。
A.逻辑地址B.逻辑地址C.名字空间D. 虚拟地址题2文件信息的逻辑块号到物理块号的变换是由______决定的。
A.逻辑结构B.页表C.物理结构D.分配算法题3文件系统实现按名存取主要是通过______来实现的。
A.查找位示图B. 查找文件目录C.查找作业表D.内存地址转换题4文件系统采用二级文件目录,主要是为_______。
A.缩短访问存储器的时间B实现文件共享C.节省内存空间D.解决不同用户间文件命名冲突题5磁盘上的文件是以______ 为单位读写的。
A块B记录C区段D页面题6文件索引表的主要内容包括关键字(记录号)和________。
A. 内存绝对地址B.记录相对位置C.记录所在的磁盘地址D. 记录逻辑地址题7有一磁盘组共有10个盘面,每个盘面上有100个磁道,每个磁道有16个扇区,假设分配以扇区为单位,若使用位示图管理磁盘空间,问位示图需要古用多少空间?若空白文件目录的每个表目占用5B。
问什么时候空白文件目录大于位示图?题8某文件系统为级目录结构,文件的数据一次性写入磁盘,已写入的文件不可修改,但可多次创建新文件。
请回答如下问题。
(1)在连续、链式、索引三种文件的数据块组织方式中,哪种更合适?要求说明理由。
为定位文件数据块,需要FCB中设计哪些相关描述字段?(2)为快速找到文件,对于FCB是集中存储好,还是与对应的文件数据块连续存储好?要求说明理由。
题9假定一个盘组共有100 个柱面,每个柱面上有8个磁道,每个盘面分成4个扇区,请回答如下问题。
(1)用位示图方法表示,位示图需占多少存储单元?(2)当有文件要存放到磁盘上时,用位示图方式应如何进行空间分配?(3)当要删除某文件时候,用位示图方式应如何进行?题10文件系统采用多重索引结构搜索文件内容。
设块长为512B,每个块号长3B,如果不考虑逻辑块号在物理块号中所占的位置,分别求二级索引和三级索引时可寻址的文件最大长度。