前言
在Python
基础学习的时候有介绍过一个:程序编写方法--IPO
,这里就不去在过多的介绍了,本章主要详细讲解C++
中的I(Input)
和O(Output)
这两个部分。
正文
I(Input)
???程序数据来源。
我们一般将数据来源分为六种:控制台输入
、随机数据输入
、内部变量(参数)输入
、文件输入
、交互界面输入
、网络输入
;在学习基础的环节我们主要还是使用控制台输入
的一个方式来提供数据。
控制台输入
的方式就是将程序使用者输入的信息作为输入来源。当程序与用户间存在交互时,程序需要有明确的用户提示,辅助用户正确输入数据。从程序语法来说,这种提示不是必需的,但良好的提示设计有助于提高用户体验。
在C++
中包含了两种输入方式,一种是C++
标准库中的标准输入对象--cin
,另外一种是C
语言中的输入函数--scanf()
,为了使C++
兼容C
语言也就将这个函数保留下来了;但是建议同学们在使用的时候还是使用C++
标准库中的cin
,scanf()
函数作为了解即可。
cin标准输入的语法:
cin >> 变量名;
scanf()函数输入的语法:
scanf("格式控制符", &变量名);
O(Output)
???程序数据输出。
我们一般将数据数据输出分为五种:控制台输出
、操作系统内部变量输出
、图形输出
、文件输出
、网络输出
;在学习基础的环节我们主要还是使用控制台输出
的一个方式来提供数据。
控制台输出
的方式就是以计算机屏幕为输出目标,通过程序运行环境中的命令行打印输出结果。这里控制台可以理解为启动程序的环境,例如,Windows
中的命令行工具、IDLE
工具等。
在C++
中包含了两种输出方式,一种是C++
标准库中的标准输出对象--cout
,另外一种是C
语言中的输出函数--printf()
,为了使C++
兼容C
语言也就将这个函数保留下来了;但是建议同学们在使用的时候还是使用C++
标准库中的cout
,printf()
函数作为了解即可。
cout标准输出的语法:
cout << 变量名;
printf()函数输出的语法:
printf("格式控制符", 变量名);
程序演示
#include<iostream>
using namespace std;
int cin_num; // 声明一个用来储存cin输入的变量
int scanf_num; // 声明一个用来储存scanf输入的变量
int main(){
cout << "这里我们使用cin标准输入来输入数据:"; // 输入前的用户提示,和Python不同的是C++无法直接在函数里面设置用户提示
cin >> cin_num; // 使用cin在控制台输入一个int类型的数据储存到cin_num变量中
cout << "cin_num中储存的数据为:" << cin_num << endl; // 使用cout将cin_num中的数据输出到控制台
printf("这里我们使用scanf()函数输入数据:"); // 输入前的用户提示
scanf("%d", &scanf_num); // 使用scanf()函数在控制台输入一个int类型的数据储存到scanf_num变量中
printf("scanf_num中储存的数据为:%d", scanf_num); // 使用printf()函数将scanf_num中的数据输出到控制台
return 0;
}
执行结果
这里我们使用cin标准输入来输入数据:99
cin_num中储存的数据为:99
这里我们使用scanf()函数输入数据:99
scanf_num中储存的数据为:99
--------------------------------
Process exited after 4.211 seconds with return value 0
请按任意键继续. . .
当然,我们也可以多个数据同时进行输入,需要注意的是我们给每一个变量输入内容的时候中间需要使用空格
或者回车键(Enter(换行符))
来分割,如下。
#include<iostream>
using namespace std;
// 以下声明几种类型的变量
int cin_num;
long long cin_longl;
double cin_double;
char cin_char;
int scanf_num;
long long scanf_longl;
double scanf_double;
char scanf_char;
int main(){
cout << "这里我们使用cin标准输入同时输入四个数据:"; // 用户提示
cin >> cin_num >> cin_longl >> cin_double >> cin_char; // 使用cin标准输入同时输入数据
// 以下输出这几个变量中储存的数据
cout << "cin_num中储存的数据为:" << cin_num << endl;
cout << "cin_longl中储存的数据为:" << cin_longl << endl;
cout << "cin_double中储存的数据为:" << cin_double << endl;
cout << "cin_char中储存的数据为:" << cin_char << endl;
printf("这里我们使用scanf()函数同时输入四个数据:"); // 用户提示
scanf("%d%lld%lf%c", &scanf_num, &scanf_longl, &scanf_double, &scanf_char); // 使用scanf()函数同时输入数据
// 以下输出这几个变量中储存的数据
printf("scanf_num中储存的数据为:%d\n", scanf_num);
printf("scanf_longl中储存的数据为:%lld\n", scanf_longl);
printf("scanf_double中储存的数据为:%0.2lf\n", scanf_double);
printf("scanf_char中储存的数据为:%c\n", scanf_char);
return 0;
}
执行结果
这里我们使用cin标准输入同时输入四个数据:1 11 11.11a
cin_num中储存的数据为:1
cin_longl中储存的数据为:11
cin_double中储存的数据为:11.11
cin_char中储存的数据为:a
这里我们使用scanf()函数同时输入四个数据:2 22 22.22b
scanf_num中储存的数据为:2
scanf_longl中储存的数据为:22
scanf_double中储存的数据为:22.22
scanf_char中储存的数据为:b
--------------------------------
Process exited after 15.29 seconds with return value 0
请按任意键继续. . .
scanf()函数常见格式控制符
数据类型 | 格式符 |
---|---|
int | %d |
long long | %lld |
double | %lf |
char | %c |
八进制数 | %o |
十六进制数 | %x |
字符数组 | %s |
printf()函数常见格式控制符
数据类型 | 格式符 |
---|---|
int | %d |
long long | %lld |
double | %f、%lf |
char | %c |
八进制数 | %o |
十六进制数 | %x |
字符数组 | %s |