输入输出

子淼
发布于 2024-01-30 / 71 阅读
0
0

输入输出

1.cout输出

cout在iostream头文件中定义,可以控制标准输出流stdout的输出,它有以下两个功能

1.1 如果cout后面跟的是双引号括起来的内容,就按照原样输出

cout << "Hello world";
// 输出结果为:Hello world

1.2如果cout后面是数学表达式,就输出表达式的结果

cout << 1+2*3;
// 输出结果为:7

1.3 浮点数保留n位小数的输出

/*
fixed和setprecision的头文件
double默认保留6位有效数字,如果小数点前面有7位及以上数字,就会用科学计数法输出
使用cout<<fixed<<变量;可以让输出不用科学计数法
使用cout<<fixed<<setprecision(2)<<变量;可以保留小数点后2位小数
setprecision默认使用四舍五入的方法保留小数
*/
#include<iostream>
#include<iomanip>
using namespace std;
int main(){
	double pi=1234567.1415926;
    cout<<pi<<endl;//结果为:1.23457e+006
    cout<<fixed<<pi<<endl;//结果为:1234567.141593
	cout<<fixed<<setprecision(3)<<pi; //结果为:1234567.142
	return 0;
}

1.4 控制输出格式

setw(x)可以让输出数字宽度为x,默认情况下靠右

cout<<left<<setw(5)<<x; 可以变成靠左。

#include<iostream>
#include<iomanip>//setw的头文件
using namespace std;
int main(){
	for(int i=1;i<=20;i++){
		cout<<setw(5)<<i;
        //cout<<left<<setw(5)<<i;  
        if(i%5==0){
          cout<<endl;
        }
	}
	return 0;
}

2.cin输入

cin在iostream头文件中定义,可以控制标准输出流stdin的输入

int n;
cin >> n;
int a,b,c;
cin >> a >> b >> c;

3.printf输出

printf是格式化输出函数,在cstdio头文件中

格式控制字符串可由格式字符串和非格式字符串两部分组成。

格式字符串是以"%"开头的字符串,在%后面跟有各种格式字符,以说明输出数据的类型、形式、长度、小数位等。如“%d”表示十进制整型输出,“%ld”表示按十进制长整型输出,“%c”表示按字符型输出,“%s”表示按字符串输出等。

非格式字符串按原样输出,在显示中起提示作用。

printf的语法如下

printf(格式字符串,表达式列表)

printf和cout对比

输出内容

printf

cout

输出int类型a

printf("%d",a)

cout << a

输出long long类型a

printf("%ld,a)

cout << a

输出float类型a

printf("%f",a)

cout << a

输出double类型b

printf("%lf",a)

cout << a

输出字符变量a

printf("%c",a)

cout << a

输出字符串变量a[]

printf("%s",a)

cout << a

输出一句话

printf("Hello world")

cout<<"Hello world"

输出换行

printf("\n")

cout<<endl

输出一个等式

printf("%d+%d=%d",a,b)

cout<<a<<"+"<<b<<"="<<a+b

注意:printf不能输出string类型变量。

3.1printf保留n位小数

#include<cstdio>
using namespace std;
int main(){
	double pi=3.1415926;
	printf("%.3lf",pi);
	return 0;
}

3.2 printf控制数字输出宽度

#include<cstdio>
using namespace std;
int main(){
	for(int i=1;i<=20;i++){
		printf("%5d",i); // 默认靠右
        // printf("%-5d",i) 靠右
		if(i%5==0){
			printf("\n");// \n代表换行
		}
	}
	return 0;
}

4.scanf输入

scanf是格式化输入函数,在cstdio头文件中

scanf的语法如下

scanf(格式字符串,表达式列表)

scanf和cin对比

输出内容

scanf

cin

输出int类型a

scanf("%d",&a)

cin >> a

输出long long类型a

scanf("%ld,&a)

cin >> a

输出float类型a

scanf("%f",&a)

cin >> a

输出double类型b

scanf("%lf",&a)

cin >> a

输出字符变量a

scanf("%c",&a)

cin >> a

输出字符串变量a[]

scanf("%s",&a)

cin >> a

输入带空格字符串a[101]

scanf("%[^\n]",&a)

cin.getline(a,101)

输入两个不同类型a,b

scanf("%d%lf",&a,&b)

cin >> a >> b

注意:scanf不能用作string类型的输入


评论