作业介绍
C++ 基础数据类型与输入输出知识点总结
一、课程目标
本次学习需达成以下核心能力,为后续编程实践奠定基础:
-
掌握 整数类型(
int、long long),能根据数据范围灵活选择合适类型; -
熟练使用
cin(输入)、cout(输出) 工具,掌握变量的创建与使用; -
理解 浮点数类型(
double),学会保留指定小数位数的实现方法; -
认识 字符类型(
char),掌握 ASCII 码的基本应用; -
区分并使用 隐式类型转换 与 强制类型转换(如字符转数字)。
二、核心知识点汇总
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++ 的 关键字(如
cin、cout、int等均为关键字,不可作为变量名)。 -
区分大小写
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 |
内存消耗小、计算速度快 | 范围小,大数值会溢出 | |
long long |
范围极大,支持大数值 | 内存消耗大、计算速度慢 |
核心原则:不盲目使用long long,根据数据范围选择
-
若数值≤(如 1000、500000),用
int; -
若数值 >(如),用
long long。
例题:A×B 问题
题目:计算两个整数a和b的乘积,a和b最大为 50000。
分析思路:
第一步,计算最大值场景下的乘积:
第二步,对比int类型范围:int最大存储值约为,乘积超过int范围会导致溢出;
第三步,结论:需选择long long类型存储变量a和b,确保计算结果正确。
2. 浮点数类型:double
-
用途:存储小数(如 3.14、0.5)或范围较大的整数;
-
关键特性:
int类型做除法会取 "商的整数部分"(如5 / 2 = 2),若需小数结果,需将变量定义为double。
例题:计算分数的浮点数值
题目:输入两个整数a、b,计算a/b的小数结果,保留 9 位小数。
分析思路:
第一步,明确需求:需得到小数结果而非整数商,因此不能用int类型(int除法会取整),需将a和b定义为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,)。
-
三、类型转换
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 强制类型转换(手动转换)
-
用途:需将范围大的类型转为范围小的类型,或明确指定转换类型(如
char转int查看 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',计算,对应'B');
第三步,输出转换后的大写字母,核心是利用 ASCII 码差值的规律完成转换。
五、编程做题步骤(核心流程)
-
读题分析:明确题目要求(计算什么、输入输出格式);
-
定义变量:根据输入数据的类型和范围,选择合适的变量类型(
int/double/long long/char); -
处理输入:用
cin获取键盘输入,赋值给变量; -
实现逻辑:编写计算或转换代码(如加减乘除、大小写转换);
-
处理输出:用
cout输出结果,注意是否需要换行(endl)或保留小数(fixed+setprecision)。
总结
每一步都需结合知识点(如数据范围选类型、小数保留用<iomanip>),避免盲目写代码。
题目
- 状态
- 正在进行…
- 题目
- 12
- 开始时间
- 2025-11-14 0:00
- 截止时间
- 2035-11-21 23:59
- 可延期
- 24 小时