文章分类 - C++语法
摘要:哈喽同学们!今天我们来搞定信息学初赛必考的四大计算机基础理论~这些都是选择题里的"常客",搞懂了直接拿分!虽然是理论,但我会用最有趣的比喻讲清楚,保证不枯燥!准备好了吗?开始!🚀 📚 今日知识地图 知识点 核心问题 关键词 💾 计算机存储 内存分哪几种?RAM/ROM/Cache 啥区别? 易
阅读全文
摘要:哈喽同学们!今天我们课上攻克了 C++ 里最容易混淆的九个核心概念~这些都是选择题和代码阅读题的高频考点,搞懂了它们,C++ 基础就真正扎实了!准备好了吗?开始!🚀 📚 今日知识地图 序号 知识点 核心问题 1️⃣ & 的双重身份 取地址 vs 引用,别搞混! 2️⃣ 字符串常量 vs 字符数组
阅读全文
摘要:一道题引出的知识:指针、数组名、存储顺序,一次讲明白! 📋 目录 先来看这道题 数组是什么?——储物柜的比喻 一维、二维、三维数组——从抽屉到大楼 存储顺序——C 语言的"数数规则" 数组名和指针——它们到底是什么关系 地址计算公式——学会自己算 回到题目——一步步解开答案 小练习——你来试试看
阅读全文
摘要:C++ 的 list 就是双向链表,和 vector、map 的用法差别挺大。下面我用“中学生能听懂 + 写题够用”的方式给你讲,重点放在怎么用、哪里容易错。 一、什么是 list? #include <list> list 是一个双向链表: • 每个元素都记得“前一个”和“后一个” • 插入、删除
阅读全文
摘要:面向对象三大特性:封装、继承、多态 封装:体现了抽象思想,将对象的元素封闭保护起来。 类中定义的所有成员变量和成员函数默认是 private 权限 结构体中定义的所有成员变量和成员函数默认是 public 权限 类的构造函数名即为类名(不能修改名称),没有返回值类型 在 C++ 中,类的数据一般设置
阅读全文
摘要:函数名相同,形参不同(包括类型和个数,参数名不算)的函数,称为重载函数。 #include <iostream> int add(int a, int b) { return a + b; } double add(double a, double b) { return a + b; } int
阅读全文
摘要:指针 什么是指针(pointer)? 存储其他变量地址的变量类型,称为指针。 例如:我们 & 称为取地址符,它取的地址就是一个指针类型,也就是说所有的地址都可以看作指针类型。但是在 C 语言中,所有的变量,都必须严格声明其数据类型,包括指针,也必须区分它所指向的数据是什么类型。因此,指针依据其存储的
阅读全文
摘要:第一部分:基础语法差异 1.1 输入输出 C语言方式:printf/scanf 或 getchar/putchar int a; scanf("%d", &a); printf("%d\n", a); C++方式:cin/cout #include <iostream> using namespac
阅读全文
摘要:对于一个 \(n\times m\) 的二维数组,行 \(1\sim n\),列 \(1\sim m\) 假设有一个 \(7\times 10\) 的矩阵(行 1~7,列 1~10)。 二维数组的同一行、同一列、对角线 1、同一行 行号不变,列号 \(1\sim 10\),例如:输出第 k 行的每个
阅读全文
摘要:#include <iostream> struct Node { int a, b, c; static int k; Node() { ++k; } }; int Node::k = 0; int main() { for (int i = 0; i < 10; ++i) { Node x; x
阅读全文
摘要:#include <iostream> const int N = 1e5 + 7; // 面向对象:封装、继承、多态 class Animal { int age; public: int x, y; // 封装 void setAge(int a) { if (a > 100 || a < 1)
阅读全文
摘要:很多时候,我们需要使用 vector 可变长数组的性质,绝大多数情况下都没有问题。但在数据特别大,且不一定是正解的时候,使用 vector 性能过慢,有可能造成多数测试点超时。此时,可以考虑如下方法 #include <iostream> #include <functional> using na
阅读全文
摘要:1、如何存储 n 个数 输入 n 个数,把这 n 个数按某种顺序输出。 #include <cstdio> int main() { //3 个数按序输出 int a, b, c; scanf("%d%d%d", &a, &b, &c); printf("%d %d %d", a, b, c); r
阅读全文
摘要:求模运算 求余数(模)%,在CPU中,与除法运算使用同一个运算器,例如 a % b; 注意:a % b 运算结果的正负号与 a 的正负号保持一致,与数学上的定义恰恰相反。 int a = 5 % 3, b = -5 % 3;//a为2,b为-2 int c = 5 % -3, d = -5 % -3
阅读全文
摘要:重复 n 次 例如,老师罚小 A 做 20 个蹲起,他会一边做一边数(从 1 开始):“1,2,3,4,……。” 如何实现执行某种操作若干次呢?可以设定一个整数 \(i\),结合判断条件实现 给 \(i\) 赋一个初值 (初始为 \(1\)) 设定循环结束时 \(i\) 的终值或终止条件(\(i >
阅读全文
摘要:使用随机数提供数据 如下代码 gen.cpp,产生 \(n\) 个 \(-1\) 和 \(1\) 的随机数,编译生成 gen.exe。 #include <iostream> #include <random>//比rand()取值范围更大,rand()最大只有32767 using namespa
阅读全文
摘要:函数传参 大家注意:参数是从右向左依次确定的。 #include <iostream> int calc(int a, int b, int c) { printf("%d %d %d\n", a, b, c); return a + b + c; } int main() { int a = 2;
阅读全文
摘要:仿函数的主要功能是为了搭配STL算法使用,单独使用仿函数的情况比较少。 仿函数(functors)在C++标准中采用的名称是函数对象(function objects)。仿函数主要用于STL中的算法中,虽然函数指针虽然也可以作为算法的参数,但是函数指针不能满足STL对抽象性的要求,也不能满足软件积木
阅读全文
摘要:前言 以前没有接触过 stringstream 这个类的时候,常用的字符串和数字转换函数就是 sscanf 和 sprintf 函数。开始的时候就觉得这两个函数应经很牛了,但是毕竟是属于 c 的。c++ 中引入了流的概念,通过流来实现字符串和数字的转换方便多了。 常见格式串 %% 印出百分比符号,不
阅读全文
摘要:一、算法设计三大结构 算法设计三大结构 顺序执行 —— 一条路走到底 分支语句 —— 岔路口,选择一条路 循环语句 —— 来回来回,执行多次 今天我们来学习分支语句 二、关键字 if if (条件判断) 若满足则执行;//注意:小括号后面没有分号!! //下一行语句与 if 是否满足条件无关,都会执
阅读全文

浙公网安备 33010602011771号