自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Linux 操作二:文件映射与文件状态

​是一种内存映射文件的方法,即将一个文件或者其它对象映射到进程的地址空间,实现文件磁盘地址和进程虚拟地址空间中一段虚拟地址的一一对映关系。实现这样的映射关系后,进程就可以采用指针的方式读写操作这一段内存,而系统会自动回写数据到对应的文件磁盘上,即完成了对文件的操作而不必再调用read,write等系统调用函数。

2025-01-18 17:21:08 902

原创 Linux 操作一:系统调用:文件读写

​简单的说,文件就是存储在硬件磁盘上的数据集合。

2025-01-18 16:15:37 662

原创 C语言基础十七:预处理及头文件卫士

不带参数的宏定义语法# define 宏名 常量数据预处理:此时的预处理只做数据替换,不做类型检查注意:定义的宏是不会占用内存空间,还没有进入到编译环境,在编译前已经将宏名替换成了常量数据宏展开:宏展开:在预编译时将宏名替换成字符串的过程称为"宏展开"。这里的常量数据其实就是一个不带双引号的字符串。int main()printf("请输入圆的半径:\n");//计算周长l=2.0*PI*r;s=PI*r*r;return 0;带参宏定义// 定义宏。

2024-12-25 09:11:48 685

原创 C语言基础十六:枚举、c语言中文件的读写操作

什么是文件?文件是保存在外存储器(一般代指磁盘,U盘,移动硬盘等)的数据的集合。文件操作体现在哪几个方面1.文件内容的读取2.文件内容的写入数据的读取和写入可被视为针对文件进行输入(input)和输出(output)操作,此时数据像水流一样从外存储器流向内存,或者从内存流向外存储器,所以系统形象的成文件操作为文件流。C语言程序对文件的操作采用“文件缓冲机制"。

2024-12-24 09:45:19 867

原创 C语言基础十五:构造类型-结构体与联合体

定义:自定义数据类型的一种,关键字stuc,结构体类型的变量可以存储多个不同数据类型的数据。struct 结构体名数据类型1 成名名称1;// 结构体中的变量叫做成员数据数据类型2 成员名称2;

2024-12-24 09:16:14 927

原创 C语言基础十四:空指针、野指针、空悬指针及内存操作

(NULL是空常量,它的值是0,这个NULL一般存放在内存0x00000000的位置,这个地址只能存NULL,不能被其他程序修改)很多情况下,我们不可避免的会遇到野指针,比如刚定义的指针无法立即为其分配一块恰当的内存,又或者指针指向的内存已经被释放了等等。定义:指向一块未知区域(已经销毁或者访问受限的内存区域外的已存在或不存在的内存区域)的指针,被称作野指针。是一个指针类型,但该指针的数据类型不明确,无法通过解引用获取内存中的数据,因为 void。如果不一致,内存比较的结果就不确定了。

2024-12-23 09:07:12 1471

原创 C语言基础十三:常量指针、指针常量与动态内存的分配

3.如果原来的内存空问后不够20个连续内存空问,就重新找一个内存地址开始,中请20个内存单元。并将原来的数据拷贝到新的内存中,回收旧的内存单元,并返回新的内存首地址。定义:main函数有多种定义格式,main函数也是函数,函数相关的结论对main函数也有效(也可以定义main的函数指针)。2.如果原来的内存空间后有20个连续空间,就扩容20-4=16个内存单元,返回原来旧的内存首地址。2.如果原来的内存空间后有20个连续空间,就扩容20-4=16个内存单元,返回原来旧的内存首地址。

2024-12-23 08:59:17 617

原创 C语言基础十二:字符数组与字符指针

在C语言中,表示一个字符串有以下两种形式1.用字符数组存放一个字符串2.用字符指针指向一个字符串。

2024-12-19 08:40:04 1083

原创 C语言基础十一:指针变量与数组;数组指针及指针数组

我们之前所学的是指向数组元素的指针,本质上还是指针变量;现在我们学的是指向数组的指针,叫作数组指针。其中a是数组名,p是指向数组元素的指针变量,其初值:p=a;概念:指针数组是一个数组,数组中的每一个元素都是指针。概念:数组指针是指向数组的指针,本质上还是指针。需求:用指向元素的指针变量输出二维数组元素的值。//定义指针数组,指针数组用来存放指针的。2.实参用数组名,形参用指针变量。4.实参为指针变量,形参为数组名。1.形参和实参都是数组名。3.实参形参都用指针变量。通过指针引用多维数组。

2024-12-19 08:38:30 894

原创 C语言基础十:初识指针:指针变量及运算

内存地址:系统为了内存管理的方便,将内存划分为一个个的内存单元(通常是1个字节),并为每一个内存单元进行编号。内存单元的编号称之为该内单元的地址。一般情况下,我们每一个变量都是由多个内存单元构成的。所以每个变量的内存地址,其实就是这个变量对应的第一个内存单元的地址,也叫基地址/首地址。数据类型 * 变量列表;int a;//普通变量,拥有真实的存储空间int *a,*b;//指针变量,无法存储数据,只能存储其他变量的地址注意:1.虽然定义指针变量*a,是在变量名前加上。

2024-12-17 08:26:57 902

原创 C语言基础九:函数、实参形参

返回类型] 函数名([形参类型])//函数首部|函数头函数体语句;(函数体) //函数体,整个{}包裹的内容都属于函数体函数首部:返回类型:函数返回值的类型函数名:函数的名称,遵循标识符命名(使用英文字母、数字、_,不能以数字开头,建议小写+下划线命名法)形参列表:用于接收主调函数传递的数据,如果有多个参数,使用分隔,且每一个形参都需要指定类型。若省略类型标识符,默认返回int注意:函数类型标识符,就是返回值的类型,两个类型可以不同,但必须能够进行转换。

2024-12-17 08:20:10 1164

原创 C语言基础八:二维数组及字符数组的操作函数

元素类型为char字符型的数组,字符数组往往是用来存储字符串数据的。需要注意的一点是,c语言的字符是字节字符。字节字符:也就是1个字符占一个字节//正确,ASCII码//错误,这是字符串的写法char e = '一';//错误,中文一个字符超过一个字节语法char 数组名(容量);char 数组名[行容量][列容量];字符数组的语法就是我们前面所学的一维数组和二维数组的语法,只不过数据类型是char而已。

2024-12-16 08:42:05 1260

原创 C语言基础七:一维数组与冒泡排序

数组是相同类型,有序数据的集合。

2024-12-16 08:35:24 1317

原创 C语言基础六:循环结构及面试上机题

for语句使用语法规则上,降低/避免因为忘记循环条件更新操作;而引起的产生无限循环的几率。应用场合:for语句往往应用于次数事先可以确定的场景。

2024-12-10 15:41:50 950

原创 C语言基础五:分支结构及训练题

条件判断的结果是逻辑值(布尔型值,也就是说分支语句的条件可以使用关系表达式和逻辑表达式),在程序中用真(1)和假(0)表示。​ ②若表达式的值与某个常量表达式的值相等时,执行此case后面的语句;​ ①switch后括号内的表达式可以是任何类型的表达式,但是表达式的值必须为整数值(整型,字符型,枚举)​ ⑤case后面的语句中如果没有break语句,则执行完此case后的语句会接着执行下面的case;在C语言中,用1(非0)表示关系表达的值为真(条件成立),0表示关系表达式的值为假(条件)

2024-12-10 09:07:54 1253

原创 C语言基础四:输入输出

反之,一个字符也可以输出成一个整数。%g或%G形式:根据数值大小,自动选择%f或%e中宽度较短的一种格式,不输出无意义的0在输出实型数据时,格式说明符中的m表示整个数据所占的列宽,n表示小数点后面所占的位数。若输入语句 scanf(“a=%d,b=%d,c=%fd=%f”,&a,&b,&c,&d);若输入语句 scanf(“a=%d,b=%d,c=%fd=%f”,&a,&b,&c,&d);1.格式说明:由”%“和特定的字符组成,如:%d,%c,%f等,这是格式说明符,用于说明输出项目所采用的格式。

2024-12-09 08:44:23 1274

原创 C语言基础三:运算符及流程控制概念

广义的说,为解决一个问题而采取的方法和有限的步骤,就称为“算法”。

2024-12-09 08:41:14 699

原创 C语言基础二:常量与变量

用编译预处理命令#define(宏定义)# define 标识符 字符串标识符和字符串之间用空格隔开句末不用分号表示符的命名采用大写,如果有多个单词,使用下划线分隔,举例:MAX_VAL,MIN_VAL,AVG#define PI3.14#define R5int main()int a =PI*R*R,//预处理后:int a=3.14*5*5案例:在程序中使用符号常量。30/*给变量赋值*//*定义整型变量*/num = 10;

2024-12-08 21:24:14 1073

原创 C语言基础一:概述

数据类型其实是固定大小内存的别名,并且描述了一个变量存放什么类型的数据。简单来说,就是组织和操作数据。数据:计算机要处理的数据(数字、字符串、文字、符号、图片、音频、视频等)。数据类型不仅帮我们组织和操作数据,还决定了程序如何有效的利用内存。了解数据类型的内存需求是理解计算机管理和操作数据的关键。小贴士简单来说,程序的运行需要用到内存。

2024-12-08 20:36:09 807

原创 Linux操作系统5:Linux系统网络、进程、磁盘指令

Linux中的根目录以外的文件想要被访问,就需要将其关联Linux系统中的某个目录来实现,我们将这种关联操作称之为“挂载”,Linux专门提供了一个用于挂载的目录,叫做“mnt”。解除此关联关系的过程被称之为“卸载”。

2024-11-26 08:46:35 844

原创 Linux操作系统4:文件的压缩、解压及VIM编辑器的使用

本质上Linux自带的编译器是Vi编辑器,名字为Visual, 它是一个全屏幕文本编辑器(程序)。在Linux系统中Vi是最常用的编辑陈旭,它的文本编辑功能十分强大,但使用起来比较复杂。Vim是Vi的增强版,所以Vi的功能Vim都有,而且Vim新增了许多Vi没有的功能,它比V更容易使用。这个工具不是Linux内置,需要额外安装。

2024-11-26 08:28:37 1147

原创 Linux操作系统3:用户,用户组,权限

1.计算机通过用户名和密码识别用户;2.Linux中新建用户后,需要设置密码;3.系统中有一个特殊的用户root;4.用户组:把几个用户归在一起,这样的组被称之为用户组,规定文件所属用户组的权限可以使该组所有成员拥有这些权限。

2024-11-25 21:01:54 1334

原创 设置Vim中tab字符数

4.保存并关闭文件。在Vim编辑器中,按ESC键,然后输入 :wq,最后按下回车键。3.在文件中添加以下内容来设置tab的缩进的长度,例如设置为4个空格。这将创建一个名为.vimrc的文件或打开现有文件。

2024-11-22 09:23:54 433

原创 Linux操作系统2:目录文件操作

1.cd~:切换到当前家目录下的用户目录下,比如:cd ~,就会切换到/home/st,等价于cd/home/st。find:查找文件或目录(递归查找),从硬盘查找,精确性高,性能低。grep:搜索文件内容,在文件中查找指定的字符序列(字符串)(管道):将前一个指令执行的结果作为后一个指令执行的条件((管道):将前一个指令执行的结果作为后一个指令执行的条件(注意:cd后不跟文件路径,应该跟文件夹(目录)路径。ls:显示指定路径(默认当前的路径)下的文件或目录。-a:显示所有(包含隐藏文件)文件或目录;

2024-11-21 14:54:47 1274

原创 Linux操作系统1:指令起步

Linux是一个操作系统,开源的,免费的,可裁剪的,是一个基于文件的操作系统,所有的一切都是针对文件进行。​ cd./xxx:进入当前路径下的xxx目录,等价于cd xxx。ls:查看,获取到的是缩略形式的文件或文件夹(只包含文件或文件夹的名称)==/lib:==存放系统和应用程序依赖的库文件,有系统库,也有第三方库。​ cd/mnt/hgfs:切换到/mnt/hgfs目录下。==/home:==家目录,存放当前系统下所有用户对应的目录。==/mnt:==用于系统文件系统的挂载目录。

2024-11-21 14:45:54 842

原创 GEC6818:颜色显示

2.Linux下一切皆文件,也就是LCD屏幕也是文件(所有的设备都会被内核映射成设备文件),在GEC6818开发平台上,工程师将LCD屏幕设备定义为 fb,LCD设备文件位于`/dev下,操作LCD屏幕时,只需操作该设备文件即可。1.RGB三原色每种颜色的取值范围0~255,共有256个不同的值,也就是每种颜色对应1个字节(8位),RGB共3个字节(24位)。24位:BMP图片的数据是由:基本信息域(54个字节)+数据域(像素点,由RGB构成),也就是3个字节。答:对前54个字节进行截切,lseek();

2024-11-19 11:43:48 1034

原创 Linux文件IO

在Linux中,内核将所有的硬件设备都映射成了文件(设备文件),因此对硬件设备的操作等同于对文件的操作。而文件io就是对文件的操作。也就是对文件里面的数据进行读取与写入操作。就以图形图像的显示来说,我们需要把图片文件里的数据,读取出来,再写入到开发板的“led屏幕对应的设备文件”。这样我们就能在屏幕上显示图片了。我们呢接触触摸屏之后,系统会将你触摸的数据自动写入到开发板里面的“触摸屏对应的设备文件"。我们是需要到这个文件去读取我们想要的数据,就可以获取到我们触摸的具体的位置(x和y坐标)里。

2024-11-19 11:34:54 1031

原创 C语言中的流程控制

③ 多分支语句中,程序的执行是依次从上往下进行判断,如果上面的条件成立,就不执行后续的条件判断;break:实现循环的跳出,只要执行了break,循环立刻结束。continue:时间循环的跳出,执行continue,只跳过当前循环。while:先执行(循环体),再判断,不管表达式满不满足,循环体至少执行一次。我们需要在循环中,语句块执行结束后,对变量赋值,否则会产生死循环。:先判断,再执行,如果条件表达式不满足,循环体不执行。对循环进行条件限制,如果表达式成立,就执行,否则跳出变量。

2024-11-10 13:36:58 756 1

原创 Linux操作基本命令:

删除文件夹:rm -r 文件夹 删除文件:rm + 需要删除的文件名字。拷贝文件夹:cp目标文件的位置拷贝所有.c文件;移动文件或文件夹:mv目标文件/文件夹 移动位置。重命名文件或文件夹:mv目标文件/文件夹 新名字。第三个7其他用户组权限:读(4)写(2)执行(1)创建和打开文件:如果文件不存在创建并打开,否则打开。退出编辑模式:键盘按键:esc;拷贝文件:cp 目标文件拷贝的位置(可以是路径)第二个7用户组权限:读(4)写(2)执行(1)第一个7用户权限:读(4)写(2)执行(1)

2024-11-10 09:08:02 244

循环结构及面试上机题目

循环结构及面试上机题目

2024-12-10

C语言基础五:分支结构及训练题

C语言基础五:分支结构及训练题

2024-12-10

空空如也

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

TA关注的人

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