自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 数据结构笔记:单链表和双链表的设计与实现

说明: 双向链表是在单向链表的基础上,指针域增加了前驱指针(指向上一个节点的指针变量)优势: 由于双向链表既有前驱指针又有后继指针,所以对节点的插入和删除更加方便和快捷。原因是节点插入和删除时,往往受影响的是上一个节点,单向链表是需要查找上一个节点。

2025-02-27 09:22:36 123

原创 C语言:main函数

定义:main函数有多种定义格式,main函数也是函数,函数相关的结论对main函数也有效(也可以定义main函数的函数指针)。

2024-12-12 12:55:19 347

原创 C语言:指针(2)

定义:函数指针本质上是指针,它是函数的指针(定义了一个指针变量,变量中存储了函数的地址)。函数都有一个入口地址,所谓指向函数的指针,就是指向函数的入口函数。在函数中不要直接返回一个局部变量的地址。因为函数调用完毕后,局部变量会被回收,使得返回的地址就不明确,此时返回的指针就是野指针。定义:本质上是函数,这个函数的返回值类型是指针,这个函数称为指针函数。,可延长它的生命周期,避免野指针(尽量少用,因为存在内存泄漏)注意:字符数组和字符指针变量都能实现字符串的存储与运算。

2024-12-11 15:53:15 887

原创 C语言:指针

我们之前所学的是指向数组元素的指针,本质上还是指针变量;现在我们学的是指向数组的指针,叫做数组指针。使用指针变量指向数组元素时(上面第三种写法)。概念:指针数组是一个数组,数组中的每一个元素都是一个指针。需求:数组指针-输出二维数组任意一行任意一列的元素。概念:数组指针是指向数组的指针,本质上还是指针。需求:将数组a种n个整数按相反顺序存放。相当于arr[++i],先++p,再。相当于arr[–i],先–p,再*- 它指向的是一个完整的数组。相当于arr[i–],先。- 现有数组,后有指针。

2024-12-10 17:08:35 662

原创 C语言基础:指针

内存地址:系统为了管理的方便,将内存划分为一个个的内存单元(通常是1个字节),并为每一个内存单元进行编号。内存单元的编号称之为该内存单元地址。一般情况下,我们每一个变量都是由多个内存单元构成的,多以每个变量的内存地址,其实就是这个变量对应的第一个内存单元的地址,也叫基地址/首地址。变量指针变量地址称之为该变量的指针(本质是地址)。变量地址往往是指变量在内存中第一个内存单元的编号(首地址)int a;&a ---变量a的地址,也称为变量a的指针int arr[2];

2024-12-09 19:22:48 2331

原创 C语言:函数

我们在函数设计的过程中,经常需要考虑对于参数的设计,换句话说,我们需要考虑函数需要几个参数,需要什么类型的参数,但我们并没有考虑函数是否需要提供参数,如果说函数可以访问到已定义的数据,则就不需要提供函数参数,那么我们到底要不要提供函数参数,取决于什么?答案就是变量的作用域(如果函数在变量的作用域范围内,则函数可以直接访问数据,无需提供形参)关于递归:一般是倒着进(进的时候,由上限n到下限1),正着出(出的时候,由下限1到上限n)。概念:变量的作用范围,也就是说变量在什么范围有效。

2024-12-08 20:48:48 922

原创 C语言基础:函数

函数定义时指定的参数,形参是用来接收函数的,函数定义时,系统不会为形参申请内存,只有当函数调用时,系统才会为形参申请内存。用于存储实际参数,并且当函数返回时,系统会自动回收为形参申请的内存资源。(本质上所有函数都有return,只不过当我们的函数返回类型是void类型的时候,我们的return是作为隐式的),但如果我们对函数的调用操作出现在函数的定义之前,则需要对函数进行声明。返回值和返回值类型不一致时,转换的问题。函数调用时,往往要遵循。

2024-12-06 11:19:59 994

原创 C语言基础:函数的概述和定义

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

2024-12-05 17:34:34 312

原创 C语言基础:字符串拷贝、比较和获取字符串的长度

abc 1234 5678b a[],b[],c[],max[] if(strcmp(max,a) < 0)是空格,则表示新单词开始,让计数变量num++。否则,当前字符非空格,前面字符也非空格,则。① 可把str[0]、str[1]、str[2]看作3个一维字符数组,各有20个元素;② 用gets函数分别输入3个字符串到str[0]、str[1]、str[2]中;③ 用字符串函数对str[0]、str[1]、str[2]进行比较,得到最大者。输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。

2024-12-05 12:02:47 506

原创 C语言基础:字符串输出和拼接

字符串1(字符数组)

2024-12-05 10:28:16 204

原创 C语言基础:字符串的输入

在用格式说明符%s进行输入输出时,其输入输出项均为数组名,但在输入时,相邻两个字符串之间要用空格分隔,系统将自动在字符串最后加结束符"\0"。在输出时,遇到结束符’\0’作为输出结束标志。对于字符串的操作,我们需要使用到一些系统提供的函数。

2024-12-05 09:55:48 252

原创 C语言基础:字符数组和字符串

元素类型为char字符型的数组,字符数组往往是用来存储字符串数据的。需要注意的一点是,我们C语言中的字符是字节字符。3.如果提供的字符个数与数组长度相同是,可省略数组长度,系统会自动确定元素个数,设个字符个数较多时。字符数组的语法就是我们前面所学的一维数组和二维数组的语法,只不过数据类型是char而已。如果我们的char数组初始化的时候,没有完全赋完值的时候,空出来的地方使用\0进行填充。字节字符:也就是1个字符占1个字节,在C语言中,我们使用char表示字节。1. 如果定义时不初始化,元素值不确定;

2024-12-04 16:34:42 169

原创 C语言:数组:二维数组

二维数组可被视为一个特殊的一维数组,相当于二维数组又是一个一维数组,只不过他的元素是一维数组。(也就是说数组的元素也可以是数组类型)注意:在C语言中,二维数组在计算机的存储顺序是按行进行的,即第一维的下标变化慢,第二维的下标变化快。二维数组本质上是一个行列式的组合,也就是说二维数组是由行和列两部分组成,二维数组通过行列进行解读。主要应用于数据有行列要求的情况,比如说我们现在在读班级的学生的成绩。

2024-12-04 15:21:07 401

原创 C语言基础:一维数组

广义简单理解:数组容量待定或者待确定的数组,举例:int arr[]={1,2,3,4,5}容量:数组中能存储多少个元素,数组容量可以是常量、常量表达式、符号常量,但必须是整数。:柔性数组的概念在C99标准,针对结构体的最后一个成员可以是一个未指定大小的数组;说明:以上语法,既能实现数组中元素的取,也能够实现实数数组中的元素的存。原则:数组中的元素不能一次性访问所有元素,只能一个一个访问。在不知道数组类型的情况下,如何确定数组元素的个数。注意:数组元素的访问一定不能越界。类型:代表了数组中元素的类型。

2024-12-03 17:15:37 1518

原创 C语言基础:数组的概念

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

2024-12-03 14:40:04 132

原创 C语言基础:流程控制-break和continue

跳出多层循环不能直接使用break和continue实现的,因为它们只能跳出单层循环,跳出多层循环需要我们自己定义标志位,(标志位也可以配合break使用)1. 用在switch中,用来跳出switch的case语句;while、for),提前结束循环,也就是跳出整个循环。功能:continue语句不会结束整个循环,而是跳过本次循环尚未执行的语句,进入下一个循环。2. 在嵌套循环的情况下,continue语句只对包含它的最近的一层循环起作用。2. break只能终止并跳出最近一层的循环结构。

2024-12-02 16:11:47 163

原创 C语言基础:流程控制-循环嵌套-典型应用场景

3中循环(while、for、do…while)可以互相嵌套。在前一个循环结构的内部又存在一个完整的循环结构。3.极值(多应用于数组)

2024-12-02 15:18:10 362

原创 C语言基础:流程控制循环结构

代码的重复循环,就叫做循环。

2024-12-02 13:19:23 803

原创 C语言基础练习题

输入钱数,计算找零(找零时优先找回面额大的钞票),找零方式为各种面额张数,可识别面额:100,50,20,10,5,1。计算bmi的值, bmi = (体重(kg)/⾝⾼(m)的平⽅) 如果bmi ⼩于18.5,则显⽰“偏瘦,注意加强营。如下:基本电费部分:96千⽡时×0.538元/千⽡时=51.65元;⽉⽤电量低于50千⽡时部分,电价不调整,仍为0.538元/千⽡时;超过200千⽡时部分,电价为0.638元/千⽡时。输入站数,计算费用,计费规则,6站2元,7-10站3元,11站以上为4元。

2024-12-01 20:41:19 868

原创 C语言基础:流程控制分支语句(switch)

2. 若表达式的值与某个常量表达式的值相等时,执行此case后面的语句,若没有相等的值时,执行default后面的语句。1. switch后括号内的表达式可以是任何类型的表达式,但是表达式的值必须为。我们可以使用switch实现多分支选择结构(多分支也被称作多路分支)3. 每个case后面的常量表达式的值必须不相同,否则出现矛盾。4. 各个case和default出现的次序不影响执行结果。6. 多个case公用一组语句。

2024-11-29 16:31:21 420

原创 C语言基础:流程控制多分支

1. else总是与前面最近的未配对的if配对使用。3. 只要if中包含if都属于是if语句的嵌套。2. 可通过增加{}来确定配对关系。

2024-11-29 15:04:10 286

原创 C语言基础:流程控制双分支语句

结构可以实现双分支选择结构。即在语句1与语句2中又可以包含完整的if语句或者if…结构,并且这种嵌套可以多层(为了保证程序的执行效率,建议不超过4层)。若表达式的值为1,则执行语句1,否则执行语句2,不管条件表达式成不成立都要执行一个语句,其次需要注意的是,语句1和语句2都可以是复合语句。

2024-11-29 13:08:29 316

原创 C语言基础:流程控制单分支语句

【代码】C语言基础:流程控制单分支语句。

2024-11-29 13:07:37 246

原创 C语言基础:流程控制条件判断

我们在程序设计往往会遇到如下问题,比如下的的函数计算。也就是我们是必须要通过一个条件的结果来选择下一步的操作,算法上属于一个分支结构,C语言中实现分支结构主要使用if语句。

2024-11-29 10:02:36 407

原创 C语言基础:流程控制C语句和数据的输入输出

格式控制”:含义等同于与printf函数的格式控制,说明输入的数据应该使用的格式,但是格式控制中不能添加除格式化字符以外的字符。“地址列表”:是由若干个地址组成的,可以使变量的地址或者字符串的首地址。%e 也可以写作%E,以指数形式输出一个实数(含单双精度),小数点前1位非0数字,并输出6位小数。在C语言中,输入与输出时用标准库()函数中的输入(scanf())、输出函数(printf())实现。与格式输出一样,在格式控制中,用于说明输入数据格式的格式说明符总是以5开头,后面紧跟具体的格式。

2024-11-28 11:56:32 1074

原创 C语言基础:流程控制:程序的三种基本结构

执⾏S操作,然后判断条件P是否成⽴,如果成⽴,再执⾏S操作,然后再判断,……,如此反复,直到某⼀次P条件不成⽴不再执⾏S,结束循环。也就是在A框所指定的操作后,必然接着执行B框所指定的操作。特点:各操作是按先后顺序执行的,是最简单的一种结构,这个结构是默认的。特点:根据是否满足给定条件而从两组或者多组操作中选择一种进行执行。无论p条件是否成立,只能执行A操作或者B操作中的一个。分支结构又被承做"条件结构"或者“选择结构”分支结构又被分为:单分支、双分支、多分支。无论执行完哪一个分支后,就结束了。

2024-11-27 17:41:11 368

原创 C语言基础:流程控制:算法

广义的说,为解决一个问题而采取的方法和有限的步骤,就称为“算法”打开冰箱门→把大象装进去→关闭冰箱门。数据结构:对数据的描述。算法:对操作步骤的描述。

2024-11-27 17:13:25 166

原创 C语言基础:位运算

说明:单目运算符,数据的每一个bit位取反,也就是二进制数位上的0变1,1变0。运算规则:原操作数所有的二进制位数向左移动指定位;说明:按位(bit)来进行运算操作的运算符。1. 获取某二进制位的数据。2. 将指定二进制数据清零。1. 置位某二进制位数据。

2024-11-27 16:31:35 372

原创 C语言基础:运算符:逗号运算符

求解过程:按从左到右的顺序分别计算个表达式值,其中最后一个表达式n的值就是整个逗号表达式的值。作用:将若干个表达式“串联”起来,如:3+5,5+9;别称:顺序求值运算符。

2024-11-27 15:28:57 169

原创 C语言基础:运算符:逻辑运算符

非(逻辑非)单目运算,并且只能放在操作数的左侧;非真即为假,非假即为真。:与(逻辑与)双目运算符,当左右两侧的数据都为真时,最后的结果才为真(有假则为假):或(逻辑或)双目运算符,当左右两侧数据都为假时,最终结果才为假(有真则为真)对一个数或者表达式取非奇数次,结果与原值相反,!运算的结果要么是真(1)。,右侧的结果不会影响最终的结果,,右侧结果不会影响最终结果,,结果直接为假,这种现象称为。

2024-11-27 15:24:43 206

原创 C语言基础:关系运算符

关系运算符< > <= >= == !=所有的关系运算符都是二元运算符,左侧和右侧可以是变量,也可以是常量,还可以是表达式;举例:a>b、5>6、a+b>c关系运算符运算的结果是布尔类型,要么为真(非0,true),要么为假(0,false)说明:在标准C中没有布尔类型,非0代表真,0代表假while(0)循环一次都不执行while(1)死循环,无限循环真在输出的结果为1,假在输出的结果为0printf(“%d\n”,3<2);结果为

2024-11-27 15:05:09 319

原创 C语言基础:运算符:赋值运算符

作用:将右边表达式的值赋值给左边的变量。赋值表达式的值取左边变量的值。"="称之为赋值运算符,其作用是将一个数据赋值给一个变量。2. 赋值运算符的优先级属于最低(除了逗号运算符以外)一般最后运算。1. 在运算时,不能将蛋括号(=)双括号(==)左右两侧操作完以后,赋值给左侧变量。

2024-11-27 13:09:18 407

原创 C语言基础:运算符:算数运算符

若一个运算对象两侧的运算符的优先级相同,则按规定的结合方向处理。总结:不管是++i还是i++,i自身都增1,同理不管是–i还是i–,i自身都减1,他们的不同之处在于赋值的先后顺序。表示在使用该运算符对象之后,才让自身增1或减1,也就是先使用它,再让自身增1或者减1,:是指用算术运算符和括号将运算对象连接起来的,符合C语言语法规则的式子。1. 在增1与减1运算符只适用于整型变量或字符变量,而不能用于其他类型的变量。:加减乘除取余运算符(双目运算符)注意:进行除法运算的时候,除数不能为0。

2024-11-27 11:29:21 351

原创 C语言基础:运算符(上)

运算时,参加运算的两个数据如果,则首先将再运算,转换规则是:1.将优先极低的类型转换为优先级高的类型,被称作。注意:在混合运算的过程中,系统所进行的类型转换并不改变原数据类型,只是在运算过程中将其值变成同类型后再运算。说明:x仍然为float类型,可见强制类型转换并不改变变量的类型。

2024-11-26 17:38:37 413

原创 C语言基础:数据类型基本类型数据

我们定义一个整型的变量,C编译系统实际是在内存中分配了能够存储一个整型数据的存储空间,并用变量名来表示这个空间,对该空间的使用也就可以通过变量名来访问。整型变量的定义和使用。则十进制数10的二进制形式为1010,则内存中实际存放形式为:实际上,数据在内存中是以二进制的补码形式表示的。正数的补码和源码(该数的二进制形式)相同负数的补码是将该数绝对值的二进制形式,按位取反再加1(反码+1变补码)可见,在存放整数的存储单元中,一般情况下,最左边的一位用来表示符号位。

2024-11-26 16:12:20 1987

原创 C语言基础:变量

在程序执行过程中的值可以被改变的量,称之为量。基本类型:我们创建变量的同时在内存中开辟对应的内存空间。

2024-11-26 11:33:55 678

原创 C语言基础:常量

在C语言中,数据的基本变现形式是常量和变量。不管是常量还是变量,都需要在内存中开辟一块空间,用于数据的存放。

2024-11-25 17:42:18 749

原创 C语言基础:数据类型

数据类型其实是固定大小内存的别名,并且描述了一个变量存放什么类型的数据。简单来说就是。数据:计算机要处理的数据(数字、字符串、文字、符号、图片、音频、视频等)。小贴士:简单来讲,程序的运行需要用到内存。

2024-11-25 15:56:01 555

原创 C语言基础:C语言程序的开发过程、基本结构和编码规范要求

码中起到解释说明的文字(提高代码可读性),或者对代码进行屏蔽,不会被执行。比如格式输出函数:printf(),输出“Hello World!C程序的入口函数,一个C文件有且仅有一个主函数(main函数)功能:要求在控制台输出“Hello World!程序中包含的某一文件内容。一个简单的C语言程序。

2024-11-25 11:49:43 533

原创 C语言入门预备知识

硬件=电子设备+单片机编程(单片机,微控制器)+集成电路(原理图PCB)+嵌入式系统软件=系统软件(linux系统)+应用软件+编程语言(c/c++)+算法和数据结构。

2024-11-25 09:53:53 217

空空如也

空空如也

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

TA关注的人

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