当前位置:文档之家› 第10章 输入输出流

第10章 输入输出流

第10章 输入输出流
第10章 输入输出流

第10章输入/输出流

10.1 选择题

1.下列类中( ac)不是输入输出流类iostream的派生类。

(a)fstream (b)ofstream (c)strstream (d)ostrstream

2.在下列选项中( d )是ostream类的对象。

(a)cin (b)cerr (c)clog

(d)cout

3.read函数的功能是从输入流中读取( c )。

(a)一个字符 (b)当前字符 (c)一行字符 (d)指定若

干个字符

4.下列选项中,用于清除基数格式位设置以十六进制输出的语句是( b )。

(a) cout<

(b) cout<

(c) cout<

(d) cin >>setf( ios::hex,ios::basefield);

5.下列格式控制符,在iostream.h中定义的是( a,d ),在iomanip.h

中定义的是( )。

(a)endl (b)setfill (c)setw

(d)oct

6.下列串流类,在strstream.h中定义的是( b,d ),在sstream.h

中定义的是( )。

(a)istringstream (b)istrstream (c)ostringstream (d)ostrstream

7.包含类fstream定义的头文件是( a )。

(a)fstream.h (b)ofstream.h (c)ifstream.h

(d)iostream.h

8.以写的方式打开文件” D:\file.dat”,错误的语句是(c )。

(a) ifstream infile( “D:\file.dat”, ios::in );

(b) ifstream infile( “D:\\file.dat”, ios::in);

(c) ofstream infile( “D:\file.dat”, ios::out);

(d) fstream infile( “D:\\file.dat”, ios::in|ios::out );

9.假定已定义浮点型变量data,以二进制方式把data的值写入输出文

件流对象outfile中去,正确的语句是( c )。

(a) outfile.write(( float* ) &data , sizeof( float ));

(b) outfile.write(( float* ) &data , data );

(c) outfile.write(( char* ) &data , sizeof( float ));

(d) outfile.write(( char* ) &data , data );

10.2 阅读下列程序,写出执行结果

1.#include < iostream.h >

void main()

{ double x = 123.456;

cout.width( 10 );

cout.setf( ios :: dec, ios :: basefield );

cout << x << endl;

cout.setf( ios :: left );

cout << x << endl;

cout.width( 15 );

cout.setf( ios::right , ios::left );

cout << x << endl;

cout.setf( ios::showpos );

cout << x << endl;

cout << -x << endl;

cout.setf( ios :: scientific );

cout << x << endl;

}

答案:

123.456

123.456

123.456

+123.456

-123.456

+1.234560e+002

2.#include

void main()

{ double x = 123.45678;

cout.width( 10 );

cout << ( "#" );

cout << x << endl;

cout.precision( 5 );

cout << x << endl;

cout.setf( ios::showpos );

cout << x << endl;

cout.setf( ios::scientific );

cout << x << endl;

}

答案:

#123.457

123.46

+123.457

+1.23457e+002

3.#include

#include

void main()

{ double x = 123.456789;

cout << setiosflags( ios::fixed | ios::showpos ) << x <

cout << setw( 12 ) << setiosflags( ios::right );

cout<< setprecision( 3 ) << -x << endl;

cout << resetiosflags( ios::fixed | ios::showpos )

<< setiosflags( ios::scientific );

cout << setprecision( 5 ) << x << endl;

}

答案:

10.3 编程题

1.以表格形式输出当x = 1°,2°,…,10°时的sin(x)、cos(x)和tg(x)的值,要求输出时数据的宽度为10、左对齐和保留小数点后5位。

解答:

#include

#include

#include

using namespace std;

void main(){

int i=1;

cout.setf(ios::left);

cout<

<<"cos(x)"<

cout.precision(5);

cout.unsetf(ios::left);

while(i<=10)

{

cout<

cout<

cout.setf(ios::left);

cout<

i++;

}

}

2. 建立一个文本文件,从键盘输入一篇短文存放在文件中。短文由若干行构成,每行不超过80个字符。

解答

#include

#include

#include

using namespace std;

void main()

{

char c;

int count=0;

fstream A("D://filename.txt");

while(c=getchar())

{

if(count!=80)

{

A.put(c);

count++;

}

else

{

A.put('\n');

count=0;

}

}

A.close();

}

3.把由第2题建立的文本文件读出,显示在屏幕上并统计该文件的行数。

解答:

#include

#include

void main()

{

ifstream out("D://filename.txt");

if(!out)

{

cout<<"open failed!"<

}

int i,count=0,row=1;

char c;

while(out.get(c))

{

cout<

count++;

if(count==81)

{

row++;

}

}

cout<<"the row is:"<

}

4.建立某单位职工通讯录二进制文件,文件中的每个记录包括职工编号、姓名、电话号码、邮政编码和住址。

#include

#include

#include

using namespace std;

struct worker

{

int number;

string name;

int callnumber;

int post;

string address;

};

void main()

{

int n,i;

worker list;

fstream out;

out.open("D://list.txt",ios::out|ios::in);

if(!out)

{

cout<<"open failed!"<

}

cout<<"input the number of wokers:";

cin>>n;

for(i=0;i

{

cout<<"input the number of worker"<

cin>>list.number;

cout<<"input the nameof worker"<

cin>>https://www.doczj.com/doc/ff11730401.html,;

cout<<"input the callnumberof worker"<

cin>>list.callnumber;

cout<<"input the post of worker"<

cin>>list.post;

cout<<"input the addressof worker"<

cin>>list.address;

out.write((char*)&list,sizeof(worker));

}

out.close();

}5.从键盘上输入职工的编号,在由第4题所建立的通讯录文件中查找该职工资料。查找成功时,显示职工的姓名、电话号码、邮政编码和住址。

解答:

6.设有两个按升序排列的二进制数据文件f和g,将它们合并生成一个新的升序二进制数据文件h中。

解答:函数mergeFile有三个字符串形式参数。f和g接受已存在的有序文件的实际文件名,h是合并之后数据存放的文件名。合并的方法是,以读方式打开f和g文件,以写方式打开h文件。比较f和g文件的当前元素,把较小者写入h文件。如此循环,直到开f或g文件其中一个被读完,然后把另一个文件的成语剩余数据顺序写入h文件。最后关闭所有文件。

第十章 输入输出系统习题

第十章输入输出系统习题 一、单项选择题: 1、“总线忙”信号是由__ __建立的。 A.获得总线控制权的设备B.发出“总线请求”的设备 C.总线控制器D.CPU 2、在不同速度的设备之间传送数据__ __。 A.必须采用同步控制方式B.必须采用异步控制方式 C.可以选用同步方式,也可选用异步方式D.必须采用应答方式 3、挂接在总线上的多个部件___ _。 A.只能分时向总线发送数据,并只能分时从总线接收数据 B.只能分时向总线发送数据,但可同时从总线接收数据 C.可同时向总线发送数据,并同时从总线接收数据 D.可同时向总线发送数据,但只能分时从总线接收数据 4、总线从设备是____。 A.掌握总线控制权的设备 B.申请作为从设备的设备 C.被主设备访问的设备D.总线裁决部件 5、假设某系统总线在一个总线周期中传输4个字节信息,一个总线周期占用2个时钟周期,总线时钟频率为10MHz,则总线带宽是__ __。 A.10 MB/s B.20 MB/s C.40 MB/s D.80 MB/s 6、波特率表示传输线路上____。 A.信号的传输速率B.有效数据的传输速率 C.校验信号的传输速率D.干扰信号的传输速率 7、中断系统中的断点是指____。 A.子程序入口地址B.中断服务子程序入口地址 C.中断服务程序入口地址表D.中断返回地址 8、显示器的主要参数之一是分辨率,其含义是____。 A.显示屏幕的水平和垂直扫描频率 B.显示屏幕上光栅的列数和行数 C.可显示不同颜色的总线 D.同一个画面允许显示不同颜色的最大数目 9、下列选项中,能引起外部中断的事件是____。 A.键盘输入B.除数为0 C.浮点运算下溢D.访存缺页 10.CPU响应中断时,最先完成的两个步骤是_ __和保护现场信息。 A.开中断 B.恢复现场 C.关中断 D.不可屏蔽中断 11、在独立编址方式下,存储单元和I/O设备是靠来区分的。 A.不同的地址代码B.不同的地址总线 C.不同的指令和不同的控制信号D.上述都不同 12、计算机系统的输入/输出接口通常是__ __。 A.CPU与存储器之间的交界面B.存储器与打印机之间的交界面 C.主机与外围设备之间的交界面D.CPU与系统总线之间的交界面 13.根据连线的数量,总线可分为串行总线和_____ ___总线

第10章-输入输出流

1.下列流类中可以用于处理文件的是()。Empty! (D) (a) ios (b) iostream (c) strstream (d) fstream 2.在下列选项中()是istream类的对象。Empty! (B) (a) cerr (b) cin (c) clog (d) cout 3.read函数的功能是从输入流中读取()。Empty! (D) (a) 一个字符(b) 当前字符(c) 一行字符(d) 指定若干个字节 4.下列选项中,用于清除基数格式位设置以十六进制输出的语句是()。Empty! (B) (a) cout << setf( ios::dec, ios::basefield ) ; (b) cout << setf( ios::hex, ios::basefield ) ; (c) cout << setf( ios::oct, ios::basefield ) ; (d) cin >> setf( ios::hex, ios::basefield ) ; 5.下列格式控制符,既可以用于输入,又可以用于输出的是()。Empty! (A) (a) setbase (b) setfill (c) setprecision (d) setw 6.下列串流类,在strstream.h中定义的是()。Empty! (B) (a) istringstream (b) istrstream (c) ostringstream (d) stringstream 7.包含类fstream定义的头文件是()。Empty! (A) (a) fstream.h (b) ofstream.h (c) ifstream.h (d) iostream.h 8.要求打开文件 D:\file.dat,并能够写入数据,正确的语句是()。Empty! (D) (a) ifstream infile( "D:\\file.dat", ios::in ) ; (b) ifstream infile( "D:\\file.dat", ios::out ) ; (c) ofstream outfile( "D:\\file.dat", ios::in ) ;

输入输出流

第十章 输入/输出流
程序在运行时通常要和外部进行交互, 即从外部读取数据或向外部设备发送数据, 这就 是所谓的输入/输出(Input/Output)。 数据可以来自或者发往文件、 内存、 另一个程序或网络。 数据也可有不同的格式,例如可以是各种编码(ASCII 码或 Unicode 码等)的字符串、图像、 声音或对象等等。 Java 语言使用抽象概念——流来描述程序与数据发送或接收者之间的数据 通道。使用输入/输出流,程序员可以方便灵活和安全地实现输入输出功能。
§10.1 输入/输出基本概念
10.1.1 外部设备与文件
我们可以从不同角度对外部设备进行分类。 按照外部设备的工作特性, 我们可将外部设 备分为两类:存储设备和输入/输出设备。 存储设备用于存储信息,包括硬盘、软盘、磁带、光盘等。程序可将数据写入到这些设 备上,也可从这些设备读出数据,数据通常组织为文件形式。这类设备上存储的数据在物理 上往往是按字符块组织的,因而又将它们称为块设备。 输入/输出设备又可分为输入设备和输出设备。 输入设备是计算机用于接受外界信息的 设备,诸如键盘、鼠标、扫描仪等均为输入设备;输出设备是将计算机处理完毕的数据送往 外界的设备,诸如显示器、打印机、绘图仪等均为输出设备。由于这两类设备上的数据往往 是以字符为单位组织的,所以又称它们为字符设备。 计算机程序要与外界进行交互就必须使用相应的机制与输入/输出设备打交道。 程序的 输入是指从输入设备接收数据,程序的输出是指将数据传递给外部设备。 早期的高级程序设计语言对特定的外部设备提供特定的输入/输出操作, 这导致设计出 来的程序代码可移植性很差。后来引入了文件(file)的概念,在程序中不仅可以声明文件 并将文件作为输入/输出的对象, 而且还可以在文件与某个外部设备之间建立关联, 将文件 作为输入设备与输出设备的抽象描述。 目前文件已成为高级程序设计语言输入/输出机制的 基本概念。 一个文件必须有一个由用户命名的唯一名字。 文件可用于存储程序和数据, 还可用于提 高程序的设备无关性, 所谓设备无关性不仅指程序要独立于同类设备的具体台号, 而且还要 独立于设备的类型。 当我们的程序向屏幕或打印机输出时, 不必考虑使用的是哪一种型号的 显示器或打印机。 在操作系统中, 输入/输出设备被视作一种特殊的文件, 这类文件的名字是由操作系统 预先规定好的。例如在 MS-DOS 中显示器被命名为 CON 的文件(控制台终端 console 的缩 写) 、打印机被命名为 PRN 的文件(printer 的缩写) 。这样,程序的输入/输出操作采用了 与文件统一的方式,而不用理会实际的物理设备是什么。
10.1.2 文件的基本概念
Java 语言将文件看作是字节的序列, 即由一个个字节的数据顺序组成。 例如我们要将一 个班全体学生的基本资料存放在一个文件中, 文件中的数据并不是由学生记录组成的, 而是 由一个个字节组成的。 如何将文件中的这些字节组织为记录是由程序完成的, 文件本身并没 有划定任何边界。因而这种文件又称为流式文件(stream file) 。 (1)文本文件与二进制文件 根据文件中数据的组织形式, 可将文件分为文本文件和二进制文件两类。 文本文件存放 的是 ASCII 码(或其他编码的)字符,使用 Windows 操作系统的记事本打开可正确查看其
-1-

发学生第7次JAVA测试题第10章输入输出流内容20101211

第10章异常测试题2010-12-11 一、选择题 1.假设文件中的信息为abcd,下面代码执行的结果是什么: public static void main(String[]args)throws IOException{ FileInputStream fis=new FileInputStream("a.txt"); int data=fis.read(); System.out.println(data); fis.close();//a的ASCII码为97,A的为65 } A.97 B.a C.-1 D.编译出错 E.运行出错 2.假设文件中的信息为abcd,下面代码执行的结果是什么: public static void main(String[]args)throws Exception{ FileInputStream fis=new FileInputStream("a.txt"); int data=fis.readInt(); System.out.println(data); fis.close(); } A.97 B.a C.-1 D.编译出错 E.运行出错 3.下面程序执行的结果是什么: public static void main(String[]args)throws IOException{ //TODO Auto-generated method stub FileOutputStream fos=new FileOutputStream("a.txt"); fos.write Int(97); fos.close(); } A.文件中写入97 B.文件中写入a C.文件中写入-1 D.编译出错 E.运行出错 4.下面程序执行的结果是什么: public static void main(String[]args)throws IOException{ FileOutputStream fos=new FileOutputStream("a.txt"); fos.write(97); } A.文件中写入97 B.文件中写入a C.文件中写入-1 D.编译出错 E.运行出错 5.下面程序执行的结果是什么: public static void main(String[]args)throws IOException{ BufferedOutputStream fos=new BufferedOutputStream("a.txt"); fos.write(97);

第10章 能量输入和能量输出

第十章能量输入和能量输出Energy in and energy out 10.1 可再生能源Renewable energy 学习目标:Learning Objectives: 什么是可再生能源和不可再生能源? 哪些能源是可再生的? 太阳在为我们提供能源中,所起到的作用是什么? 参考大纲:3.2.2A 全球都在鼓励利用可再生能源来满足日趋增长的能源需求。而不发达国家从经济角度考虑,发展使用可再生能源的速度较慢,因为他们通常拥有大量未开采的煤、石油和天然气。而使用这些能源来满足一个快速发展的经济体相对大量的能源需求,其成本更低,而且技术需求也更低。 大多数能源——可再生能源和不可再生能源,都可以追溯到太阳,那么,为什么使用一种能源优于使用另一种能源呢?因为依赖含碳的不可再生能源会产生一些严重的问题: ?不可再生能源最终将会耗竭。 ?直接使用不可再生能源会增加输入到地球及其大气的能量。 ?使用不可再生能源产生的副产品会进一步加速全球变暖。 不可再生能源Non-renewable resources 不可再生能源包括石油、天然气和煤,由腐烂的生物体形成。石油和天然气来自百万年前堆积在海底的浮游生物和细菌的分解,而煤来自陆地上植物(如树木)的分解。生物体和植物生长所需的能量来自于阳光:植物通过光合作用吸收阳光,而植物反过来为生物体提供食物。由于煤和石油需要经过数百万年的分解才能形成,因此,一旦被消耗,就很难再生。 使用不可再生能源时,存储在地球物质中的太阳能会被释放。这些存储的能量会增加从太阳自然获得的能量。燃料燃烧时产生的气体(如二氧化碳)释放到大气中,会导致所谓的温室效应(在第11章中讲述)。 链接Link 本章的后面部分将对不同形式的能源及其使用形式作进一步阐释。 核能和地热能Nuclear and geothermal energy 核能来自于铀,而铀是一种不可再生资源。快速“增殖”反应堆会产生钚,而钚自身可用作燃料,从而增加了从核反应中可获得的能量。然而,即使是核资源,最终也可能会耗竭,因此核能是不可再生能源。 地球内部每往地心前进36米,温度会升高1K左右。因此,即使是几公里深度,温度也可能会超过250℃。地热能可用于直接为家庭和企业供热,也可用于驱动电力生产中的涡轮机和发电机(如图1所示)。地热能资源非常丰富,因此可以将其归类为可再生能源。

Java语言程序设计教程(第二版)翁 凯 肖少拥 王行言-第11章--Java的输入输出

第11章Java的输入输出 思考题与习题 一、概念思考题 1.简述流的概念与特点。 解答: Java的流是一个比文件所包含范围更广的概念。流是一个可被顺序访问的数据序列,是对计算机输入数据和输出数据的抽象,可以想象成数据像水一样流动,受到控制。 Java流的特点:数据可以是未加工的原始二进制数据,也可以经一定编码处理符合某种格式规定的特定数据,java中的数据流有字节流和字符流之分。 2.说明过滤流的概念及作用。 解答: 过滤流(包装流):使用节点流作为输入或输出。过滤流是使用一个已经存在的输入流或者输出流链接创建的。 过滤流的主要作用:在输入输出数据的同时能对所传输的数据做指定类型或格式的转换,即可实现对二进制字节数据的理解和编码转换。 3.说明stream家族与reader/writer家族之间的区别。 解答: stream家族操作的是字节数据,reader/writer家族操作的是字符数据。 4.描述java.io包中输入/输出流的类家族关系。 解答: 以字节为导向的stream 基类是InputStream和OutputSteam stream代表的是任何有能力产出数据的数据源,或是任何有能力接收数据的接收源。在Java的IO中,所有的stream(包括Input和Outputstream)都包括两种类型: a)InputStream: 1)ByteArrayImputStream:把内存中的一个缓冲区作为InputStream使用2)StringButffetInputStream:把一个String对象作为InputStream 3)FilenputStream:把一个文件作为InputStream,实现对文件的读取操作4)PipedmputStream:实现了pipe的概念,主要在线程中使用 b)OutStream 1)ByteArrayOutputStream:把信息存入内存中的一个缓冲区中 2)FileCutputStream:把信息存入文件中 3)PipedOutputStream:实现了pipe的概念,主要在线程中使用 以Unicode字符为导向的stream包括下面几种类型: a)InputStream 1)CharArtayReader:与ByteArrayInputStream对应

第9章输入输出流上机

(一)使用文件输入输出流的应用程序 1.程序功能:将保存在本地机当前文件夹中的KY10_ 2.HTML 文本文件的内容在屏幕上显 示出来,然后将其另存为KY10_2.txt 文件。 2.编写KY10_2.java 程序文件,源代码如下 import java.io.*; public class KY5_4 { public static void main(String[] args) throws IOException { FileReader in=new FileReader("KY5_1.HTML");//建立文件输入流 BufferedReader bin=new BufferedReader(in);//建立缓冲输入流 FileWriter out=new FileWriter(" KY5_1.txt",true);//建立文件输出流 String str; while ((str=bin.readLine())!=null) { //将缓冲区内容通过循环方式逐行赋值给字符串str System.out.println(str);//在屏幕上显示字符串str out.write(str+"\n");//将字符串str 通过输出流写入KY5_1.txt 中 } in.close(); out.close(); } } 3.编译、运行程序 (二)使用随机文件类的应用程序 使用文件输入类FileReader 只能将文件内容全部读入。如果要选择读入文件的内容,可使用随机文件类RandomAccessFile。 1.程序功能:建立数据流,通过指针有选择的读入文件内容。 编写KY10_3.java 程序文件,源代码如下。 import java.io.*; class KY10_3 { public static void main(String args[]) { String str[]={"First line\n","Second line\n","Last line\n"}; try { RandomAccessFile rf=new RandomAccessFile("KY5_5.txt", "rw"); System.out.println("\n 文件指针位置为:"+rf.getFilePointer()); System.out.println("文件的长度为:"+rf.length()); rf.seek(rf.length()); System.out.println("文件指针现在的位置为:"+rf.getFilePointer()); for (int i=0; i<3; i++) rf.writeChars(str[i]); // 字符串转为字节串添加到文件末尾87 rf.seek(0);

第10章 输入输出流

第10章输入/输出流 10.1 选择题 1.下列类中( ac)不是输入输出流类iostream的派生类。 (a)fstream (b)ofstream (c)strstream (d)ostrstream 2.在下列选项中( d )是ostream类的对象。 (a)cin (b)cerr (c)clog (d)cout 3.read函数的功能是从输入流中读取( c )。 (a)一个字符 (b)当前字符 (c)一行字符 (d)指定若 干个字符 4.下列选项中,用于清除基数格式位设置以十六进制输出的语句是( b )。 (a) cout<>setf( ios::hex,ios::basefield); 5.下列格式控制符,在iostream.h中定义的是( a,d ),在iomanip.h 中定义的是( )。 (a)endl (b)setfill (c)setw (d)oct 6.下列串流类,在strstream.h中定义的是( b,d ),在sstream.h 中定义的是( )。 (a)istringstream (b)istrstream (c)ostringstream (d)ostrstream 7.包含类fstream定义的头文件是( a )。 (a)fstream.h (b)ofstream.h (c)ifstream.h (d)iostream.h 8.以写的方式打开文件” D:\file.dat”,错误的语句是(c )。 (a) ifstream infile( “D:\file.dat”, ios::in ); (b) ifstream infile( “D:\\file.dat”, ios::in); (c) ofstream infile( “D:\file.dat”, ios::out); (d) fstream infile( “D:\\file.dat”, ios::in|ios::out ); 9.假定已定义浮点型变量data,以二进制方式把data的值写入输出文 件流对象outfile中去,正确的语句是( c )。 (a) outfile.write(( float* ) &data , sizeof( float )); (b) outfile.write(( float* ) &data , data ); (c) outfile.write(( char* ) &data , sizeof( float )); (d) outfile.write(( char* ) &data , data ); 10.2 阅读下列程序,写出执行结果 1.#include < iostream.h >

第12章习题与解答

第12章系统分析 12.1本章知识框架与学习要求 系统分析是管理信息系统开发的第二个阶段,主要解决系统“能做什么”的问题。通过详细调查研究和需求分析,深入描述及研究现行系统的工作流程及用户的各种需求,构思和设计用户比较满意的新系统的逻辑模型。系统分析阶段工作的深入与否直接影响新系统的设计质量和经济性,在整个系统开发过程中起着极其重要的作用。通过本章的学习可以在理解系统分析目的的基础上,以结构化系统分析方法为指导,运用各种用户需求分析技术,最终完成新系统逻辑方案的设计。 本章主要介绍了系统分析的目标和主要活动、用户需求分析、新系统逻辑方案的建立。 12.1.1 知识框架与学习要求 一、系统分析概述 (一)系统分析的目标和主要活动(掌握) 1.系统分析的目标 2.系统分析的主要活动 (二)系统初步调查(理解) 1.系统初步调查的目标 2.系统初步调查的内容 3.调查结论及工作成果 4.可行性研究安排 (三)系统可行性研究(理解) 1.目标与工作内容 2.步骤 3.工作结果 (四)系统详细调查(理解) 1.详细调查的目的 2.调查内容 3.方法与特点 4.详细调查与初步调查的区别 5.工作结果 二、用户需求分析(掌握) (一)用户需求分析概述 1.需求分析的目标和主要活动 2.需求分析工作的特点 (1)用画图的方法,直观且容易理解 (2)“自顶向下”的工作原则

(3)强调逻辑结构而不是物理实现 (二)组织结构与功能分析 1.组织结构分析 2.组织与业务功能关系分析 3.管理功能分析 (三)业务流程分析 1.业务流程分析的目的、任务和步骤 2.业务流程图 (四)数据流程分析 1.数据流程分析方法 2.数据流程图 3.数据字典 三、新系统逻辑方案的建立(理解) (一)新系统逻辑方案的主要内容 (二)新系统信息处理方案 (三)确定新系统的管理模型 1.综合计划模型 2.生产计划管理模型 3.库存管理模型 4.成本管理模型 5.统计分析与预测模型 (四)系统分析报告 12.1.2 本章重点 本章重点掌握以下几方面的内容: 1.系统分析的目标和主要活动 2.用户需求分析的目标及活动 3.组织结构与功能分析 4.业务流程分析 5.数据流程分析及DFD的绘制 12.2 教材习题与解答 12.2.1 习题 一、名词解释 1.TFD 2.DFD 3.DFDA 4.用户需求 5.数据字典 6.逻辑方案 7.管理模型 8.外部实体 9.分解10.抽象 二、简答题 1.什么是系统分析?其目标是什么?它包含哪些主要活动? 2.可行性研究的目标和内容是什么? 3.系统初步调查和系统详细调查有什么区别? 4.需求分析工作主要运用了什么方法?其特点有哪些?

第12章输入输出流、文件及数据库操作

第十二章输入输出流、文件及数据库 任何一个程序都有一个目的,即输入(提供)什么数据(信息)可输出(获得)所期望的结果。到目前为止,我们在程序中所讨论的输入和输出操作都是在标准设备文件上进行的。本章将简要介绍对数据流、数据文件和数据库文件的输入和输出操作。 12.1 输入输出流 输入输出是程序设计的重要组成部分,任何程序设计语言都提供对输入输出的支持。Java也不例外,它采用数据流的形式传送数据。 12.1.1 流的概念 所谓流(Stream),简单地说,即是计算机中数据的流动。 程序运行需要取得数据,这些数据可以通过用户从键盘输入获得,也可以从磁盘文件调入,还可以接收来自网络上的数据信息,程序在获得数据之后对其进行处理,并将处理结果输出到屏幕、磁盘文件或打印机上,也可输送到网络上(如远程打印机、网络用户等)。 对程序而言,数据信息从某个地方流向程序中,这就是输入流;数据信息从程序中发送到某个目的地,这就是输出流。 无论是输入流还是输出流,Java提供了如下两种方式进行处理: 1)字节(byte)方式 以字节方式处理的是二进制数据流(简称为字节流)。 用二进制的格式可以表示许多类型的数据,比如数字数据、可执行程序代码、因特网通信和类文件代码等等。 2)字符(character)方式 以字符方式处理的数据流称为字符流。它不同于字节流,因为Java使用Unicode字符集,存放一个字符需要两个字节。因此这是一种特殊类型的字节流,它只处理文本化的数据。所有涉及文本数据处理,诸如文本文件、网页以及其它常见的文本类型都应该使用字符流。 下边我们将分别介绍字节流和字符流的功能及应用。 12.1.2 字节流 在输入和输出流中用到了许多类,它们形成了一种非常合理的结构,只要我们了解了它们之间的相互关系,就可以正确地使用了。 1

相关主题
文本预览
相关文档 最新文档