大家好!我是老码农。
今天新开一个合集:C++基础,本合集会给大家分享有关【C++基础】知识。
这个合集后续也会写很多关于C++基础的文章,欢迎订阅。
孩子们如果开始学习信息学,一般都会买本C++基础的书。
那市面上有没有特别好的C++基础的书呢?
太难了
写这篇文章之前我特意去京东搜索C++基础的书籍,
很遗憾,没有找到一本令我特别满意的书。
选择书籍要点
第1点:最好选择针对信息学的C++书籍; 第2点:如果已经购买了有关C++基础书籍,也没必要再买一本针对信息学的C++基础的书籍;
发泄不满
市面上针对信息学的C++书籍千篇一律,基本包含这几个模块
C++基础 顺序结构 分支结构 循环结构 数组 指针 结构体
请问:STL这块不需要再讲讲吗?
猜一猜
分享一段代码,请问有谁知道这是谁写的代码吗?
#include <bits/stdc++.h>
using i64 = long long;
using u64 = unsigned long long;
using u32 = unsigned;
int main() {
std::ios::sync_with_stdio(false);
std::cin.tie(nullptr);
bool r[8] {}, c[8] {};
for (int i = 0; i < 8; i++) {
std::string S;
std::cin >> S;
for (int j = 0; j < 8; j++) {
if (S[j] == '#') {
r[i] = true;
c[j] = true;
}
}
}
int ans = std::count(r, r + 8, false) * std::count(c, c + 8, false);
std::cout << ans << "\n";
return 0;
}
再分享一段代码,请问有谁知道这段是谁写的吗?
#include <bits/stdc++.h>
using namespace std;
#ifdef LOCAL
#include "algo/debug.h"
#else
#define debug(...) 42
#endif
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n;
cin >> n;
vector<int> a(n);
for (int i = 0; i < n; i++) {
cin >> a[i];
}
map<int, int> mp;
for (int i = 0; i < n; i++) {
auto it = mp.find(a[i]);
int b = (it == mp.end() ? -1 : it->second + 1);
cout << b << " \n"[i == n - 1];
mp[a[i]] = i;
}
return 0;
}
这两段代码出自全球顶级大佬之手,里面均用到STL的知识。
赶紧猜一猜:能猜出来的群友可留言,看有多少人能猜对?
和信息学配对比较理想的C++基础书籍在哪里?
其实我是想写一本有关信息学的C++基础的书籍,无奈平时工作比较忙。
断断续续整理了一些,离成品还有段距离。
路漫漫其修远兮。。。我会努力的
回到正题
回到:选择书籍提到的第2点:
选第2点:如果已经购买了有关C++基础书籍,也没必要再买一本针对信息学的C++书籍;
很明确的说了,如果已经买了C++入门的基础书籍,没必要再买一本,买一本也要好几十块钱呢。
不该浪费一分钱,坚决“省”字诀到底。我就抠,咋得了。
如果买的不是针对信息学的C++入门书籍,咋办?
一定要注意,如果您之前给孩子买的书籍不是针对信息学的,不要把整本书都学了。
只需要先关注:
C++基础 顺序结构 分支结构 循环结构 数组 指针 结构体
如果书中有提到STL,例如:vector、map、set、queue这些也学一下即可,后面用到啥在学啥。
划重点: 千万不要都学,有些知识点信息学算法比赛是用不上的。
买哪本呢?
我昨天在京东上也搜索了下,看这本还不错,推荐给大家。
书名:《信息学奥赛导学(C++语言基础入门)》
这本书推荐理由:
第1:例题,基于算法题讲解知识点;
第2:代码比较工整;
第3:看目录书中有些关于比赛技巧内容;
纸质书购买链接如下:
注意点:因为我看网上有些文章一推荐就是一堆书,要是全都买下来,至少500元起步。
太没必要了,书买的不是越多越好,既浪费钱,又特别占地方。
交流
大家有任何有关信息学或者孩子学习的问题,可以添加:老码农的微信号。
咱们在微信中单聊,因为平时工作比较忙,不能保证及时回复大家,望大家见谅。
写在最后
昨天我对【小码匠和老码农】公众号未来规划进行了梳理,
后面会更成体系梳理有关数竞、信竞方面的知识,我本身也是孩子家长,孩子一路信息学学过来,踩了不少坑。
也希望刚进入信息学的家长能少踩坑,让孩子们学习更有效率。