PRELOADER

当前文章 : 《Java和C++输入输出总结》

10/8/2019 —— 

Java和C++输入输出总结

输入函数

1
2
3
4
5
6
7
8
9
10
11
12
import java.util.Scanner;
public static void main(String [] args) {
Scanner sc = new Scanner(System.in);
String name = sc.nextLine();//接收一行字符串(包含空格),下面的输入都不接受空格
String adress = sc.next();//接收字符串(遇空格终止)
int age = sc.nextInt(); //接收int
float salary = sc.nextFloat(); //接收float
Long long1=scanner.nextLong();
Double double1=scanner.nextDouble();
Byte byte1=scanner.nextByte();
Boolean boolean1=scanner.nextBoolean();
}

输出函数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import java.util.Scanner;

public class InputAndOutputTest {

public static void main(String[] args) {
System.out.println();//输出并换行,可以没参数
System.out.print(arg);//只输出不换行,必须有参数
//printf详细介绍
System.out.printf(format, args);
System.out.printf("%f", d);// "f"表示格式化输出浮点数。
System.out.printf("%9.2f", d);/ *"9.2"中的9表示输出的长度,2表示小数点后的位数。
注意,保留小数位会进位* /
System.out.printf("%+9.2f", d);// "+"表示输出的数带正负号。
System.out.printf("%-9.4f", d);// "-"表示输出的数左对齐(默认为右对齐)。
System.out.printf("%+-9.3f", d);// "+-"表示输出的数带正负号且左对齐。
System.out.printf("%d", i);// "d"表示输出十进制整数。
System.out.printf("%o", i);// "o"表示输出八进制整数。
System.out.printf("%x", i);// "d"表示输出十六进制整数。
System.out.printf("%#x", i);// "d"表示输出带有十六进制标志的整数。
System.out.printf("%s", s);// "d"表示输出字符
}

}

C/C++输入输出

C/C++输入

scanf()函数

1)格式

scanf(“%格式%格式%格式”,&变量1,&变量2,&变量3);

格式 字符意义
d 输入十进制整数
o 输入八进制整数
x 输入十六进制整数
u 输入无符号十进制整数
f或e 输入实型数(用小数形式或指数形式)
c 输入单个字符
s 输入字符串

2) “*”符

1
scanf("%d %*d %d",&a,&b);

当输入为:1 2 3时,把1赋予a,2被跳过,3赋予b。
3) 宽度

用十进制整数指定输入的宽度(即字符数)。

例如:

1
scanf("%5d",&a);

输入12345678只把12345赋予变量a,其余部分被截去。

又如:

1
scanf("%4d%4d",&a,&b);

输入12345678将把1234赋予a,而把5678赋予b。

getchar()函数

1)格式

1
2
char c;
c = getchar();

接收一个字符。

gets(char a[])函数

接收字符串,可以包含空格。

cin>>

当我们从键盘输入时,有一个缓冲区,当输入结束时会将所输入的数据存到缓冲区。而cin>>的作用就是从缓冲区读数据,所以当缓冲区数据本来就有残留时,会出现读取出错的问题。值得一提的是:cin函数遇到空格、TAB、换行时读取结束。

cin.get()函数

原型:该函数有三种形式,分别是char ch = cin.get(), cin.get(char ch), cin.get(array,length)

cin.get() 和 cin.get(char ch)这两个函数功能基本一样,都是读取缓冲区的一个字符,遇到换行符结束,但是这两个函数都不会丢弃缓冲区里边的空格和换行符。

getline
1
2
3
4
5
6
7
8
9
string str;
getline(cin,str);//读入string,读入一行

char str2[1024];
cin.getline(str2,1024);//读入char数组,读取1023个字符

char str2[1024];
char a;
cin.getline(str2,1024,a);//读入char数组,读取1023个字符,遇到字符a提前终止

C/C++输出函数

printf()
cout<<