作业介绍

C++ 基础数据类型与输入输出知识点总结

一、课程目标

本次学习需达成以下核心能力,为后续编程实践奠定基础:

  1. 掌握 整数类型(intlong long,能根据数据范围灵活选择合适类型;

  2. 熟练使用 cin(输入)、cout(输出) 工具,掌握变量的创建与使用;

  3. 理解 浮点数类型(double,学会保留指定小数位数的实现方法;

  4. 认识 字符类型(char,掌握 ASCII 码的基本应用;

  5. 区分并使用 隐式类型转换强制类型转换(如字符转数字)。

二、核心知识点汇总

2.1 变量的定义与命名规则

变量是存储数据的 "容器",定义时需明确类型变量名,是编程的基础操作。

1. 定义格式

// 语法:类型名 变量名;(可单个定义或多个定义,多个定义用逗号分隔)

int a;          // 定义1个int类型变量a

int b, c;       // 定义2个int类型变量b、c

double score;   // 定义1个double类型变量score

char ch;        // 定义1个char类型变量ch

2. 命名规则(必须遵守,否则代码报错)

  • 只能由 字母、数字、下划线(_ 组成;

  • 不能以 数字开头(如1a不合法,a1合法);

  • 不能使用 C++ 的 关键字(如cincoutint等均为关键字,不可作为变量名)。

  • 区分大小写

2.2 变量的赋值与使用

变量需先定义、再赋值(或输入),才能正常使用,且一个变量只能存储一个数值。

1. 直接赋值

通过 赋值运算符(= 给变量赋初始值,格式如下:

int a = 5;      // 定义int变量a,并赋值为5

double pi = 3.14159;  // 定义double变量pi,并赋值为3.14159

cout << a;      // 输出a的值,结果为5

cout << pi;     // 输出pi的值,结果为3.14159

2. 输入赋值(cin的使用)

通过 cin + 输入运算符(>>) 从键盘获取数据,赋值给变量,格式如下:

int a;          // 第一步:先定义变量

cin >> a;       // 第二步:从键盘输入一个整数,赋值给a

cout << a;      // 第三步:输出a的值(即输入的整数)

注意事项

  • 未定义的变量不能直接使用(如直接写cin >> x;会报错,需先写int x;);

  • 变量赋值后,新值会覆盖旧值(如a = 5; a = 10;最终a的值为 10)。

2.3 输出相关工具(endl与保留小数)

1. 换行符endl

用于在输出后 换行,避免内容挤在同一行,格式如下:

cout << "Hello" << endl << "World"; 

// 输出结果:

// Hello

// World

2. double类型保留小数(fixed + setprecision

需先引入头文件 <iomanip>,通过 fixed 固定小数格式,setprecision(n) 保留n位小数(会自动四舍五入),以下是完整代码示例:

示例 1:保留 2 位小数(四舍五入)
#include <iostream>

#include <iomanip>  // 必须引入该头文件,否则setprecision无法使用

using namespace std;

int main() {

    double num = 3.1415926;  // 定义double类型变量并赋值

    // 保留2位小数,3.1415926四舍五入后为3.14

    cout  << fixed << setprecision(2) << num << endl; 

    return 0;

}

// 输出结果:3.14

2.4 代码注释

注释是给开发者看的说明文字,不会被编译器执行,主要用于解释代码功能,提高可读性。

1. 注释格式

  • 单行注释:用 // 开头,注释从//到行尾的内容;

  • 多行注释:用 /* 注释内容 */ 包裹,可跨多行(较少用,推荐单行注释)。

2. 示例(带注释的代码)

#include <iostream>

using namespace std;

int main() {

    int a, b;          // 定义2个int类型变量a和b(存储输入的两个数)

    cin >> a >> b;     // 从键盘输入两个整数,分别赋值给a和b

    cout << a + b;     // 计算a+b的和,并输出结果

    return 0;

}

2.5 数据类型的关键特性

1. 整数类型:int vs long long

两者均用于存储整数,但范围和性能不同,需根据场景选择:

类型 数据范围 优点 缺点
int 2×1092×109-2 \times 10^9 \sim 2 \times 10^9 内存消耗小、计算速度快 范围小,大数值会溢出
long long 9×10189×1018-9 \times 10^{18} \sim 9 \times 10^{18} 范围极大,支持大数值 内存消耗大、计算速度慢
核心原则:不盲目使用long long,根据数据范围选择
  • 若数值≤2×1092 \times 10^9(如 1000、500000),用int

  • 若数值 >2×1092 \times 10^9(如50000×50000=2.5×10950000 \times 50000 = 2.5 \times 10^9),用long long

例题:A×B 问题

题目:计算两个整数ab的乘积,ab最大为 50000。

分析思路:

第一步,计算最大值场景下的乘积:

50000×50000=2500000000=2.5×10950000 \times 50000 = 2500000000 = 2.5 \times 10^9

第二步,对比int类型范围:int最大存储值约为2.1×1092.1 \times 10^9,乘积超过int范围会导致溢出;

第三步,结论:需选择long long类型存储变量ab,确保计算结果正确。

2. 浮点数类型:double

  • 用途:存储小数(如 3.14、0.5)或范围较大的整数;

  • 关键特性:int类型做除法会取 "商的整数部分"(如5 / 2 = 2),若需小数结果,需将变量定义为double

例题:计算分数的浮点数值

题目:输入两个整数ab,计算a/b的小数结果,保留 9 位小数。

分析思路:

第一步,明确需求:需得到小数结果而非整数商,因此不能用int类型(int除法会取整),需将ab定义为double类型;

第二步,处理输入:用cin获取两个数值;

第三步,处理输出:因要求保留 9 位小数,需引入<iomanip>头文件,使用fixed + setprecision(9)的组合实现小数保留,最终输出a/b的结果。

3. 字符类型:char与 ASCII 码

  • 用途:存储单个字符(如'a''A''1'),本质是存储 ASCII 码(整数);

  • ASCII 码关键规律:

    • 大写字母(A-Z)的 ASCII 码范围:65-90;

    • 小写字母(a-z)的 ASCII 码范围:97-122;

    • 同一字母的大小写 ASCII 码差值为 32(如'A'=65,'a'=97,9765=3297-65=32)。

三、类型转换

3.1 隐式类型转换(自动转换)

  • 规则:范围小的类型 → 范围大的类型(类似 "小容器的水倒入大容器",不会溢出);

  • 示例:char类型与int类型运算时,char会自动转为int(因int范围更大):

char ch = 'a';  // 'a'的ASCII码为97

int num = 10;

cout << ch + num;  // char自动转int,计算97+10=107,输出107

3.2 强制类型转换(手动转换)

  • 用途:需将范围大的类型转为范围小的类型,或明确指定转换类型(如charint查看 ASCII 码);

  • 格式:(目标类型)变量名

  • 示例:打印字符的 ASCII 码:

#include <iostream>

using namespace std;

int main() {

    char a;

    cin >> a;          // 输入一个字符(如'a')

    cout << (int)a;    // 强制转为int,输出ASCII码(如97)

    return 0;

}

四、大小写转换(char类型应用)

利用 "大小写字母 ASCII 码差值为 32" 的规律,实现转换:

  • 小写转大写:小写字母 - 32(如'a'-32='A');

  • 大写转小写:大写字母 + 32(如'A'+32='a')。

示例思路

若需将输入的小写字母转为大写:

第一步,定义char类型变量存储输入的小写字母;

第二步,通过 “输入变量 - 32” 的计算得到对应的大写字母 ASCII 码,赋值给新的char变量(如输入'b',计算9832=6698-32=66,对应'B');

第三步,输出转换后的大写字母,核心是利用 ASCII 码差值的规律完成转换。

五、编程做题步骤(核心流程)

  1. 读题分析:明确题目要求(计算什么、输入输出格式);

  2. 定义变量:根据输入数据的类型和范围,选择合适的变量类型(int/double/long long/char);

  3. 处理输入:用cin获取键盘输入,赋值给变量;

  4. 实现逻辑:编写计算或转换代码(如加减乘除、大小写转换);

  5. 处理输出:用cout输出结果,注意是否需要换行(endl)或保留小数(fixed+setprecision)。

总结

每一步都需结合知识点(如数据范围选类型、小数保留用<iomanip>),避免盲目写代码。

题目

认领作业后才可以查看作业内容。
状态
正在进行…
题目
12
开始时间
2025-11-14 0:00
截止时间
2035-11-21 23:59
可延期
24 小时