C语言的io函数:
printf 输出 和 scanf输入 是 C语言的标准IO函数的一部分:
scanf函数会将屏幕上输入的字符,根据格式的要求转化为对应的数据:
代码:
#include <iostream>
using namespace std;
int main() {
int a = 123;
printf("%05d,%5d \n",a,a );
printf("please input variable n,c,f value , end by enter key :\n" );
int n ;char c;float f;
scanf("%d %c %f",&n,&c,&f); // format 前面加空格好像,比较稳定一点。不加就输入2个字符就结束了。
printf("%d %c %.4f ",n,c,f); // 常用:格式化小数 %.4f 小数点后保留有4位。
}
C++ 的 #include<iostream> 中 cin cout 的使用:
在C++中,所有数据的输入和输出都是以”Stream“的形式,流是一个处于传输状态的字节序列,是字节在对象之间的”流动“,流的操作包括 in和out ,所以在使用 i/o 的流的时候,必须在头文件上添加 :#include<iostream>
C++的输出 : cout 输出流
C++中实现输出功能的语句,其格式为:
cout << 项目1 <<项目2 << ... <<项目n;
如果项目是表达式,则输出表达式代表的值;如果项目加引号,则输出引号的内容;如果项目是endl,则表示换行。endl 读作 end line。
C++代码如下:
#include <iostream>
using namespace std;
int main() {
cout << 2 + 4 << endl;
cout << "ABCD" << endl;
int a = 10,b =5;
cout << a+b << endl;
cout<< " *\n";
cout<< " ***\n";
cout<< " *****\n";
cout<< " *******\n";
cout<< "*********\n";
return 0;
}
console 控制台输出:看看每行输出的是什么?
6
ABCD
15
*
***
*****
*******
*********
再来看一个案例:
#include <iostream> //#includ 尖括号,编译器只在系统默认目录或尖括号内的工作目录下搜索头文件,并不去用户的工作目录下寻找,所以一般尖括号用于包含标准库文件
//引入格式函数的头文件。
#include "iomanip" //#includ 双引号,表示编译器先在用户的工作目录下搜索头文件,如果搜索不到则到系统默认目录下去寻找,所以双引号一般用于包含用户自己编写的头文件。
using namespace std;
int main() {
cout << 10.0 / 3.0 << endl;
// 设置 3位有效数字,干成 科学计数法了。
cout << setprecision(3) << 10000.0 / 3.0 << endl;
// 小数位,3位
cout << fixed << setprecision(3) << 1000000.0 / 3.0 << endl;
return 0;
}
C++的输入: cin 输入流 ,从键盘输入:
键盘 => 123 => 输入流cin => 提取符>> => 变量
语法格式:
cin >> a1>> ...>> a100
#include <iostream>
using namespace std;
int main() {
int a,b ;
//因为是输入,不存在endl
cin >> a >> b ;
int sum = a +b;
printf("%d",sum);
return 0;
}
注意:
cin 把知道的内容,塞入电脑中,所以是从开放到闭合的状态,用>>
cout 把电脑的内容,拿到外面来,所以是从闭合到开放的状态,用<<
#include <iostream>
using namespace std;
int main() {
int c ;
while((c = cin.get())!= EOF ){
cout << (char) c;
}
return 0;
}
最后注意:
- cin,cout的速度要比scanf和printf慢,输入输出大量数据时,用后者。
- 一个程序中不要同时用cin和scanf,不要同时用cout和printf。