C# 数据输入与输出

控制台(console)是电脑的最基本交互接口,通常包括键盘(keyboard)和屏幕(screen)。
键盘通常为标准输入设备,而屏幕为标准输出设备。在程序中实现数据的输入输出是每个程
序员必须掌握的编程技术。

前言

C# 通过 Console 类实现从控制台读取字符和向控制台写入字符。Console 类包含在 system 命名空间中。
数据的输入输出方式有两种方式,一种是控制台输入输出,一种是文件输入输出。C#的输入/输出系统非常庞大,有控制台输入/输出和文件输出两部分,这里主要介绍控制台输入/输出。

一、控制台输入输出方式

向控制台输出:
Console.WriteLine() 方法 —— 输出后 换行
Console.Write() 方法 —— 输出后 不换行
从控制台读入:
Console.ReadLine();
返回值为 string 类型

二、控制台输出方式

1、Console.WriteLine()方法
WriteLine()方法的作用是将信息输出到控制台,一般有三种格式:
public static void Writeline();//换行,只输出一个空行
public static void Writeline(arg0);//输出一个值
public static void WriteLine(format, arg0, arg1,…); //使用指定的格式信息输出一个值。

其中:
Format 是 格式字符串 。
arg0 要使用 format 写入的第一个对象。
arg1 要使用 format 写入的第二个对象。
格式字符串的格式:
{N[,M][:格式化字符串]}
其中的参数含义如下:
1. 花括号(“{}”)用来在输出字符串中插入变量。

2. N表示输出变量的序号。

从 0 开始,如当 N 为 0 时,则对应输出第 1 个变量的值,
当 N 为 4 时,则对应输出第 5 个变量,依次类推。
3. [,M][:格式化字符串]是可选项。
其中 M 表示输出的变量所占的字符个数,当这个变量的值为负数时,输出的变量按照左对齐方式排列;如果这个变量的值为正数的时候,输出的变量按照右对齐方式排列。
4. [:格式化字符串]也是可选项,指定输出字符串的格式。
因为在向控制台输出时,常常需要指定输出字符串的格式。通过使用数字格式化字符串,可以使用 Xn 的形式来指定输出字符串的格式,其中 X 指定数字的格式,n 指定数字的精度,即有效数字的位数。这里提供 8 个常用的格式字符。
字符串
说 明
C
本地货币格式
D
十进制格式,把整数转换为以10为基数的数,如果给定一个精度说明符,就加上前导0
E
科学计数法(指数)格式。精度说明符设置小数位数(默认为6)。 格式字符串的大小写(" e " 或 "E")确定指数符号的大小写
F
固定点格式,精度说明符设置小数位数,可以为0
G
普通格式,使用E 或 F格式取决于哪种格式较简单
N
数字格式,用逗号表示千分符,例如32,767.44
P
百分数格式,将数字乘以 100 并将其转换为表示百分比的字符串
X
16进制格式,精度说明符用于加上前导0
(1)货币格式
货币格式 C 或者 c 的作用是将数据转换成货币格式,在格式字符 C 或者 c 后面的数字表示转换后的货币格式数据的小数位数。例如:
double k=1234.789;
Console.WriteLine("{0,8:c}", k);
//结果是¥1234
Console.WriteLine("{0,10:c4}",k);
//结果是¥1234.7890
将指定的数据(后跟当前行终止符)写入标准输出流
(2) 整数数据类型格式
格式字符 D 或者 d 的作用是将数据转换成整数类型格式,在格式字符 D 或者 d 后面的数字表示转换后的整数类型数据的位数。这个数字通常是正数,如果这个数字大于整数数据的位数,则格式数据将在首位前以 0 补齐,如果这个数字小于整数数据的位数,则显示所有的整数位数。例如:
int
k=1234;
Console.WriteLine("{0:D}", k);
//结果是 1234
Console.WriteLine("{0:d3}", k); //结果是 1234
Console.WriteLine("{0:d5}", k); //结果是 01234
(3) 科学计数法格式
格式字符 E 或者 e 的作用是将数据转换成科学计数法格式,在格式字符 E 或者 e 后面的数字表示转换后的科学计数法格式数据的小数位数,如果省略了这个数字,则显示 7 位有效数字。例如:
int
k=123000;
double f=1234.5578;
Console.WriteLine("{0:E}", k);
//结果是 1.230000E+005
Console.WriteLine("{0:e}", k);
//结果是 1.230000e+005
Console.WriteLine("{0:E}", f);
//结果是 1.234558E+003
Console.WriteLine("{0:e}", f);
//结果是 1.234558e+003
Console.WriteLine("{0:e4}", k);
//结果是 1.2300e+005
Console.WriteLine("{0:e4}", f);
//结果是 1.2346e+005
(4)浮点数据类型格式
格式字符 F 或者 f 的作用是将数据转换成浮点数据类型格式,在格式字符 F 或者 f 后面的数字表示转换后的浮点数据的小数位数,其默认值是 2,如果所指定的小数位数大于数据的小数位数,则在数据的末尾以 0 补充。例如:
int a=123000;
double b=1234.5578;
Console.WriteLine("{0,-8:f}",a);//结果是 123000.00
Console.WriteLine("{0:f}",b);//结果是 1234.56
Console.WriteLine("{0,-8:f4}",a);//结果是 123000.0000
Console.WriteLine("{0:f3}",b);//结果是 1234.558
Console.WriteLine("{0:f6}",b);//结果是 1234.557800
(5)通用格式
格式字符 G 或者 g 的作用是将数据转换成通用格式,依据系统要求转换后的格式字符串 最短的原则,通用格式可以使用科学计数法来表示,也可以使用浮点数据类型的格式来表示。 例如:
double k=1234.789;
int j=123456;
Console.WriteLine("{0:g}", j);
//结果是 123456
Console.WriteLine("{0:g}", k);
//结果是 1234.789
Console.WriteLine("{0:g4}", k);
//结果是 1235
Console.WriteLine("{0:g4}", j);
//结果是 1.235e+05
(6)数字格式
格式字符 N 或者 n 的作用是 将数字转换为"-d,ddd,ddd.ddd…"形式的字符串, 其中"-"表示负数符号(如果需要),"d"表示数字 (0-9),","表示组分隔符,"." 表示小数点符号,其特点是数据的整数部分以每三位用”,”进行分隔,在格式字符 N 或 者 n 后面的数字表示转换后的格式数据的小数位数,其默认值是 2 例如:
double k=211122.12345;
int j=1234567;
Console.WriteLine("{0:N}",k);
//结果是 211,122.12
Console.WriteLine("{0:n}", j);
//结果是 1,234,567.00
Console.WriteLine("{0:n4}", k); //结果是 211,122.1235
Console.WriteLine("{0:n4}", j); //结果是 1,234,567.0000
(7)十六进制数据格式
格式字符 X 或者 x 的作用是将数据转换成十六进制数据格式,在格式字符 X 或者 x 后面的数字表示转换后的十六进制数据的数据位数。例如:
int j=123456;
Console.WriteLine("{0:x}",j);
//结果是 1e240
Console.WriteLine("{0:x6}",j);
//结果是 01e240
(8)百分数格式
将数字乘以 100 并将其转换为表示百分比的字符串,精度说明符指示所需的小数位数。
double number = .2468013;
Console.WriteLine(number.ToString("P1" ); // 结果为 24.7 %
Console.WriteLine(number.ToString("P2"));
// 结果为 24.68 %
Console.WriteLine("{0:P3}", number);
//结果是 24.680%
2、Console.Write()方法
Write()方法和 WriteLine()方法类似,都是将信息输出到控制台,但是输出到屏幕后并不会产生一个新行。
在 Write()方法中,也可以采用“{N[,M][:格式化字符串]}”的形式来格式化输出字符串,其中的参数含义如同 WriteLine()方法中所述。

三、控制台输入方式

1、Console.ReadLine()方法
读取一行并返回 字符串 string 类型
string name =Console.ReadLine( );
读取整数
int .Parse (Console.ReadLine());//表示将字符串转换为整数
注意:
ReadLine()方法用来从控制台读取一行数据,一次读取一行字符的输入,并且直到用户按下 Enter 键它才会返回。
但是,ReadLine()方法并不接收回车键。如果 ReadLine()方法没有接收到任何输入,或者接收了无效的输入,那么 ReadLine()方法将返回 null。
2、Console.Read()方法
Read()方法的作用是从控制台的输入流读取下一个 字符 。其格式为:
Console.Read( );
注意:
Read()方法一次只能从输入流读取一个字符,并且直到用户按回车键才会返回。当这个方法返回时,如果输入流中包含有效的输入,则它返回一个表示输入字符的整数;如果输入流中没有数据,则返回-1。

  • 12
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值