自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C语言文件读写

文件类型:从编程角度我们把文件分为两大类,分别为文本文件,二进制文件二进制文件:存储的是数据的补码,无法用文件文本打开,好处是读取文件就可以使用文本文件:把数据以字符的形式存储到文件中,可以直接打开,检查是否正确,但读写都需要进行数据转换打开文件:FILE *fopen( const char *fname, const char *mode );功能:打开、创建文件path:文件的路径mode:打开方式 "r" 以只读权限打开文件,如果不存在则打开失败 "r+"

2021-08-19 18:37:37 341

原创 字符串常考知识点

手写字符串相关函数1、strlen2、strcpy3、strcat4、strcmp#include <stdio.h>#include <assert.h>//strlensize_t str_len(const char* str){ assert(NULL != str); const char* tmp = str; while(*tmp) tmp++; return tmp - str;}//strcpychar* str_cpy(char

2021-07-27 22:42:37 110

原创 c语言字符串

字符:在计算机中字符是以整数形式存储的,当需要显示时会根据ASCII码中对应关系显示吹相应的符号或图案'\0' 0'0' 48'A' 65'a' 97printf("%c",ch);串:是一种数据结构,由一组连续的若干个相同类型的数据组成,末尾有一个结束标志对于这种数据结构的处理都是批量性的,从开头位置到结束标志为止。字符串:由字符组成的串型结构,结束标志是'\0'字符串字面值:1、“由双引号包含的若干个字符“,储存在代码段,以地址形式呈现con

2021-07-27 22:16:54 123

原创 c语言堆内存

为什么要使用堆内存:1、随着程序的复杂而数据变多2、其他的内存段申请和释放不受控制,堆内存的申请释放受控制如何使用堆内存:注意:C语言中没有控制堆内存的语句,只能使用C标准库中的函数#include <stdlib.h>void *malloc(size_t size); 功能:从堆内存中申请size个字节的内存返回值:成功时返回申请到的内存的首地址,失败返回NULL注意:通过malloc申请的堆内存中存储的是什么内容不确定内存清理函数: #include

2021-07-27 20:03:24 412

原创 指针知识点整理

指针什么是指针:指针是一种数据变量(例如int,char),使用它可以定义指针变量,这种变量用来存储内存地址,使用指针变量可以访问对应的内存,具体访问多少个字节由指针的类型所决定。什么情况下使用指针理论上我们使用指针可以访问任何位置的内存,但绝大部分内存我们是没有访问权限的,因此使用指针是容易产生错误(原因就是非法访问内存),所以我们要在合适的时候使用指针,例如以下情况1、函数之间共享局部变量 函数之间共享局部变量可以使用全局变量,但是全局变量容易造成命名冲突,还容易浪费内存,故在

2021-07-21 23:22:24 159

原创 c语言—进程

进程映像:程序:储存在磁盘中的可执行的文件(二进制文件、脚本文件)进程:在系统中运行的程序进程映像:进程的内存的分布情况text 代码段: 存储的是二进制的指令、常量数据,权限是只读的(可执行),如果强行修改会产生段错误data 数据段: 存储的是初始化过的全局变量、被初始化过的静态局部变量bss 静态数据段:存储的是未初始化过的全局变量、未初始化过的静态局部变量,程序运行前会清零heap 堆: 由程序员手动管理的,手动申请、释放的,使用比较麻烦,特点是:足够大,理论上无限大

2021-07-14 21:13:27 294

原创 c语言—函数

函数:函数声明: 会告诉编译器函数的格式,方便编译器检查调用时的格式是否正确 返回值类型 函数名(形参列表);隐式声明: 如果在调用时函数没有声明和定义,则编译器会猜测函数的格式 返回值默认为int类型,参数会根据实参猜测,要避免隐式声明函数定义: 返回值类型 函数名(形参列表) { 功能代码 } 注意:如果不需要返回值写void,不需要参数也写void,防止产生歧义函数调用:函数

2021-07-14 20:51:16 89

原创 原码、反码、补码及位运算

原码、反码、补码:原码: 数据的二进制反码: 正数的原码就是它的反码 负数的反码是它的原码符号位不变,其它位按位求反补码: 数据在内存中是以补码形式存储的 正数的原码就是它的补码 负数的补码是它的反码+1 负数的补码: 1、数据转换为二进制 2、二进制符号位不变,其余按位求反得到反码 3、反码+1得到补码 -127 1111 1111 1000 0

2021-07-12 19:16:23 351

原创 c语言进制转换

进制转换:为什么使用二进制、八进制、十六进制? 由于现在的CPU只能识别高低两种电平,只能使用二进制数据进行计算 二进制虽然能够被计算机直接计算,但是不方便书写、记录,因此将数据以八进制方式为了 更方便记录在文件中随CPU位数不断增加,八进制不能满足需求,所以发展出了十六进制来表示数据。十进制转二进制:(十进制转其他进制):求余法: 用n对数据求余,然后再继续对商求余,知道商为0结束,过程中产生的余数就是该数据的n进制(逆序) n %2 余数 商%2

2021-07-12 19:08:43 269

原创 c语言知识点整理——数组

数组数组: 变量的组合,是一种批量定义变量的方式定义: 类型 数组名[数量]; int num1,num2,num3,num4,num5; int arr[5];使用:数组名[下标]; 下标:从零开始 范围:0~数量-1遍历:与for循环配合使用,使用循环变量i作为数组的下标初始化: 类型 数组名[数量] = {1,2,3,4,5,...}; 1、数组与普通变量一样默认值是随机的,为了安全要对数组进行初始化 2、这种初始化语法只能在定义语句时使用,

2021-07-11 23:02:35 456 2

原创 Linux系统常用命令

Linux系统常用命令Linux系统介绍:Linux系统命令:常用的命令:文件相关的命令:目录相关的命令:Linux使用小技巧:Linux系统介绍: BCPL->newB->C->UNIX->Minix->Linux->gcc Linux管理硬盘的能力非常强大,所以我们看到只有一分区/ 根目录,全部文件读存储在它下面bin 存储系统命令文件media 多媒体目录,u盘、光盘、挂载的目录home 用户主目录,自动生成同用户名的用户主目录

2021-07-10 16:58:06 70

原创 用c语言写汉诺塔游戏(递归函数)

学习日志:用c语言写汉诺塔游戏(递归函数)1、游戏规则有 A,B,C三个柱子,A柱子上有n个圆盘,将A上的圆盘转移到C上。 限制条件:每个柱子上的圆盘都需从大到小排放(即大的圆盘必须在下面)思路:1、将A柱子上的n-1个圆盘全部(通过C柱子)移动到B柱子上(不用思考具体怎么移动)。2、将A中最后一块圆盘移动到C柱子上。3、将B柱子上的n-1个圆盘(通过A柱子)移动到C柱子上#include<stdio.h>void move(int n,char a,char b,char c

2021-05-19 14:00:35 289 1

原创 迷宫小游戏

迷宫小游戏#include <stdio.h>#include <stdlib.h>//清理屏幕#include <getch.h>// 获取方向健int main(){ int arr[10][10]={ {1,1,1,1,1,1,1,1,1,1}, {1,2,1,1,1,1,1,1,1,1}, {1,0,1,1,1,1,1,0,0,0}, {1,0,1,1,1,1,1,0,1,1}, {1,0,1,0,

2020-12-19 12:39:57 320 1

空空如也

空空如也

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

TA关注的人

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