自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 map和set的应用总结

T是set存放的元素类型,底层存储的是<value,value>的键值对;Compare:set中元素默认按照小于比较;Alloc:set中元素空间的管理方式,使用STL提供的空间配置器管理;2、set的使用举例multiset----允许键值冗余。

2023-08-17 00:50:24 74

原创 二叉搜索树

当要删除的节点有2个孩子时,要使用替换法,,替换的节点是右子树的最左节点或者左子树的最右节点,替换之后删除替换节点。替换节点要么只有1个孩子,要么没有孩子,可直接删除。插入的值>当前的cur值,往右走;插入的值

2023-04-21 11:41:00 90

原创 动态内存管理

一、动态内存函数1、mallocvoid* malloc (size_t size);这个函数向内存申请一块连续可用的空间,并返回指向这个空间的指针。(1)如果开辟成功了,那么函数会返回指向开辟好的空间的指针;(2)如果开辟失败,那么函数会返回NULL指针,因此malloc的返回值一定要做检查;(3)返回值的类型是void*,所以malloc函数并不知道开辟的空间的类型,具体使用的时候由使用者自己决定;(4)如果参数size为0,malloc的行为是标准未定义的,取决于编译器。

2022-04-13 00:40:49 114

原创 自定义类型:结构体,枚举,联合

一、结构体的声明1、结构的基础知识 结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。2、结构的声明struct tag{ member-list;}variable-list;//member-list——成员列表//variable-list——变量列表//描述一个学生struct Stu{ char name[10]; int age; double score;}s1, s2, s3;//分号不能丢3、特殊的声明.

2022-04-05 01:15:57 287

原创 字符函数和字符串函数

2022-04-02 00:50:50 306

原创 指针初阶1

指针是什么?

2021-12-14 21:46:42 552

原创 操作符详解2

操作符详解2

2021-12-10 09:24:17 100

原创 操作符详解1

操作符1

2021-12-06 00:06:44 87

原创 数组应用实例1:三子棋

test.c 测试游戏的逻辑 game.h 关于游戏相关的函数声明、符号声明、头文件的包含 game.c 游戏相关的函数实现 第一步,先在test.c文件中写出简易的页面与选择程序menu(){ printf("1:play\n"); printf("0:exit\n");}int main(){ int input = 0; menu(); printf("请选择\n"); scanf("%d", &input); switch (

2021-11-13 08:54:09 3148

原创 递归练习题

1、递归实现字符串逆序

2021-11-08 00:56:09 116

原创 数组作为函数传参

1.冒泡排序 接下来,冒泡排序该如何实现呢?首先,我们要知道冒泡排序的思想——两两相邻的元素进行比较,并且可能的话需要交换了解了这个思想后,我们在实现函数的时候首先要确定趟数,确定了趟数后,再开始进行比较void bubble_sort(int arr[])//形参的本质是指针{ int sz = sizeof(arr) / sizeof(arr[0]); int i = 0;//确定趟数 for (i = 0; i <= sz - 1; i+...

2021-11-05 23:22:58 179

原创 二维数组总结

(一)二维数组的创建与初始化1、二维数组的创建int arr[3][4];//表示3行4列char arr[3][5];double arr[2][4]; int arr[3][4];2、二维数组的初始化初始化——创建的同时给赋值int arr[3][4] = {1,2,3,4};int arr[3][4] = {{1,2},{4,5}};int arr[ ][4] = {{1,2},{4,5}};//行可省,列不可省int arr [3] [4] ={...

2021-11-03 23:25:34 267

原创 一维数组课堂总结

数组 ---- 一组数 ----- 一组相同类型元素的集合(一)、一维数组的创建和初始化1、数组的创建type_t arr_name[const.n];type_t为数组的元素类型const.n是一个常量表达式,用来指定数组的大小例:int arr[8]; char ch[5];反例:int n = 8;int arr[n]; 这个写法是错误的,因为const.n是必须为一个常量表达式。2、数组的初始化int arr[10] = {1,2,3,4,5,6,..

2021-11-03 00:23:57 398

原创 猜数字游戏

写一个猜数字游戏1、自动产生一个1---100之间的随机数2、猜数字 a、猜对了,就恭喜你,游戏结束 b、猜错了,会告诉你猜大了或猜小了,继续猜,直到猜对了为止3、游戏一直玩,除非退出游戏。自己的写法void menu(){ printf("1.play\n"); printf("0.exit\n");}int main(){ menu();//打印菜单 printf("请输入数字\n"); int input = 0; wh...

2021-11-02 22:16:21 240

原创 函数的递归

什么是递归?程序调用自身的编程技巧称为递归。递归是作为作为一种算法在程序设计语言中广乏应用。一个过程或函数在其定义或说明中有直接或间接调用自己的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题求解,递归策略只需少量的程序就可以描绘出解题过程所需的多次重复计算,大大地减少了程序的代码量。递归的主要思考方向在于:把大事化小 递归的两个必要条件*存在限制条件,当满足这个限制条件的时候,递归便不再继续;*每次递归调用之后越来越接近这个限制条件。...

2021-11-02 20:30:18 69

原创 函数的嵌套调用和链式访问

1、嵌套调用void test3{ printf("hehe\n");}int test2(){ test3(); return 0;}int main(){ test2(); return 0;}2、链式定义:把一个函数的返回值作为另一个函数的参数int main(){ int len = strlen("abc"); printf("%d\n",len); //链式访问 printf("%d\n"

2021-10-31 08:42:09 96

原创 函数的调用

1、传值调用:函数的形参和实参分别占有不同内存块,对形参的修改不会影响实参。2、传址调用:传值调用是把函数外部创建变量的内存地址传递给函数参数的一种调用函数的方式。这种传参的方式可以让函数和函数外边的变量建立起正直的联系,也就是函数内部可以直接操作函数外部的变量。//传值调用void swap(int x,int y){ int z = 0; z = x; x = y; y = z;}//传址调用void swap(int* pa,int* pb

2021-10-23 15:10:42 128

原创 自定义函数

自定义函数和库函数一样,有函数名,返回值类型和函数参数。但不一样的是那些都是我们自己来设计的。//函数的组成ret_type fun_name(para1,*){ statement;//语句项}ret_type返回类型fun_name函数名para1函数参数例:比较a与b的大小int get_max(int x,int y){ int z = 0; if(x > y) z = x; else z = y;...

2021-10-21 14:24:25 97

原创 do......while语句和练习

语法do 循环语句while(表达式);若表达式为真,则再次回到do,若为假,则跳出循环。int main{ int i = 1; do { printf(“%d”,i); i++; } while(i <= 10); return 0;}练习1、计算n的阶乘int main(){ int i = 0; int n = 0; int ret = 1;

2021-10-21 12:55:19 164

原创 for循环课堂笔记总结

语法for(表达式1;表达式2;表达式3) 循环语句;表达式1为初始化内容,用于初始化循环变量表达式2为条件判断部分,用于判断循环时候终止表达式3为调整部分,用于循环条件的调整。例子int main(){ int i = 0; for (i =1 ;i <= 10;i++) { printf(“%d\n”,i++); } return 0;}大致路线是表达式1——表达式2——循环语句——表达式...

2021-10-09 13:00:00 320

原创 分支语句while课堂笔记总结

我们已经掌握了if语句,当满足条件时,if语句后的语句执行,否则不执行。但这个语句只会执行一次。我们生活中很多实际的例子是,同一件事我们需要完成多次。那我们该怎么做呢?C语言给我们引入了while语句,可以实现循环。语法结构while(表达式) 循环语句;例子:...

2021-10-06 13:00:00 186

原创 分支语句switch课堂笔记总结

switch是分支语句,常用于多分支。 语法形式

2021-10-06 12:00:00 206

原创 分支语句ifelse课堂笔记总结

C语言是结构化的程序设计语言 日常生活中,语言有三种结构,分别是顺序结构,选择结构和循环结构。而选择结构和循环结构也是重中之重。 在C语言中,由一个分号隔开的就是一条语句。补充,C语言中0为假,非0为真。 分支语句(选择结构)(if;switch) 一、if的语法结构1、if(表达式)————若此处为假,则语句不执行 语句;int main(){ int age = 10; if(age >= ...

2021-10-03 20:33:25 411

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除