学习笔记
文章平均质量分 82
HyDraZya
努力成为自己所想成为的人
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【C语言总结篇】新起点
写了这么久的博客,来一个简单的自我介绍: 本人是上海师范大学的一名计科专业的大一新生,暑假时通过网上的各类资源也记录下了不少的文章,从高中开始就对编程有产生浓厚的兴趣,我知道在这方面想要有一定造诣前方定会艰难重重,但我对自己抱有足够的信心,我认为:有志者,事竟成。 我的编程目标: 学习好C/C++,Linux环境平台,计算机网络,数据库等……,希望能在大三的实习/校招时取得一份令我满意的offer。 我的学习思路: 1、在大一时学好C/C++,不仅仅是学完(学扎实,弄清楚); 大二学习STL、L原创 2021-10-15 19:53:59 · 24436 阅读 · 163 评论 -
【C语言进阶】程序编译&预处理详解
程序的翻译环境 程序的执行环境 详解:C语言程序的编译+链接 预定义符号介绍 预处理指令 #define 宏和函数的对比 预处理操作符#和##的介绍 命令定义 预处理指令 #include 预处理指令 #undef 条件编译 ...原创 2021-09-21 23:48:52 · 1918 阅读 · 37 评论 -
【C语言进阶】文件数据操作详解(万字教你真正理解文件使用)
什么是文件 磁盘上的文件是文件。 但是在程序设计中,我们一般谈的文件有两种:程序文件、数据文件 程序文件: 数据文件: 包括源程序文件(后缀为 .c ),目标文件(windows环境后缀为.obj),可执行程序(windows环境后缀 为.exe)。 文件名 文件的内容不一定是程序,而是程序运行时读写的数据,比如程序运行需要从中读取数据的文件,或者输出内容的文件 文件类型 文件缓冲区 文件指针 文件的打开和关闭 文件的顺序读写 文件的随机读写 文件结束的判定 ...原创 2021-09-10 10:01:14 · 3126 阅读 · 53 评论 -
【C语言进阶】C语言实现通讯录 升级版 { 含动态扩容/销毁/信息保存功能 }(强烈建议收藏食用)
前言: 由于之前实现的通讯录在存储方面只能支持静态的1000人的存储量,但是如果联系人较少,则会造成较大的内存浪费。 当联系人一旦超过1000时,就不能再继续存储信息了。因此我们可以通过将通讯录改成动态扩容版本,就不会减少内存的浪费,同时也可以无限增加通讯录的内部信息。 之前的通讯录在程序退出后内部的数据就会消失,再次打开程序后只能重新输入数据,为此我们增加了一个保存功能来保存信息。 ...原创 2021-09-08 08:23:53 · 5343 阅读 · 63 评论 -
【C语言基础】C语言初步认识(2)
全局变量和局部变量中,优先采用局部变量的代码使程序能运行下去。 字符串已"\0"(隐藏)为结尾 "\0"-转义字符 0-数字0 '0'-48原创 2021-06-21 21:00:44 · 3539 阅读 · 6 评论 -
【C语言进阶】动态内存管理/分配
首先我们再来回顾一下内存区域的划分: 一、为什么存在动态内存管理/分配? (1)因为内存太宝贵。 (2)如果全部是静止内存不能释放,对于小的程序可以运行完毕。但是对于大的程序,还没运行完,内存就要被占用完,此时就要发生内存泄露。 (3)假设给定一个占用内存可变大小的变量(假设是数组的长度len),那么给该变量通过函数动态分配内存后,分配内存的大小是根据数组的长度len决定的。假定用户输入len的大小是5,系统就会动态的给该数组分配长度为5的内存。 该段代码运行结束后,系统调用free(..原创 2021-09-06 18:24:54 · 1609 阅读 · 53 评论 -
【C语言进阶】C语言实现通讯录(简易版)
通讯录可以用来存储1000个人的信息 每个人的信息包括: 姓名、电话、性别、住址、年龄 功能: 新增联系人 查找联系人 删除联系人 修改联系人 查看所有联系人 清空所有联系人 以名字排序所有联系人 ...原创 2021-09-05 03:04:06 · 23254 阅读 · 65 评论 -
【C语言基础】初步理解数组
数组 数组的创建 数组是一组相同类型元素的集合。 数组的创建方式: type_t arr_name [const_n]; //type_t 是指数组的元素类型 //const_n 是一个常量表达式,用来指定数组的大小原创 2021-07-10 14:02:56 · 1204 阅读 · 1 评论 -
【C语言基础】C语言实现扫雷
代码原创 2021-07-26 09:44:31 · 1475 阅读 · 3 评论 -
【C语言进阶】数据在内存中的存储
1. 数据类型详细介绍 基本的数据内置类型和他们所占存储空间的大小: char(1) //字符数据类型 short(2) //短整型 int(4) //整形 long(4) //长整型 long long(8) //更长的整形 float(4) //单精度浮点数 double(8) //双精度浮点数 类型的意义: 1. 使用这个类型开辟内存空间的大小(大小决定了使用范围)。 2. 如何看待内存空间的视角。原创 2021-08-17 23:30:52 · 888 阅读 · 3 评论 -
【C语言基础】C语言操作符
分类: 算术操作符 移位操作符 位操作符 赋值操作符 单目操作符 关系操作符 逻辑操作符 条件操作符 逗号表达式 下标引用、函数调用和结构成员 算术操作符 + - * / % 1. 除了 % 操作符之外,其他的几个操作符可以作用于整数和浮点数。 2. 对于 / 操作符如果两个操作数都为整数,执行整数除法。而只要有浮点数执行的就是浮点数除 法。 3. % 操作符的两个操作数必须为整数。返回的是整除之后的余数。 #include <stdio.h...原创 2021-07-28 01:28:40 · 1024 阅读 · 0 评论 -
【C语言基础】C语言实现三子棋
#include <stdio.h> #include <stdlib.h> #include <time.h> #define ROW 3 #define COL 3 //告诉我们四种游戏的状态 //玩家赢 '*' //电脑赢 '#' //平局 'Q' //继续 'C' int IsFull(char board[ROW][COL], int row, int col) { int i = 0; int j = 0; for(i = .原创 2021-07-21 17:15:12 · 1540 阅读 · 3 评论 -
【C语言基础】指针、结构体
指针是什么? 在计算机科学中,指针(Pointer)是编程语言中的一个对象,利用地址,它的值直接指向 (points to)存在电脑存储器中另一个地方的值。由于通过地址能找到所需的变量单元,可以 说,地址指向该变量单元。因此,将地址形象化的称为“指针”。意思是通过它能找到以它为地址的内存单元。 1个单元的大小通常为1个字节 代码示例: #include <stdio.h> int main() { int a = 10;//在内存中开辟一个空间 int *p = .原创 2021-08-09 00:51:08 · 5506 阅读 · 3 评论 -
【C语言基础】初步理解函数
函数 1.函数是什么 2.库函数 3.自定义函数 4.函数参数 5.函数调用 6.函数的嵌套调用和链式访问 7.函数的声明和定义 8.函数递归 C语言中函数的分类: 1.库函数 2.自定义函数 函数放在main函数之前,不用+声明 C语言常用的库函数 IO函数 字符串操作函数 字符操作函数 内存操作函数 时间/日期函数 数学函数 其他库函数 ...原创 2021-07-05 10:46:01 · 1750 阅读 · 1 评论 -
【C语言基础】练习题
练习: 1.计算n的阶乘: #include <stdio.h> int main() { int i = 0; int n = 0; int ret = 1; scanf("%d", &n); for(i=1; i<=n; i++) { ret = ret * i; } printf("ret = %d\n", ret); //32以上的数字会溢出 return 0; }原创 2021-06-28 00:36:51 · 4115 阅读 · 5 评论 -
【C语言基础】分支和循环初步理解
1321原创 2021-06-22 22:10:53 · 3015 阅读 · 7 评论 -
【C语言基础】C语言初步认识(1)
放在main函数中的变量都属于局部变量,但局部变量并不是都放在main函数中 常量:C语言中的常量和变量的定义的形式有所差异。 字面常量,const修饰的常变量,define定义的标识符常量,枚举常量 //字面常量: /* 3; 3.14; 100; */ //const修改常变量: const - 常属性 const int num = 4; printf("%d\n",num); num = 8; printf("%d\n",num); //#define 定义的标识符常量 #d原创 2021-06-16 23:22:11 · 9727 阅读 · 10 评论 -
【C语言进阶】C指针详解
1. 字符指针 2. 数组指针 3. 指针数组 4. 数组传参和指针传参 5. 函数指针 6. 函数指针数组 7. 指向函数指针数组的指针 8. 回调函数 9. 指针和数组面试题的解析原创 2021-08-23 20:02:11 · 2052 阅读 · 3 评论 -
【C语言进阶】C指针详解之练习(附解析)
首先我们再来重新认识一下数组名的概念 数组名是首元素的地址 1.sizeof(数组名)-数组名表示整个数组 2.&数组名-数组名表示整个数组 注意:上面这两种情况都需要 sizeof() / &后面直接+数组名,如果不是直接 + 数组名,则不是表示整数数组。除了上述两种情况外,其余所有情况数组名均表示的是首元素地址。 那么接下去我们就来看题目叭! 一、请写出下面程序执行的结果 //一维数组 int a[] = {1,2,3,4}; printf("%d\n",s...原创 2021-08-27 00:15:36 · 1809 阅读 · 14 评论 -
【C语言进阶】字符串&内存函数
前言: 字符串是一种非常重要的数据类型,但是C语言不存在显式的字符串类型,C语言中的字符串都以字符串常量的形式出现或存储在字符数组中。字符串常量适用于那些对它不做修改的字符串函数。同时,C 语言提供了一系列库函数来对操作字符串,这些库函数都包含在头文件 string.h 中。 目录 一、求字符串长度 strlen strlen函数的模拟实现 二、长度不受限制的字符串函数 strcpy strcpy函数的模拟实现 strcat strcat函数的模拟实现 str...原创 2021-08-31 22:55:19 · 1567 阅读 · 41 评论 -
【C语言进阶】自定义类型(1)结构体
结构体 结构体类型的声明 首先我们来了解一下结构的基础知识: 结构是一些值的集合,这些值称为成员变量。结构的每个成员可以不同类型的变量。 如数组是一组相同类型的元素的集合,而结构体也是一些值的集合,结构体的每个成员可以是不同类型的。 结构的声明 struct tag { member-list; }variable-list; //结构体关键字:struct //结构体的标签:tag //结构体的类型:struct tag //结构的成员列表:member_list //结构体变量列表原创 2021-09-01 23:51:15 · 1398 阅读 · 35 评论 -
【C语言进阶】自定义类型(2)枚举&联合
枚举 枚举顾名思义就是:列举 把可能的取值一一列举。 枚举类型的定义 枚举的优点 枚举的使用 联合(共用体) 联合类型的定义 联合的特点 联合大小的计算原创 2021-09-02 23:17:01 · 1025 阅读 · 44 评论
分享