目录
一、输入输出
C++ 中的输入和输出(I/O)主要是通过标准库中的输入输出流来实现的。最常用的是 iostream 库,它提供了用于输入和输出的基本流类,包括 cin 、 cout 、 cerr 和 clog 。
1、标准输出流(cout)
- cout 代表标准输出流,通常用于向屏幕输出数据。
- 使用操作符 << (插入操作符)向 cout 发送数据。
- 例如, std::cout << "Hello, world!" << std::endl; 会在屏幕上打印 "Hello, world!" 并换行。
2、标准输入流(cin)
- cin 代表标准输入流,用于从键盘接收数据。
- 使用操作符 >> (提取操作符)从 cin 提取数据。
- 例如, int x; std::cin >> x; 会从用户那里读取一个整数并存储在变量 x 中。
3、标准错误流(cerr)和标准日志流(clog)
- cerr 用于输出错误消息。与 cout 不同, cerr 不是缓冲的,这意味着它会立即输出。
- clog 类似于 cerr ,但它是缓冲的。它通常用于记录错误和日志信息。
4、示例代码
这里演示附录中的修改中文编码后输入中文的现象以及计算器的加法:
#include <iostream>
//using namespace std;
int main()
{
int a = 0;
int b = 0;
//cout << "你好,世界" << endl;
std::cout << "你好" << "," << "世界" << std::endl;
std::cin >> a;
std::cin >> b;
std::cout << a << "+" << b << "=" << a+b << std::endl;
std::cerr << "程序错误退出" << std::endl;
return 0;
}
二、基本数据类型
C++ 基本数据类型整理成表格。以下是一个表格,展示了不同的基本数据类型及其一般用途和大小范围:和C语言类似。
1、宽字符的用法
#include <iostream>
#include <locale>
#include <wchar.h>
int main()
{
// 设置本地化以支持宽字符
std::setlocale(LC_ALL, "");
// 使用 wchar_t 类型定义一个宽字符串
wchar_t wstr[] = L"你好,世界!";
// 在 C++ 中打印宽字符串
std::wcout << wstr << std::endl;
return 0;
}
2、如何使用 <climits>
在 C++ 中, <climits> (或在 C 中是 <limits.h> )是一个标准头文件,提供了关于整型限制的信息。这个头文件中定义了各种整型数据类型的属性,如最大值、最小值等。使用这些信息可以帮助你了解在特定编译器和平台上各种数据类型的大小和范围。
要使用 <climits> 中定义的常量,你首先需要包含这个头文件:
#include <climits>
然后,你可以使用它提供的各种常量,例如:
函数 | 描述 |
INT_MAX
|
int 类型的最大值。
|
INT_MIN
|
int 类型的最小值。
|
UINT_MAX
|
unsigned int 类型的最大值。
|
LONG_MAX
|
long int 类型的最大值。
|
LONG_MIN
|
long int 类型的最小值。
|
LLONG_MAX
|
long long int 类型的最大值。
|
LLONG_MIN
|
long long int 类型的最小值。
|
3、示例代码
#include <iostream>
#include <climits>
int main()
{
//int型的最小值到最大值
std::cout << "The range of int is from " << INT_MIN << " to " << INT_MAX <<
std::endl;
//unsigned int型的最大值
std::cout << "The maximum value of unsigned int is " << UINT_MAX <<
std::endl;
//long long型的最小值到最大值
std::cout << "The range of long long is from " << LLONG_MIN << " to " <<
LLONG_MAX << std::endl;
return 0;
}
附录
我们希望在项目中输入输出时做一些中文提示,则需要修改字符编码,操作如下:
点击工具中的选项
找到文件编辑器,点击Behavior,将默认编码修改成GBK开头
这时在输入输出时,输入中文就不会显示乱码