基本数据类型与输入输出

数据类型初步

分类:

  • 整数型:intlong long
  • 浮点型:floatdouble
  • 字符型:char
  • 布尔型:bool

创建变量:

int a; // 创建一个能够存放整数的空间,空间名字叫做 a
int b,c; // 连续创建两个能够存放整数的空间,空间名字分别叫做 b 和 c
float d; // 创建一个能够存放浮点数的空间,空间名字叫做 d

规则:

变量名(标识符)只能由字母、数字、下横线组成,数字不能开头,有意义的关键字不能作为标识符使用,如int,using

输入指令:cin

基本语法

cin >> 变量名;

使用流程

int x; // 先申请空间,命名
cin >> x; // 后输入数据,存放

连续输入多个值

int a, b, c;
cin >> a >> b >> c;            // 用空格或回车分隔输入
// 输入:10 20 30  → a=10, b=20, c=30

输出指令:cout

基本语法

cout << "要输出的内容";

输出文字(字符串)

cout << "Hello World";      // 双引号包裹文字
cout << "你好,世界";        // 支持中文

输出数字

cout << 123;                // 直接写数字
cout << 3.14;               // 小数

换行方法

cout << "第一行" << endl;   // 方法1:endl
cout << "第二行\n";         // 方法2:\n(反斜杠n)

连续输出多个内容

cout << "姓名:" << "小明" << ",年龄:" << 10;
// 输出:姓名:小明,年龄:10

重要规则

  1. 符号全英文:; " << 必须是英文符号
  2. 每句结尾加分号:cout语句必须以;结束
  3. 箭头方向:<< 把内容输出到屏幕
  4. 文字加引号:文字必须用” “包裹

常用转义字符

cout << "换行:第一行\n第二行";     // \n = 换行 相当于换行符
cout << "引号:他说:\"你好\"";      // \" = 输出双引号
cout << "路径:C:\\Program";        // \\ = 输出反斜杠
cout << "制表符:姓名\t年龄";        // \t = 空格对齐 相当于制表符

进阶用法:格式化输出<iomanip>

控制小数位数

#include <iomanip>  // 需要这个头文件
#include <iostream>
using namespace std;

int main()
{
    double pi = 3.1415926;
    cout << "默认:" << pi << endl;                // 3.14159
    cout << "保留2位:" << fixed << setprecision(2) << pi << endl;  // 3.14
    cout << "保留5位:" << setprecision(5) << pi << endl;           // 3.14159
    return 0;
}

控制宽度对齐

#include <iomanip>
#include <iostream>
using namespace std;

int main()
{
    // 设置宽度为10,右对齐(默认)
    cout << setw(10) << "姓名" << setw(10) << "成绩" << endl;
    cout << setw(10) << "小明" << setw(10) << 95 << endl;
    cout << setw(10) << "小红" << setw(10) << 88 << endl;
    
    // 左对齐
    cout << left;
    cout << setw(10) << "姓名" << setw(10) << "成绩" << endl;
    cout << setw(10) << "小明" << setw(10) << 95 << endl;
    
    return 0;
}

填充字符

cout << setfill('*') << setw(20) << "欢迎" << endl;
// 输出:****************欢迎

进制输出

int num = 255;
cout << "十进制:" << num << endl;            // 255
cout << "十六进制:" << hex << num << endl;   // ff
cout << "八进制:" << oct << num << endl;     // 377
cout << "切回十进制:" << dec << num << endl; // 255

显示前缀

cout << showbase;  // 显示进制前缀
cout << hex << 255 << endl;  // 0xff
cout << oct << 255 << endl;  // 0377
cout << noshowbase;  // 关闭前缀显示