作业介绍

课程目标

  • 整数类型,intlong long 的学习,具备根据数据范围判断使用类型的能力。
  • 浮点数类型,double 的学习,掌握保留小数的方法。
  • 字符型,char,掌握 ASCII 码。
  • 隐式类型转换和强制类型转换的使用。例如 字符转数字等。

知识点汇总

  • 保存小数字的类型是 double
  • 保存字符的类型是 char
  • 四舍五入的方法如下
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
	cout << fixed << setprecision(2) << 3.1415926;
    return 0;
}
  • int 类型之间做除法,结果算的是商,若需要小数结果,应切换为 double
  • 做题步骤
  1. 首先读题,搞清楚题目意思
  2. 写好输入格式,题目输入几个变量,每个变量定义的类型
  3. 按照输出格式写好代码,有些题目需不需要换行等等

例如 [计算分数的浮点数值] 一题,首先输入格式要求输入两个整数 a,ba,b,虽然我们可以使用 int a, b; 但是我们可以发现,如果使用 int 它们两做除法运算,算的结果是商而不是我们想要的小数结果,所以这个题我们定义数据类型为 double a, b;

其次输入它们 cin >> a >> b;

最后利用保留小数的方法来解决这个题目即可

#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
	double a, b;
    cin >> a >> b;
    cout << fixed << setprecision(9) << a / b;
	return 0;
}

long long 和 int 的优缺点

优点: long long 范围大

long long : 9101891018-9 * 10 ^ {18} \sim 9 * 10^{18}

int : 21092109-2 * 10 ^ 9 \sim 2 * 10 ^ 9

缺点:

long long 更加消耗内存,它需要的存储空间大, 计算速度慢于 int

总结:

合适的情况选择合适的数据类型,不要无脑去 long long

例题 [A×B 问题]

aabb 最大都是 5000050000

假如输入的 aabb 都是最大的情况

那么我们实际计算的结果就是 500005000050000 * 50000

答案是 2500000000=25108=2.51092500000000 = 25 * 10 ^ 8 = 2.5 * 10 ^9

而我们的 int 可以存储的最大数字大概是 2.11092.1 *10 ^ 9

超过了 int 所以需要 long long

自动类型转换与强制类型转换

自动类型转换,例如 char 的变量和 int 的变量参与运算,结果为 int,其转换规则为,范围小的朝范围大的靠拢,类似于大鱼吃小鱼。

强制类型转换,可以借助以下方法实现。

char a;
cin >> a;
cout << (int)a;

通过 (类型名)变量名 来实现对结果的转换,例如 【打印 ASCII 码】 一题中就可以使用强制类型转换。

大小写互相转换

由于相同字母大小写的 ASCII 码差值为 3232,故可以借助这个数字实现大小写转换。

char a;
cin >> a; // 输入一个小写字母
char A = a - 32; // 小写转大写是减去 32,反之为加 32
cout << A;

题目

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