- 博客(64)
- 收藏
- 关注
原创 进程与程序
通常在linux下可执行文件是ELF,linux可执行文件下没有固定后缀。注意:init属于整个系统中最顶层的进行(没有父进程),其余进程都有父进程。查看可执行文件a.out的头部信息:readelf -h a.out。动态查看系统中当前进程(需要安装插件):htop。2、可重定位文件:.o .a(静态库)3、共享目标文件:.so(动态链接库)动态查看系统中当前进程:top -H。1、程序通常是一个静态的可执行文件。查看系统中当前进程:ps -ef。2、进程是程序运行的动态体现。
2024-09-12 19:13:48
288
原创 面试练习题
5)定义p为指向(含有n个整形元素的一维数组)的指针变量;int(p)[n];4)定义一维指针数组p,它有n个指向整形变量的指针元素;8)p为指向函数的指针变量,该函数返回一个整形值;int(*p)();7)p为返回一个指针的函数,该指针指向整形数据;3)定义整形一维数组p,它有n 个整形元素;9)p是一个指向整形指针变量的指针变量;2)p为指向整形变量的指针变量;6)p为返回整形函数值的函数;1)定义整形变量i;
2024-08-17 21:19:34
142
原创 文件的操作
函数原型:函数名,函数参数列表,函数返回类型 FILE *fopen(const *path,const char *mode)函数原型:int fclose(FILE *fp);成功:返回文件指针File *(缓冲区首地址)返回值:成功-返回0;1、打开文件,让系统为文件创建文件缓冲区。mode:文件打开的方式(读、写、读写)函数功能:打开文件,并为文件创建缓冲区。文件关闭,文件使用完毕,一定要记得释放。函数参数:fp--已经打开的文件指针。函数功能:关闭文件,释放缓冲区。path:目标文件的路径。
2024-08-17 12:45:33
195
原创 文件的概述
c语言程序对文件的操作采用 “文件缓冲机制” ,就是说在程序中对文件的数据读写并不是直接操作文件中的数据,而是系统会为文件在内存中创建 “文件缓冲区” ,程序对文件的操作其实是在缓冲区进行的。3、 数据的读取和写入可被视为针对文件进行输入和输出的操作,此时数据就像水流一样,从外存储器流向内存,或从内存流向外存储器,所以系统形象的称文件操作为文件流。2、c语言程序中:文件指针(文件类型指针),语法:FILE *指针变量名。文件时保存在外存储器上(一般代指磁盘,也可以是u盘、移动磁盘)的数据的集合。
2024-08-17 12:43:35
461
原创 函数的概述
有参函数:函数调用时,需要传参,需要返回值(根据函数的定义类型返回)(1)可以定义无类型(void类型)函数,此函数只执行某种功能,无需返回值。2、组成:c语言程序是由一个main函数和至少0个其它函数组成。无参函数:函数调用时,无需传参,不用返回值。(2)如果省略函数的类型标识符,则默认时int型。1、概念:是实现一定功能的,独立的代码模块。(3)若形参列表中有多个形参,之间需要用 “隔开,即使类型相同,也要逐个说明。
2024-08-16 18:57:49
343
原创 函数的传参
值传递:一般发生在函数形参的类型为char、short、int、long、float、double这样的类型,它的传 递,一般是实参将自己的值复制一份给形参,也就是实参变量和形参变量的变量空间是分开的。此 时形参无法改变实参的数据。引用传递:一般发生在函数形参的类型为数组、指针这样的类型,它的传递,一般是实参将自己的 内存首地址复制一份给形参,也就是实参变量和形参变量对应内存空间是同一个。此时形参可以改 变实参的数据。
2024-08-15 19:37:39
285
原创 指针,函数,数组的应用
1、通过函数,用指针变量做形参接收一维数组。2、通过函数,用指针数组做形参接收二维数组。1、通过函数,用数组做形参接收一维数组。2、通过函数,用数组做形参接收二维数组。
2024-08-15 19:24:53
419
原创 指针的概述
内存地址:系统为了内存管理的方便,将内存划分为一个个的内存单元(1个内存单元占1个字 节),并为每一个内存单元进行了编号,内存单元的编号称为该内存单元的地址。一般情况下,我 们每一个变量都是由多个内存单元构成的,所以每个变量的内存地址,其实就是这个变量对应的第 一个内存单元的地址,也叫首地址。指向:指针变量中存放了谁的地址,就说明该指针变量指向了谁。指针变量:存放内存地址的变量。变量指针:就是变量的地址。
2024-08-15 17:55:18
275
原创 数组中不同元素的默认值
2、char类型定义的数组,默认值是0对应的字符。3、double类型定义的数组,默认值是0.0。4、float类型定义的数组,默认值是0.0。1、int类型定义的数组,初始化默认是0。
2024-08-01 12:53:24
575
原创 基本的输出格式字符
4、%E或%e:以指数形式输出一个实数,小数点前仅一位非0数字,并输出6位小数。3、%f:以小数形式输出一个实数,整数部分全部输出,并输出6为小数。1、%d:按十进制整形数据的实际长度输出。2、%c:仅输出一个字符。
2024-07-26 18:47:03
487
原创 数据类型的输出格式
4、%lu 或 %mlu 用于无符号长整型 unsigned long。3、%u 或 %mu 用于无符号基本类型 unsigned。2、%ld 或 %mld 用于长整形 long。2、%lo 或 %mlo 用于长整型 long。2、%lx 或 %mlx 用于长整型 long。1、%d 或 %md 用于基本整型 int。1、%o 或 %mo 用于基本整形 int。1、%x 或 %mx 用于基本整形 int。
2024-07-26 17:42:41
480
原创 用scanf函数输入数据
键盘输入字符型:scanf("%c",&b)键盘输入浮点型:scanf("%f",&c)键盘输入字符串:scanf("%s",&d)键盘输入整形:scanf("%d",&a)
2024-07-26 17:16:07
626
原创 为运算符的计算
2. 如果非要进行有符号的移位运算,那么左移的时候,空出来的补0,右移的时候,空出来的补符号 位1(原码阶段)1. 在进行移位运算的时候,凡是被移出去的位统统丢弃,凡是空出来的位统统补0。移位运算针对的 是无符号整数.语法:a | b(有一个为1则是1)语法:a & b(只有同1为1)语法:操作数 << 移动位数。语法:操作数 << 移动位数。4、^ (按位异或)5、<<(按位左移)6、<<(按位右移)
2024-07-25 19:22:15
410
原创 逗号运算符(,)
求值顺序:先求表达式1,再求表达式2,以此类推,整个逗号表达式的值为表达式n的值。语法:表达式1,表达式2,表达式3......表达式n。3、整个逗号表达式的值取决于末尾表达式的值。1、逗号表达式的优先级最低。2、运算顺序从左往右。
2024-07-25 17:06:14
235
原创 三目运算符
如果表达式1的值为1,则整个条件运算表达式的值为表达式2的值。如果表达式1的值为0,则整个条件运算表达式的值为表达式3的值。表达式2:表达式3......
2024-07-25 16:57:04
149
原创 C语言程序的设计结构
直到型循环(do while语句):先执行,后判断,语句至少执行一次。当型循环(while语句):先判断,后执行,语句可能一次也不执行。又被称之为分支结构,根据条件是否成立,选择对应的操作。重复执行此循环,直到循环结束。
2024-07-25 16:39:59
369
原创 C语言中的运算符
| :逻辑或(或),符号两边的操作数只有有一个为真,结果就为真。举例: ((5>4)||(5- 4)>1) ,结果 1。&& :逻辑与(且),符号两边的操作数都为真,结果才为真。举例: ((5>4)&&(5-4)>1) ,结果 0。由关系运算符构成的表达式称为关系表达式,关系表达式的值为boolean(布尔值):逻辑反(取反),取反,非0为真,举例:!(5>4)) ,结果 1。说明: ++ -- +(正) -(负) *(解引用运算符,后面讲)说明: &&(与) ||(或)!非0 :关系成立,为真。
2024-07-24 20:36:26
344
原创 数据类型的转换
注意:强制类型转换过程中,可能会出现精度丢失的问题。如果大类型数据范围 小类型数据范围,此时丢失超出部分的 数据,精度会缺失!规则:不同的数据类型参与运算,需要转换位同一类型后运算。
2024-07-24 19:54:27
320
原创 有符号数和无符号数
有符号数是来表示正数、负数、0的整数类型。在内存中,有符号数使用最高位(通常是符号位) 来表示正负。如果最高位为0,表示这个数是正数或0,如果最高位为1,表示这个数是负数。其余 位用于表示数值本身。在C语言中,整数是可以带符号的(有符号,signed)或不带符号的(无符号,unsigned)。在内存中,无符号数不使用符号位,所有位都用于表示 数值。因为,无符号数的范围比有符号数的范围更大。注意:有符号位是默认的,在C语言中,基本整数类型如int,short,long默认为有符号数,除非明确 指定为无符号。
2024-07-23 20:04:09
1702
原创 字符常量和符号常量
使用#define定义的宏(名字用大写,一般用于全篇中多次出现的)用单引号' '引起来的单个字符叫做字符常量。'\0':不占位,0对应的ASCII值为0。解释:定义了一个Π为PI的标识符,赋值为3。一、字符常量(数字和字符)
2024-07-23 19:47:40
282
原创 常见的数值常量
4、十六制进制常量(以0x开头,由0~9、A~F共16个字符构成,一般用于嵌入式开发)1、二进制常量(以0b开头,由0、1两个数字构成)2、八进制常量(以0开头,由0~7八个数字构成)3、十进制常量(默认。由0~9十个数字构成)1、单精度:常常给单精度的数字后加F作为标记。2、双精度:默认就是双精度。
2024-07-23 19:32:53
385
原创 命名的规范
举例:getAge() | userId,Java或者C++ 推荐这种写法 // 下面哪些命名是合理的,哪些命名是不合理的 aaa(),get_name(),set_name(),total(),123()3. 结构体名,共用体 --- 大驼峰命名法 大驼峰命名法:要求每个单词的首字母都大写,举例:GetName,Student,Person...下划线命名法:如果只有一个单词,全部小写,如果超过两个单词,单词与单词之间使用"_"进 行分隔,2. 变量名,函数名 --- 小驼峰命名或者下划线命名。
2024-07-22 20:02:42
304
原创 标识符的定义
注意事项 :不能以数字开头 不能是关键字(如:int,double,main,include,stdio,if,for..)比如说变量名,函数名,数组名,结构体名字等等。组成: 数字,英文字母大小写,下划线 _ ,$
2024-07-22 19:59:22
154
原创 C语言开发过程
C语言的编译四步骤:①预处理-->②编译-->③汇编-->链接④。C语言的开发分为三步:①编辑-->②编译-->③运行。3. 由编译器对源文件进行编译,生成可执行程序。2. 在源文件中由程序员编写C语言程序代码。4. 机器运行可执行程序,确认功能的正确性。1. 创建一个C语言源程序文件(.c)
2024-07-22 19:57:37
228
原创 C语言版本
C99:1999年,C语言标准经过了一次修正和完善后,ISO发布了新版的C语言标准,简称” C99”。C18:最新的C语言标准为 2018年6月份发布的 “C18。C90:不过人们习惯性的称为 “ANSI C”1990年ISO(国际标准化组织一字不改的采纳了 C89,官方给出的 名称为 ISO C90)为了C语言健康发展下去,很多有识之士及美国国家标准协会(ANSI)于1982年成立了一个委员会以 确定C语言的标准。C89:1989 ANSI 发布了第一个完整的C语言标准,即C89。
2024-07-22 19:53:37
207
原创 计算机硬件
4、内存储器:临时存放待处理的数据及运行的程序代码,访问速度快,数据是临时存放,相对来说, 容量较小,举例:内存条。3、外存储器:永久存放数据,容量大,但访问速率慢,举例:磁盘。1、输入设备:输入数据给计算机处理,举例如:键盘,鼠标。2、输出设备:结果数据展示 ,举例如:显示器,打印机。控制器:管理和协调计算机的其它部件。运算器:进行算术运算和逻辑判断。
2024-07-22 19:51:56
138
原创 虚拟机网络模式
和windows的网段不一样,是由虚拟网卡分配网段和IP,并且能够与windows系统一样可以连接到 互联网。和windows共享一个网段,并且能够与windows系统一样可以连接到互联网。坏处:占用路由器的IP,如果路由器的载荷过大,网络会掉线。和windows的网段不一样,不能连接网络。说明:虚拟机类似于一台电脑连接到了路由器。好处:不占用路由器的IP。好处:网络稍微会快一点。缺点:网络稍微会慢一点。缺点:不能访问互联网。
2024-07-19 11:54:29
266
原创 以下几个位置不允许创建文件和文件夹
home 这里管理家目录,也就是存放用户对应的目录,如果开发写的权限,会危害到用户数据。/mnt/hgfs 这个是挂载目录,以后所有的共享和外设都是挂载在这里。/ 整个Linux的核心目录,如果开放写的权限,会危害到系统本身。
2024-07-19 11:52:43
554
原创 vim常用命令(二)
字符查找 /string :从光标所在处向后寻找“string”字符串,按n可往下继续找,按N可往上查找。string :从光标所在处向前寻找“string”字符串,可按N向下继续找,按n向上查找。1、撤销 u :撤销上一步操作。:%s /old/new :将全文每一行第一个匹配项old 替换成new。:n1,n2s /old/new/g :在n1~n2行间替换old为new。ctrl+g :显示文件名,当前的行号,文件的总行数和文件位置的百分比。:%s /old/new/g :全文替换old为new。
2024-07-19 11:30:32
109
原创 vim常用命令(一)
nx :删除当前光标所在处以及后面共n个字符。例: 6x 删除从当前光标开始6个字符。:n1,n2d :删除n1到n2行,例: 1,12d 表示删除自行1至12行。3、删除 列(字符)删除 x :删除当前光标所在处一个字符。:n :移动到第n行,例: :6 移动光标到第6行。dG :删除当前光标所在行至文件末尾。X :删除当前光标的左边一个字符。ndd :删除当前光标所在后面n行。$ :移动光标到当前行的行尾。0 :移动光标到当前行的行首。D :删除当前光标至行尾。dd :删除当前光标所在行。
2024-07-19 11:22:22
566
原创 *.tar.gz :和 *.tgz 用 tar -xvzf 解压
解压(先删除原先的a.txt、b.txt文件,以验证后面的a.txt、b.txt是解压出来的)
2024-07-18 13:58:03
252
原创 Linux中使用zip解压缩
语法: zip [选项] 压缩后的文件名 文件名/目录。-r :递归压缩,用于对文件夹的操作。说明:文件的后缀名是.zip。
2024-07-18 11:49:36
145
原创 Linux中打包和解包
z :打包时压缩/解包同时解压缩,所以操作的文件扩展名为 .gz (gz说明是用的gzip)语法:tar [选项] 打包后的新文件名 文件1 文件2 文件3 ......eg:将a.txt b.txt c.txt 进行打包,新的压缩文件名为new.tar。-j :与-z类似,不过使用的是bzip2指令,扩展名为 .bz2。语法:tar -xvf 打包文件的名字。删除已有的文件,以确保解压后的文件存在。-f :用于指定打包文件的名称。eg:将new.tar进行解包。
2024-07-18 11:26:09
350
原创 Linux中用gzip解压缩
gzip -r l.txt 压缩 l.txt文件。gzip -dr l.txt.gz 解压l.txt.gz。语法: gzip [选项] 文件名/文件夹名。-r :可以将目录下的文件递归压缩。-l :显示已经压缩文件的压缩信息。1、压缩文件或文件夹。
2024-07-18 11:05:43
337
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅