资源预览内容
第1页 / 共52页
第2页 / 共52页
第3页 / 共52页
第4页 / 共52页
第5页 / 共52页
第6页 / 共52页
第7页 / 共52页
第8页 / 共52页
第9页 / 共52页
第10页 / 共52页
亲,该文档总共52页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
http:/www.wenyuan.com.cn/webnew/第5章 数据的输入和输出 (时间:1.5次课,3学时)http:/www.wenyuan.com.cn/webnew/第5章 数据的输入和输出 n输入/输出是程序得以实际应用的必要措施,在程序中实现数据的输入和输出也是每个程序员必 须掌握的基本编程技术。在前面各章节的举例中,我们都已经使用了C#语言的部分输入/输出系 统,其中用得最多的是.NET类库中Console类的一个方法Console. WriteLine(),这个方法是 将在程序中生成的数据或信息输出到控制台(Console)中。另外,程序不光是要向控制台输出数 据,还要从控制台读取输入的数据,或者要求输出的数据具有一定的格式。一般说来,数据的输 入/输出(I/O)方式有两种:控制台I/O和文件I/O。C#的I/O系统非常庞大,也有控制台I/O和 文件I/O两大部分,本章只介绍控制台I/O部分,而文件I/O部分将在后续章节详细介绍。nC#的控制台I/O主要是通过命名空间System中的类Console来实现的,该类给出了标准的输入 和输出的方法,这些方法可用于从控制台读写字符。 n本章介绍的内容不是任何C#语法,而是.NET框架中常用的控制台输入/输出的类和方法的使用格 式。 n本章学习重点:l掌握在控制台中输入/输出数据的方法l掌握输出格式化数据的方法l掌握处理字符串的方法http:/www.wenyuan.com.cn/webnew/第5章 数据的输入和输出n5.1 控制台输入 n5.2 控制台输出 n5.3 处理字符串的方法 http:/www.wenyuan.com.cn/webnew/5.1 控制台输入u 5.1.1 Console.Read()方法 u 5.1.2 Console.ReadLine()方法 http:/www.wenyuan.com.cn/webnew/5.1 控制台输入nSystem.Console类的Read()和 ReadLine()方法可用来实现控制台输入,本 节我们将详细介绍如何使用这两种方法获取 输入。 http:/www.wenyuan.com.cn/webnew/5.1.1 Console.Read()方法 nRead()方法每次从输入流(控制台)中读取一个字符,直到收到Enter键 才返回。将接收的字符以int型(32位整数)值返回给变量;如果输入流 中没有数据,则返回-1。nRead()方法是一个静态方法,我们可以直接通过类名Console调用它, 调用的格式为Console.Read。Read()方法的原型为:public static int Read()。n如果我们输入了多个字符,然后按Enter键(此时输入流中将包含用户输 入的字符,加上Enter键和换行符rn),则Read()方法只返回用户输 入的第一个字符。但我们可通过对程序的循环控制,多次调用Read()方 法来获取所有输入的字符。nRead()方法返回给变量的数据的类型是32位整数,如果需要得到输入 的字符,则必须通过数据类型显式转换才可以得到相应的字符。 http:/www.wenyuan.com.cn/webnew/5.1.1 Console.Read()方法 n【例5.1】Read()方法的使用。nusing System;nclass MyRead1nn public static void Main()n n int a;n char ch;n Console.Write(“请从键盘输入一个字符:“);n a=Console.Read(); /程序运行到Read方法会暂停,直到用户在控制台中按任意键n ch=(char)a; /显式类型转换n Console.WriteLine(a);n Console.WriteLine(ch);n nn程序运行结果:n请从键盘输入一个字符:a (回车)n97nahttp:/www.wenyuan.com.cn/webnew/5.1.1 Console.Read()方法 n【例5.2】通过Read()方法从控制台接收用户输入的一系列字符,然后把用户输入的内容显示出来。 nusing System; nclass MyRead2 n n public static void Main(string args) n n string buf ; n Console.Write(“请输入字符串(按Enter键接收输入,按x键退出程序):“); n buf=“; n while(true) n n int c= Console.Read(); /接收一个字符 n if(char)c= =x /按下x或X键,退出本程序 n if (c= =-1)Console.WriteLine(“不输入“); n buf+=(char)c; /将字符组成字符串 n if(c= =n)break; n n Console.Write(“用户输入的内容为:“); n Console.WriteLine(“0“, buf); n n n在本程序中,可以一次输入单个字符,也可以一次输入多个字符。当按下x或X键再按下Enter键后将会退出本程序。 http:/www.wenyuan.com.cn/webnew/5.1.2 Console.ReadLine()方法 nReadLine()方法用于从控制台中一次读取一行字符串,直到遇到Enter 键才返回读取的字符串。但此字符串中不包含Enter键和换行符(rn) 。如果没有收到任何输入,或接收了无效的输入,那么ReadLine()方 法将返回null。nReadLine()方法也是一个静态方法,可以直接通过类名Console来调用 它,调用的格式为Console.ReadLine。nReadLine()方法的原型为:public static string ReadLine()http:/www.wenyuan.com.cn/webnew/5.1.2 Console.ReadLine()方法 n【例5.3】使用ReadLine()方法。nusing System;nclass MyReadlinenn public static void Main()n n int i;n string str;n Console.Write(“请输入你的姓名:“);n str= Console.ReadLine();n Console.Write(“用户的姓名为:“);n Console.WriteLine(str);n nn程序的运行结果: n请输入你的姓名:王红 (回车)n用户的姓名为:王红http:/www.wenyuan.com.cn/webnew/5.2 控制台输出 u 5.2.1 数据的格式化 u 5.2.2 格式化说明符 http:/www.wenyuan.com.cn/webnew/5.2 控制台输出 n在前述的各章节中,我们同样也多次使用了Console类的Write()和WriteLine()方法来 输出程序的计算结果。日常生活中,有时我 们不仅仅要求程序简单地输出数据,还要求 能输出具有一定格式的数据,以丰富我们应 用程序的应用需求。http:/www.wenyuan.com.cn/webnew/5.2.1 数据的格式化 n在日常生活中,各行各业的数据表示形式有多种。例如,一个十进制数字 965840,可能有以下表示形式:l表示人民币:¥9,658.40l表示美元:9,658.40l用于科学计算:9.65840105,在C#中表示为9.65840E5n可见,对于一个程序来说,它的计算结果只是一个无任何语义的数字。所以如果 希望一个应用程序的计算结果在输出时能反映出它的应用特征,则必须在程序的 输出语句中给出所需数据格式的转换控制。C#语言具有将数字在不同的表示形 式之间相互转换的功能 数据的格式化。n数据的格式化是指通过程序(方法),将数据的表现形式转换为一定样式的过程。 C#语言是通过.NET类库方法、格式化字符串以及其他的控制信息共同完成的。 http:/www.wenyuan.com.cn/webnew/5.2.1 数据的格式化 n一般实现把数字转换为指定格式的字符串输出的基本方式有3种:lWrite()和WriteLine()方法可以直接把数值类型变量的值,转换成字符串输出到控制台中,并可使用格式说明符来控制 输出的数据格式。uWrite()方法用来向控制台输出一条信息,并且光标仍在输出信息的末尾。一般Write()方法中有以下两种常用的形式:npublic static void Write(数值数据类型 变量); /直接输出变量的值npublic static void Write(“N, M:Yn“, 变量1, 变量2);n其中: N表示输出变量的序号。N为0对应输出的第1个变量,N为1则对应输出的第2个变量,依次类推。 , M可选项。M表示输出的变量在控制台中所占据的字符个数,如果该数字为负数,则输出按照左对齐方式;如果 该数字为正数,则输出按照右对齐的方式。 :Yn可选项。其中Y是格式化字符串,它指的是数据的输出格式说明符,将在5.2.2节中给出。n为一个正整数。表 示了数据的精度范围(有效数字范围),它用于控制当前数据在格式化后表现出来的有效数字个数。 n例如:nint a=32767;ndouble d=456.56789;nConsole.Write(“a=0x0, 8:Xt d=1, 10:F3“, a, d);nConsole.Write(“a=0x0, -8:Xt d=1, -10:F3“, a, d);n输出结果:na=0x 7fff d= 456.568a=0x7fff d=456.568n本例中的格式说明符X和F在5.2.2节中给出说明。http:/www.wenyuan.com.cn/webnew/5.2.1 数据的格式化 uWriteLine()方法用来向控制台产生一行信息,并在信息的尾部自动添加“rn”操作符, 即输出信息后光标自动移到下一新行。同Write()方法类似,WriteLine方法有以下两种 常用的形式:npublic static void WriteLine(数值数据类型 变量);npublic static void WriteLine(“N, M:Y“, 变量1, 变量2);nWriteLine()方法的参数与Write()方法的参数意义一样。n例如:nint a=32767;ndouble d=456.56789;nConsole.WriteLine(“a=0x0, 8:Xtd=1, 10:F3“, a, d);nConsole.WriteLine(“a=0x0, -8:Xtd=1, -10:F3“, a, d);n输出结果:na=0x 7fff d= 456.568na=0x7fff d=456.568n可见此例输出结果与Write()方法不同的是每一个WriteLine()方法输出一行信息后自动 换行。http:/www.wen
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号