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