C++中的输入输出

C++中的输入输出


cin与cout

C++中的标准输入输出流对象,在头文件iostream内。

关于缓冲区

缓冲区就是暂时存储数据的地方,可大大提升电脑运行效率。暂时把内容放在一个特定存储区域,而不是存入硬盘,就减少了硬盘的读写。
就像打印一张文件之前,先存入电脑,以便修改。
cin输入时会将会把换行符 \n 也算作一个字节放入缓冲区。

  • cin 以tab,空格,换行作为分隔符读入。

  • string类型字符串最好用 cin 输入,cout 输出.~~ 其他的我也打不来 ~~

cout没什么好说的,拓展一下就是使用 endl 时会刷新一下缓冲区。

scanf

十进制

	int a;
	scanf("%d",&a);  
  • %表示占位符。

八与十六进制

	int a;
	scanf("%o",&a); //八进制 
	scanf("%x",&a); //十六进制 

浮点数

	int a;
	scanf("%lf",&c);

字符\

	char a;
	string aa;
	scanf("%c",&a);//字符 
	scanf("%s",aa); //字符串,注意不加 &(非string)
	scanf("%s",aa+1);//小技巧,从c[1]开始读入

long long

	int a;
	scanf("%lld",%a);

限制数字个数输入

	int a;
	scanf("%nd",&a)//n表示限制数字个数
	//例如输入123456,n=2,就会输入12,34,56
  • 关键时刻十分好用

printf

关于单精浮点数(float)与双精浮点数(double)

内存

float占4字节
double占8字节

有效数字

float有效数字位为6 – 7位,第7位不一定有效
double有效数字位为15 – 16位,第16位不一定有效

范围

float 的表示范围:-3.40E+38 ~ +3.40E+38
double 浮点的表示范围:-1.79E+308 ~ +1.79E+308

  • 总结下来感觉还是double好用

long long

	long long a=1000;
	printf("%lld",a);

小数输出

	double a=1.101;
	printf("a=%.2lf",a);//输出double类型

在这里插入图片描述

   printf("a=%.2f",a);//输出float类型,可与double混用

字符与字符串

	char c;
	printf("c=%c",c);//字符 char
	char c[10];
	printf("c=%s",c);//字符串 char
	//字符串如果是从c[1]开始输入,输出时c[0]的空格自动忽略

一些也许有用的输出

	int a=1000,b=-1000;
	printf("%+d %+d",a,b);//输出正负号
	
	int a=1000;
	printf("%6d\n",a);          //默认右对齐,左边补空格
	printf("%-6d\n",a);        //左对齐,右边补空格
	
	double a=1000.0;
	printf("%.0f %#.0f\n",a,a);当小数点后不输出值时依然输出小数点
	
	int a=1000;
	printf("%05d\n",a);//前面补0

快读

虽然说可以从网上直接找,但是比赛时还是要自己打。
还是得学一下。

	inline int read(){ 
		int x=0,f=1;//f表示正负
		char c=getchar();
		while(c<'0'||c>'9'){
			if(c=='-')
				f=-1;
			c=getchar();
		}
		while(c>='0'&&c<='9')
			x=x*10+c-'0',c=getchar();
		return x*f;
	}//好像没什么好说的

快写

	inline void write(int x){
		if(x < 0)
			putchar('-'); x = -x;
		if(x > 9)
			write(x/10);//上一位
		putchar(x % 10 + '0');
	}

总结

至于其他感觉没什么好写了,用以上的大部分都可以解决。

2022-05-01 18:52:17 完结

posted @ 2022-05-08 13:45  huaziqi  阅读(134)  评论(0)    收藏  举报