cpp函数占位参数
02 函数占位参数 在 c++中,函数的形式参数列表中可以由占位参数,用来做占位。调用函数的时候必须填补这个位置。 语法:返回值类型 函数名称 (数据类型) {} 在现阶段使用函数的占位参数意义不大,但是后面的内容会遇到这样的使用内容。 占位参数:只要在形参列表写上数据类型即可。 #include …
2024-1-29 3:45
|
2024-1-29 3:45
|
cpp函数的默认参数
01 函数的默认参数 在c++的函数中,函数的形式参数列表是可以由默认数值的。 语法:返回值类型 函数名称 (参数 = 默认值) {}。 举个例子: 之前我们写一个函数是这样写的。 #include <iostream> using namespace std; int func1(in…
2024-1-29 3:44
|
2024-1-29 3:44
|
cpp引用和指针的关系
07 引用和指针的关系 引用很容易与指针混淆,它们之间有三个主要的不同: 不存在空引用。引用必须连接到一块合法的内存。但是指针可以被指向一个非法的内存空间(野指针)。 引用: int a = 10; int& b = a; 指针: int a = 10; int* p = &a; p = (int*…
2024-1-29 3:44
|
2024-1-29 3:44
|
cpp常量引用
06 常量引用 作用:常量引用主要用于修饰形式参数,防止进行误操作 当然,说到常量,一定会想到const。 在函数形参列表中,可以添加const修饰形式参数,防止形式参数改变实际参数。 #include <iostream> using namespace std; void p(int…
2024-1-29 3:44
|
2024-1-29 3:44
|
cpp引用的本质
05 引用的本质 本质:引用的本质在 c++中,就是一个指针常量。 对于指针而言,指针常量的指针的指向是不可以修改的。 复习:指针常量:指针的指向是不可以修改。常量指针:使用指针不可以修改数据值。 #include <iostream> using namespace std; int …
2024-1-29 3:43
|
2024-1-29 3:43
|
cpp引用做函数的返回值
04 引用做函数的返回值 作用:引用可以作为函数的返回值 注意:不要返回局部变量的引用 作用:函数调用作为左值 我们分开理解一下: 引用可以作为函数的返回值,但是不要返回局部变量的引用。 如何将引用作为函数的返回值: int& test1(); int main() { int& ref = tes…
2024-1-29 3:43
|
2024-1-29 3:43
|
cpp引用做函数参数
03 引用做函数参数 作用:函数传递参数的时候,可以使用引用来让形式参数修饰实际参数 优点:可以简化指针修改实际参数 我们可以回顾一下目前学习过的函数传递方式: 值传递:实参不会被修改,形参不可以修饰实参 地址传递:实参可以被修改,形参可以修饰实参。但是需要传递地址。 但是,我们使用引用的话,形参也…
2024-1-29 3:43
|
2024-1-29 3:43
|
cpp引用注意事项
引用注意事项 引用有一些注意事项,请务必关注: 引用必须初始化 引用在初始化后,就不可以改变了。 如何理解? 引用必须初始化 如之前的笔记所言。如果创建一个int a = 10;可以如下的操作: int a; a = 10; 那么在这里,a最开始是没有初始值的。而10是后续赋值赋出来的。 但是在引用…
2024-1-29 3:42
|
2024-1-29 3:42
|
cpp引用的基本使用
引用的基本使用 这个是 c++中非常重要的技术 作用:给变量起别名 语法:数据类型 &别名 = 原名 #include <iostream> using namespace std; int main() { int a = 10; int& b = a; cout &l…
2024-1-29 3:42
|
2024-1-29 3:42
|
cpp-new操作符
03 new操作符 在 c++中,可以使用new操作符在堆区开辟数据。 堆区数据的开辟:由开发手动开辟,手动释放。释放使用操作符delete。如果不释放,将会在程序运行结束之后由操作系统自动释放。 语法:创建:new 数据类型 删除:delete 地址 利用new创建的数据,会返回这个数据对应类型的…
2024-1-29 3:42
|
2024-1-29 3:42
|
程序运行后
02 程序运行后 栈区: 由编译器自动分配、释放。用于存放函数的参数值、局部变量、形参数据等。 注意:不要返回局部变量的地址,因为栈区开辟的数据由编译器自动释放。 #include using namespace std; //栈区数据的注意事项 //栈区数据由编译器管理 //注意:不要返回局部变量…
2024-1-29 3:41
|
2024-1-29 3:41
|
程序运行前
01 程序运行前 在程序编译后,生成了.exe的可执行文件(当然这个 exe 是 windows 环境下的可执行程序了......),未执行程序前分为两个区域: 代码区 存放 cpu 执行的机器指令:也就是改为二进制(0101这样的)的代码(写完的代码会变成机器阅读的二进制)。 代码区是共享的:共享…
2024-1-29 3:41
|
2024-1-29 3:41
|
cpp内存分区模型
01 内存分区模型 c++在程序执行的时候,会将内存划分为4 个区域 代码区 :(程序运行前)存放函数体的二进制代码,由操作系统进行管理。 比如说写的cout << "hello" << endl;(也就是代码);写的注释等等,都在代码区。 全局区:(程序…
2024-1-29 3:40
|
2024-1-29 3:41
|
cpp随机数
随机数 c++里面随机生成数字的方法:rand()%100 ->生成一个 0-99 的数字。如果是rand()%100 + 1 ->生成一个 1-100 的数字。 发现一个问题,每次的随机数都是一样。我们要修改一下随机数的种子 srand((unsigned int)time(NULL)…
2024-1-28 20:21
|
2024-3-05 19:09
|
cpp开根
开根 c++中开根号需要其他的头文件 #include <math.h> 然后使用函数sqrt(x);即可。 比如: #include <iostream> #include <math.h> void main() { double a = 16.0; b = …
2024-1-28 20:21
|
2024-3-05 19:09
|
luogu B2050 三角形判断
三角形判断 B2050 三角形判断 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题目描述 给定三个正整数,分别表示三条线段的长度,判断这三条线段能否构成一个三角形。 输入格式 输入共一行,包含三个正整数,分别表示三条线段的长度,数与数之间以一个空格分开。(三条边的长度均不超过 …
2024-1-28 20:20
|
2024-3-05 19:08
|
luogu B2040 判断是否为两位数
判断是否为两位数 题目描述 判断一个正整数是否是两位数(即大于等于 $10$ 且小于等于 $99$)。 输入格式 一个正整数,不超过 $1000$。 输出格式 一行。若该正整数是两位数,输出 $1$,否则输出 $0$。 样例 #1 样例输入 #1 54 样例输出 #1 1 #include <…
2024-1-28 20:20
|
2024-3-05 19:08
|
luogu B2037 奇偶数判断
奇偶数判断 题目描述 给定一个整数,判断该数是奇数还是偶数。如果 $n$ 是奇数,输出 odd;如果 $n$ 是偶数,输出 even。 输入格式 输入仅一行,一个整数 $n$。 输出格式 输出仅一行,如果 $n$ 是奇数,输出 odd;如果 $n$ 是偶数,输出 even。 样例 #1 样例输入 #…
2024-1-28 20:15
|
2024-3-05 19:08
|
luogu B2020 分糖果
分糖果 B2020 分糖果 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题目描述 某个幼儿园里,有 $5$ 位小朋友编号依次为 $1,2,3,4,5$ 他们按照自己的编号顺序围坐在一张圆桌旁。他们身上有若干糖果,现在他们玩一个分糖果游戏。从 $1$ 号小朋友开始,将自己的糖果均…
2024-1-28 20:15
|
2024-3-05 19:08
|
luogu B2002 Hello,World!
Hello,World! 题目描述 编写一个能够输出 Hello,World! 的程序。 提示: 使用英文标点符号; Hello,World! 逗号后面没有空格。 H 和 W 为大写字母。 输入格式 输出格式 样例 #1 样例输入 #1 无 样例输出 #1 Hello,World! #include…
2024-1-28 20:14
|
2024-3-05 19:09
|
cpp结构体练习2
08-2 结构体练习2 设计一个英雄的结构体,包括成员姓名,年龄,性别;创建结构体数组,数组中存放5名英雄。 通过冒泡排序的算法,将数组中的英雄按照年龄进行升序排序,最终打印排序后的结果。 五名英雄信息如下: {"刘备",23,"男"}, {"关羽&…
2024-1-28 20:14
|
2024-1-29 2:51
|
cpp结构体练习1
08-1 结构体练习1 描述: 学校正在做毕设项目,每名老师带领5个学生,总共有3名老师,需求如下 设计学生和老师的结构体,其中在老师的结构体中,有老师姓名和一个存放5名学生的数组作为成员学生的成员有姓名、考试分数,创建数组存放3名老师,通过函数给每个老师及所带的学生赋值,最终打印出老师数据以及老师…
2024-1-28 20:13
|
2024-1-29 2:51
|
结构体中 const 使用场景
结构体中 const 使用场景 当我们看到const 的时候,这表示限制为只读,用来防止误操作。 在使用函数的时候,如果是值传递,那么每一个数据都会复制一份。这样数据量会非常大。如果我们使用地址传递,那么会减少占用的空间。(因为指针只占用 8 个字节(或者 4 个字节))。 但是使用地址传递会有一个…
2024-1-28 20:13
|
2024-1-28 20:13
|
cpp结构体和指针
指针是什么:指针是一个地址,比如00x0001 这样的地址。 什么情况下打印会出现地址: 在int float double 等数据类型前加上取址符&。 直接打印数组的数组名称 在自定义的结构体的变量前加上取址符&。 我们来试一下 #include <iostream> …
2024-1-28 20:13
|
2024-1-28 20:13
|
cpp结构体做函数参数
06 结构体做函数参数 作用:将结构体作为函数的参数传入函数。 将结构体传入函数有两种传入方法: 值传递; 地址传递。 我们复习一下这两种传递的区别。 值传递分为实际参数和形式参数。简称为实参和形参。在值传递的时候,会把实际参数传递给形式参数。形式参数的改变不会影响实际参数的值。我们举个例子:(环境…
2024-1-28 20:12
|
2024-1-28 20:12
|
cpp结构体嵌套结构体
05 结构体嵌套结构体 结构体的成员可以是另外一个结构体。 情景:假设一个一对二的辅导。那么有 1 个老师和2个学生。那么可以创建两个结构体来存储这个数据。 那么我们可以这样试试 #include <iostream> #include <string> using name…
2024-1-28 20:12
|
2024-1-28 20:12
|
cpp结构体指针
结构体指针 作用:利用结构体指针访问结构体中的成员 利用操作符-> 可以通过结构体指针访问结构体属性。 #include <iostream> #include <string> using namespace std; struct stu { string name…
2024-1-28 20:11
|
2024-1-30 4:58
|
cpp结构体数组
结构体数组 用途:将自定义的结构体放入数组方便维护 语法:struct 结构体名称 数组名称[元素个数] = {{数据,数据},{数据,数据}} 定义一个数组存放结构体: #include <iostream> #include <string> using namespac…
2024-1-28 20:11
|
2024-1-28 20:11
|
cpp结构体的定义和使用
结构体的定义和使用 定义一个结构体 语法:struct 结构体名称 {结构体成员列表} eg struct student { string name; int age; int scores; }; 通过结构体创建的变量的方式有三种。 struct 结构体名称 变量名称 //通过结构体创建具体学生…
2024-1-28 20:11
|
2024-1-28 20:11
|
cpp结构体的基本概念
结构体的基本概念 结构体属于用户自定义的数据类型,允许用户存储不同的数据类型。 数据类型是什么?比如说int double 等等等。
2024-1-28 20:10
|
2024-1-28 20:10
|
cpp指针的运算
09 指针的运算 指针是一个存储内存空间地址的一个数据。我们可以创建一个指针然后打印一下:(环境:Windows11 (arm/Apple M VM)/Visual Studio 2022/Debug/arm64) int a; int* p = &a; cout << (int…
2024-1-28 20:10
|
2024-1-28 20:10
|
cpp指针、数组和函数
08 指针、数组和函数 这是一个大杂烩。 描述:封装一个函数,利用冒泡排序,实现对整型数组的升序(或者降序,喜欢哪个用哪个)的排序。 #include<iostream> using namespace std; void fun1(int* arr, int cd); int main…
2024-1-28 20:10
|
2024-1-28 20:10
|
cpp指针和函数
07 指针和函数 作用:利用指针作为函数的参数的时候,可以实现修改实参的数据值。 首先回顾下值传递: #include<iostream> using namespace std; int fun1(int a, int b); int main() { int a = 10; int …
2024-1-28 20:09
|
2024-1-28 20:09
|
cpp指针和数组
06 指针和数组 数组是什么:数组是连续的内存空间中存放相同的数据类型的数据值。 我们现在的知识,可以这样访问数组的元素: #include <iostream> using namespace std; int main() { int arr[] = { 1,2,3,4,5,6,7,…
2024-1-28 20:09
|
2024-1-28 20:09
|
cpp-const修饰指针
05 const修饰指针 const 修饰指针 -> 常量指针 常量指针的特点:指针的指向可以修改,但是指针指向的数据值不可以修改。 #include using namespace std; int main() { int a = 10; int b = 100; const int* p…
2024-1-28 20:09
|
2024-1-28 20:09
|