自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 第五部分—STL_4. 常用算法

分为:算数类函数对象,关系运算类函数对象,逻辑运算类仿函数。这些仿函数所产生的对象,用法和一般函数完全相同,当然我们还可以产生无名的临时对象来履行函数功能。重载函数调用操作符的类,其对象常称为函数对象(function object),即它们是行为类似函数的对象,也叫仿函数(functor),其实就是重载“()”操作符,使得类对象可以像函数那样调用。返回值是bool类型的函数对象(仿函数)。2、函数对象超出普通函数的概念,函数对象可以有自己的状态。1.函数对象(仿函数)是一个类,不是一个函数。

2022-08-22 11:24:00 413 1

原创 第五部分—STL_3. 常用容器

C风格字符串(以空字符结尾的字符数组)太过复杂难于掌握,不适合大程序的开发,所以C++标准库定义了一种string类,定义在头文件string封装了char*,管理这个字符串,是一个char*型的容器。//把字符串s中从pos开始的n个字符连接到当前字符串结尾。//使用一个string对象初始化另一个string对象。//把字符串s的前n个字符连接到当前字符串结尾。//char*类型字符串 赋值给当前的字符串。//把字符串s的前n个字符赋给当前的字符串。//把字符串s连接到当前字符串结尾。

2022-08-19 23:26:37 325

原创 第五部分—STL_2. STL 三大组件

以有限的步骤,解决逻辑或数学上的问题,这一门学科我们叫做算法(Algorithms). 广义而言,我们所编写的每个程序都是一个算法,其中的每个函数也都是一个算法,毕竟它们都是用来解决或大或小的逻辑问题或数学问题。STL 收录的算法经过了数学上的效能分析与证明,是极具复用价值的,包括常用的排序,查找等等。常用的数据结构:数组(array)、链表(list)、tree(树)、栈(stack)、队列(queue)、集合(set)、映射表(map),根据数据在容器中的排列特性,这些数据分为。算法,问题之解法也。

2022-08-19 20:47:31 324

原创 第五部分—STL_1. STL概论

长久以来,软件界一直希望建立一种可重复利用的东西,以及一种得以制造出”可重复运用的东西”的方法,让程序员的心血不止于随时间的迁移,人事异动而烟消云散,从函数(functions),类别(classes),函数库(function libraries),类别库(class libraries)、各种组件,从模块化设计,到面向对象(object oriented ),为的就是复用性的提升。STL 几乎所有的代码都采用了模板类或者模板函数,这相比传统的由函数和类组成的库来说提供了更好的代码重用机会。

2022-08-19 20:00:01 179

原创 第四部分—C++核心编程_8. c++输入和输出流

程序的输入指的是从输入文件将数据传送给程序,程序的输出指的是从程序将数据传送给输出文件。C++输入输出包含以下三个方面的内容: 对系统指定的标准设备的输入和输出。即从键盘输入数据,输出到显示器屏幕。这种输入输出称为标准的输入输出,简称标准I/O。 以外存磁盘文件为对象进行输入和输出,即从磁盘文件输入数据,数据输出到磁盘文件。以外存文件为对象的输入输出称为文件的输入输出,简称文件I/O。 对内存中指定的空间进行输入和输出。通常指定一个字符数组作为存储空间(实际上可以利用该空间存储任何信息)。

2022-08-18 21:58:59 577

原创 第四部分—C++核心编程_7. C++异常

一种思想:在所有支持异常处理的编程语言中(例如java),要认识到的一个思想:在异常处理过程中,由问题检测代码可以抛出一个对象给问题处理代码,通过这个对象的类型和内容,实际上完成了两个部分的通信,通信的内容是“出现了什么错误”。而如果使用C语言的error宏或者函数返回值,调用者都有可能忘记检查,从而没有对错误进行处理,结果造成程序莫名其面的终止或出现错误的结果。c++异常处理使得异常的引发和异常的处理不必在一个函数中,这样底层的函数可以着重解决具体问题,而不必过多的考虑异常的处理。.........

2022-08-18 12:45:59 126

原创 第四部分—C++核心编程_6. C++类型转换

新类型的强制转换可以提供更好的控制强制转换过程,允许控制各种不同种类的强制转换。C++风格的强制转换其他的好处是,它们能更清晰的表明它们要干什么。转换是非常有用的,但是它也会带来一些问题,比如在转换指针时,我们很可能将其转换成一个比它更大的类型,但这可能会破坏其他的数据。使用C风格的强制转换可以把想要的任何东西转换成我们需要的类型。进行下行转换(把基类指针或引用转换成派生类表示)时,由于没有动态类型检查,所以是不安全的。标准c++提供了一个显示的转换的语法,来替代旧的C风格的类型转换。...

2022-08-17 12:13:50 92

原创 第四部分—C++核心编程_5. 模板

凡是函数体相同的函数都可以用这个模板代替,不必定义多个函数,只需在模板中定义一次即可。在调用函数时系统会根据实参的类型来取代模板中的虚拟类型,从而实现不同函数的功能。c++提供了函数模板(function template.)所谓函数模板,2.模板用于表达逻辑结构相同,但具体数据元素类型不同的数据对象的通用行为。1.模板把函数或类要处理的数据类型参数化,表现为参数的多态性,成为类属。如果函数模板可以产生一个更好的匹配,那么选择模板。函数模板可以像普通函数那样可以被重载。类属 - 类型参数化,又称参数模板。.

2022-08-15 16:57:33 131

原创 第四部分—C++核心编程_4. 类和对象

定义一个结构体用来表示一个对象所包含的属性,函数用来表示一个对象所具有的行为,这样我们就表示出来一个事物,在c语言中,行为和属性是分开的,也就是说吃饭这个属性不属于某类对象,而属于所有的共同的数据,所以不单单是PeopleEat可以调用Person数据,AnimalEat也可以调用Person数据,那么万一调用错误,将会导致问题发生。对象的初始化和清理也是两个非常重要的安全问题,一个对象或者变量没有初始时,对其使用后果是未知,同样的使用完一个变量,没有及时清理,也会造成一定的安全问题。...........

2022-08-08 12:00:31 273

原创 第四部分—C++核心编程_3. C++对C的扩展

为了避免,在大规模程序的设计中,以及在程序员使用各种各样的C++库时,这些标识符的命名发生冲突,标准C++引入关键字namespace(命名空间/名字空间/名称空间),可以更好地控制标识符的作用域。那时,尽管C委员会决定在C中引入const,但是,他们c中的const理解为”一个不能改变的普通变量”,也就是认为const应该是一个只读变量,既然是变量那么就会给const分配内存,并且在C中const是一个全局只读变量,C语言中const修饰的只读变量是外部连接的。const单词字面意思为常数,不变的。...

2022-08-04 23:07:23 156

原创 第四部分—C++核心编程_2. C++初识

而使用 OOP 技术,常常要使用许多代码模块,每个模块都只提供特定的功能,它们是彼此独立的,这样就增大了代码重用的几率,更加有利于软件的开发、维护和升级。由于C使用不同的扩展名来表示不同文件类型,因此用一些特殊的扩展名(如hpp或hxx)表示c++的头文件也是可以的,ANSI/IOS标准委员会也认为是可以的,但是关键问题是用哪个比较好,最后一致同意不适用任何扩展名。此标识符作为此组群的名字。把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。...

2022-08-04 20:47:58 108

原创 第四部分—C++核心编程_1. C++概述

因为在c语言方面大量投入的程序员使其完全丢掉c语言那种编程的思考方式,转而去接受一种新的语言,新的思维,那么将会导致这些程序员中大部分人在短时间内可能毫无成果,使其生产率降低。简而言之,强迫程序员放弃c语言和c语言的思考方式,而去转到OOP上是需要代价的,但是从c语言转到c++所花费的代价就会小很多。c++起初也叫”c with clsss”.通过名称表明,c++是对C的扩展,因此c++是c语言的超集,这意味着任何有效的c程序都是有效的c++程序。c++继承了c语言高效,简洁,快速和可移植的传统。...

2022-08-04 20:33:56 190

原创 第三部分—数据结构与算法基础_6. 时间复杂度和空间复杂度

一个算法执行所耗费的时间,从理论上说,是不能算出来的,只有你把你的程序放在机器上跑起来才能知道。一个算法所花费的时间与其中语句的执行次数成正比例,空间复杂度不是程序占用了多少bytes的空间,因为这个也没太大意义,所以空间复杂度算的是变量的个数。在计算机发展的早期,计算机的存储容量很小。即找到某条基本语句与问题规模N之间的数学表达式,就是算出了该算法的时间复杂度。实际中我们计算时间复杂度时,我们其实并不一定要计算精确的执行次数,而只需要。使用大O的渐进表示法以后,Func1的时间复杂度为。......

2022-07-30 21:43:36 104

原创 第三部分—数据结构与算法基础_5. 排序算法

在元素集合array[i]--array[n-1]中选择关键码最大(小)的数据元素,若它不是这组元素中的最后一个(第一个)元素,则将它与这组元素中的最后一个(第一个)元素交换在剩余的array[i]--array[n-2](array[i+1]--array[n-1])集合中,重复上述步骤,直到集合剩余1个元素。基本思想所谓交换,就是根据序列中两个记录键值的比较结果来对换这两个记录在序列中的位置,交换排序的特点是将键值较大的记录向序列的尾部移动,键值较小的记录向序列的前部移动。...

2022-07-30 20:09:06 233

原创 第三部分—数据结构与算法基础_4. 树和二叉树

性质5对完全二叉树,若从上至下、从左至右编号,则编号为i的结点,其左孩子编号必为2i,其右孩子编号必为2i+1;每个节点有三个指针域,其中两个分别指向子节点(左孩子,右孩子),还有一共指针指向该节点的父节点。它是树结构插入、删除、修改、查找和排序运算的前提,是二叉树一切运算的基础和核心。由一个或多个(n≥0)结点组成的有限集合T,有且仅有一个结点称为。上图中的结点数=13,树的度=3,树的深度=4。n(n≥0)个结点的有限集合,由一个根结点以及。注“先、中、后”的意思是指访问的结点D是先于。...

2022-07-30 16:33:05 151

原创 第三部分—数据结构与算法基础_3. 受限线性表

它的特殊之处在于限制了这个线性表的插入和删除的位置,它始终只在栈顶进行。这也就使得栈底是固定的,最先进栈的只能在栈底。定义中说是在线性表的表尾进行插入和删除操作,这里表尾是指栈顶,而不是栈底。栈的删除操作,叫做出栈,也有的叫做弾栈,退栈。如同弹夹中的子弹出夹(如下图所示)首先它是一个线性表,也就是说,栈元素具有线性关系,即前驱后继关系。栈的插入操作,叫做进栈,也成压栈。类似子弹入弹夹(如下图所示)它是一种特殊的线性表。............

2022-07-29 12:10:23 176

原创 第三部分—数据结构与算法基础_2. 线性表

本章讨论的动态数组、链表、栈、队列都属于线性结构。他们的共同之处,是节点中有且只有一个开始节点和终端节点。按这种关系,可以把它们的所有节点排列成一个线性序列。但是,他们分别属于几种不同的抽象数据类型实现,它们之间的区别,主要就是操作的不同。采用顺序存储是表示线性表最简单的方法,具体做法是将线性表中的元素一个接一个的存储在一块连续的存储区域中,这种顺序表示的线性表也成为顺序表。这节课我们主要探讨顺序存储结构以及对应的运算算法的实现。无需为线性表中的逻辑关系增加额外的空间。可以快速的获取表中合法位置的元素。..

2022-07-27 13:31:25 220

原创 第三部分—数据结构与算法基础_1. 数据结构理论

是把数据元素存放在任意的存储单元里,这组存储单元可以是连续的,也可以是不连续的。数据是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合。各个数据元素是平等的。算法是特定问题求解步骤的描述,在计算机中表现为指令的有限序列,算法是独立存在的一种解决问题的方法和思想。很显然,不论是从人类还是计算机的角度来看,下列的算法效率会高出很多,这就是一个好的算法会让你的程序更加的高效。数据结构只是静态的描述了数据元素之间的关系,高效的程序需要在数据结构的基础上设计和选择算法。..

2022-07-27 10:55:58 142

原创 第二部分—C语言提高篇_13. 递归函数

C通过运行时堆栈来支持递归函数的实现。递归函数就是直接或间接调用自身的函数。

2022-07-26 16:52:16 450

原创 第二部分—C语言提高篇_12. 动/精态库的封装和使用

库可以简单看成一组目标文件的集合,将这些目标文件经过压缩打包之后形成的一个文件。像在Windows这样的平台上,最常用的c语言库是由集成按开发环境所附带的运行库,这些库一般由编译厂商提供。库是已经写好的、成熟的、可复用的代码。每个程序都需要依赖很多底层库,不可能每个人的代码从零开始编写代码,因此库的存在具有非常重要的意义。在我们的开发的应用中经常有一些公共代码是需要反复使用的,就把这些代码编译为库文件。3.2将上文找到的头文件和库文件复制到新项目的目录中。1.创建一个新的项目,用来调用静态库。.......

2022-07-26 12:20:00 277

原创 第二部分—C语言提高篇_11. 预处理

这个过程并不对程序的源代码语法进行解析,但它会把源代码分割或处理成为特定的符号为下一步的编译做准备工作。在编译预处理时,将程序中在该语句以后出现的所有的num都用100代替。这种方法使用户能以一个简单的名字代替一个长的字符串,在预编译时将宏名替换成字符串的过程称为“在项目中,经常把一些短小而又频繁使用的函数写成宏函数,这是由于宏函数没有普通函数参数压栈、跳转、返回等的开销,可以调高程序的效率。C编译器,提供了几个特殊形式的预定义宏,在实际编程中可以直接使用,很方便。宏定义,只在宏定义的文件中起作用。....

2022-07-26 11:04:57 123

原创 第二部分—C语言提高篇_10. 函数指针和回调函数

通过函数类型定义的变量是不能够直接执行,因为没有函数体。只能通过类型定义一个函数指针指向某一个具体函数,才能调用。函数指针变量常见的用途之一是把指针作为参数传递到其他函数,指向函数的指针也可以作为参数,以实现函数地址的传递。这一点和数组一样,因此我们可以用一个指针变量来存放这个入口地址,然后通过该指针变量调用函数。一个函数在编译时被分配一个入口地址,这个地址就称为函数的指针,函数参数除了是普通变量,还可以是函数指针变量。C语言中的函数有自己特定的类型。通过什么来区分两个不同的函数?代表函数的入口地址。...

2022-07-25 22:19:43 77

原创 第二部分—C语言提高篇_9. 链表

1.带头链表固定一个节点作为头结点(数据域不保存有效数据),起一个标志位的作用,以后不管链表节点如果改变,此头结点固定不变。2.不带头链表头结点不固定,根据实际需要变换头结点(如在原来头结点前插入新节点,然后,新节点重新作为链表的头结点)。建立链表时无需预先知道数据总量的,可以随机的分配空间,可以高效的在链表中的任意位置实时插入或删除数据。大家思考一下,我们说链表是由一系列的节点组成,那么如何表示一个包含了数据域和指针域的节点呢?数据域用来存储数据,指针域用于建立与下一个结点的联系。...

2022-07-25 21:13:23 119

原创 第二部分—C语言提高篇_8. 文件操作

文件的关闭也意味着释放了该文件的缓冲区。将把流指针fp指向的文件中的一个字符读出,并赋给ch,当执行fgetc()函数时,若当时文件指针指到文件尾,即遇到文件结束标志EOF(其对应值为-1),该函数返回一个-1给ch,在程序中常用检查该函数返回值是否为-1来判断是否已读到文件尾,从而决定是否继续。它们并未做任何改变。是一个动态的概念,可以将一个字节形象地比喻成一滴水,字节在设备、文件和程序之间的传输就是流,类似于水在管道中的传输,可以看出,流是对输入输出源的一种抽象,也是对传输信息的一种抽象。...

2022-07-24 21:50:14 215

原创 第二部分—C语言提高篇_7. 结构体

如果一个结构体B里嵌套另一个结构体A,还是以最大成员类型的大小对齐,但是结构体A的起点为A内部最大成员的整数倍的地方。从理论上讲,对于任何变量的访问都可以从任何地址开始访问,但是事实上不是如此,实际上访问特定类型的变量只能在特定的地址访问,这就需要各个变量在空间上按一定的规则排列,而不是简单地顺序排列,这就是。相同的两个结构体变量可以相互赋值,把一个结构体变量的值拷贝给另一个结构体,这两个变量还是两个独立的变量。指定packing的数值,以字节为单位,缺省数值是8,合法的数值分别是1,2,4,8,16。..

2022-07-24 16:35:26 135

原创 第二部分—C语言提高篇_6. 多维数组

首先,我们说数组在表达式中是一个指向整型的指针,所以此表达式表示arr指针向后移动了3个元素的长度。arr就表示指向它的第1个元素的指针,所以arr是一个指向了包含了10个整型元素的数组的指针。一维数组名的值是一个指针常量,它的类型是“指向元素类型的指针”,它指向数组的第1个元素。多维数组也是同理,多维数组的数组名也是指向第一个元素,只不过第一个元素是一个数组。它的类型取决于数组元素的类型如果他们是int类型,那么数组名的类型就是“指向int的常量指针”;数组指针,它是指针,指向数组的指针。......

2022-07-24 12:04:40 89

原创 第二部分—C语言提高篇_5. 位运算

可以使用C对变量中的个别位进行操作。您可能对人们想这样做的原因感到奇怪。这种能力有时确实是必须的,或者至少是有用的。C提供位的逻辑运算符和移位运算符。在以下例子中,我们将使用二进制计数法写出值,以便您可以了解对位发生的操作。4个位运算符用于整型数据,包括char。将这些位运算符称为位运算的原因是它们对每位进行操作,而不影响左右两侧的位。请不要将这些运算符与常规的逻辑运算符(&&、||和!)相混淆,常规的位的逻辑运算符对整个值进行操作。......

2022-07-24 10:36:51 297

原创 第二部分—C语言提高篇_4. 二级指针

这里让我们花点时间来看一个例子,揭开这个即将开始的序幕。考虑下面这些声明它们如下图进行内存分配假定我们又有了第3个变量,名叫c,并用下面这条语句对它进行初始化c=&b;它在内存中的大概模样大致如下问题是c的类型是什么?显然它是一个指针,但它所指向的是什么?变量b是一个“指向整型的指针”,所以任何指向b的类型必须是指向“指向整型的指针”的指针,更通俗地说,是一个指针的指针。它合法吗?是的!指针变量和其他变量一样,占据内存中某个特定的位置,所以用&操作符取得它的地址是合法的。...

2022-07-23 23:15:41 82

原创 第二部分—C语言提高篇_3. 指针强化

任何指针变量刚被创建时不会自动成为NULL指针,它的缺省值是随机的,它会乱指一气。所以,指针变量在创建的同时应当被初始化,要么将指针设置为NULL,要么让它指向合法的内存。注意对一个int*类型指针解引用会产生一个整型值,类似地,对一个float*指针解引用会产生了一个float类型的值。指针变量一定要初始化为NULL,因为任何指针变量刚被创建时不会自动成为NULL指针,它的缺省值是随机的。通过一个指针访问它所指向的地址的过程叫做间接访问,或者叫解引用指针,这个用于执行间接访问的操作符是*。........

2022-07-22 22:17:54 135

原创 第二部分—C语言提高篇_2. 内存分区

realloc不会自动清理增加的内存,需要手动清理,如果指定的地址后面有连续的空间,那么就会在已有地址基础上增加内存,如果指定的地址后面没有空间,那么realloc会重新分配新的连续内存,把旧内存的值拷贝到新内存,同时释放旧内存。当我们给狗分配内存的时候,也就相当于给狗建造狗窝,给鸟分配内存的时候,也就是给鸟建造一个鸟窝,我们可以给他们各自建造一个别墅,但是会造成内存的浪费,不能很好的利用内存空间。由系统进行内存的管理。.........

2022-07-22 11:37:47 150

原创 第二部分—C语言提高篇_1. C语言概述

过去很多年中,许多人从c语言转而使用更强大的c++语言,但c有其自身的优势,仍然是一种重要的语言,而且它还是学习c++的必经之路。1995年,国际标准化组织(ISO)和国际电工委员会(IEC)再次发布了C89标准修订版,名叫ISO/IEC98991990/Amd11995-CIntegrity[7]标准被提出的许多年后,K&RC仍然是许多编译器的最准要求,许多老旧的编译器仍然运行K&RC的标准。1999年1月,国际标准化组织(ISO)和国际电工委员会(IEC)发布了C语言的新标准,名叫。...

2022-07-21 20:23:26 119

原创 第一部分—C语言基础篇_11. 综合项目-贪吃蛇

相信大家都知道贪吃蛇这款游戏,它是一款经典的手机游戏。通过控制蛇头方向吃食物,使得蛇变长,从而获得积分,既简单又耐玩。通过上下左右键控制蛇的方向,寻找吃的东西,每吃一口就能得到一定的积分,而且蛇的身子会越吃越长,身子越长玩的难度就越大,不能碰墙,不能咬到自己的身体,更不能咬自己的尾巴,等到了一定的分数,就能过关,然后继续玩下一关。在本游戏中,从键盘输入来获取移动方向和蛇的移动的关系。...

2022-07-21 19:18:02 931

原创 第一部分—C语言基础篇_10. 文件操作

10.1概述10.1.1磁盘文件和设备文件1.磁盘文件指一组相关数据的有序集合,通常存储在外部介质(如磁盘)上,使用时才调入内存。2.设备文件在操作系统中把每一个与主机相连的输入、输出设备看作是一个文件,把它们的输入、输出等同于对磁盘文件的读和写。...

2022-07-20 21:18:49 517

原创 第一部分—C语言基础篇_9. 复合类型(自定义类型)

有时我们需要将不同类型的数据组合成一个有机的整体,如一个学生有学号/姓名/性别/年龄/地址等属性。4.结构体类型指定了一个结构体类型,它相当于一个模型,但其中并无具体数据,系统对之也不分配实际内存单元。联合体变量中起作用的成员是最后一次存放的成员,在存入一个新的成员后原有的成员的值会被覆盖;数组描述一组具有相同类型数据的有序集合,用于处理大量相同类型的数据运算。5.结构体变量系统根据结构体类型(内部成员状况)为之分配空间。联合体变量的地址和它的各成员的地址都是同一地址。3)结构体数组名做函数参数。.....

2022-07-19 19:58:14 410

原创 第一部分—C语言基础篇_8. 内存管理

8.1作用域C语言变量的作用域分为代码块作用域(代码块是{}之间的一段代码)函数作用域文件作用域8.1.1。

2022-07-19 16:30:11 178

原创 第一部分—C语言基础篇_7. 指针

但是,野指针和有效指针变量保存的都是数值,为了标志此指针变量没有指向任何变量。,此指针指向的区域是未知(操作系统不允许操作此指针指向的内存区域)。//把a的值赋值给指针变量p,p为野指针,ok,不会有问题,但没有意义。//给指针变量p赋值,p为野指针,ok,不会有问题,但没有意义。赋值给此指针,这样就标志此指针为空指针,没有任何指针。//修饰*,指针指向内存区域不能修改,指针指向可以变。//修饰p1,指针指向不能变,指针指向的内存可以修改。指针是内存单元的编号,指针变量是存放地址的变量。..........

2022-07-17 11:46:39 131

原创 第一部分—C语言基础篇_6. 函数

6.1概述6.1.1函数分类C程序是由函数组成的,我们写的代码都是由主函数main()开始执行的。函数是C程序的基本模块,是用于完成特定任务的程序代码单元。从函数定义的角度看,函数可分为系统函数和用户定义函数两种系统函数,即库函数这是由编译系统提供的,用户不必自己定义这些函数,可以直接使用它们,如我们常用的打印函数printf()。用户定义函数用以解决用户的专门需要。6.1.2函数的作用函数的使用可以省去重复代码的编写,降低代码重复率。......

2022-07-16 21:42:14 113

原创 第一部分—C语言基础篇_5. 数组和字符串

持续更新中。。。5.1概述在程序设计中,为了方便处理数据把具有相同类型的若干变量按有序形式组织起来——称为数组。数组就是在内存中连续的相同类型的变量空间。同一个数组所有的成员都是相同的数据类型,同时所有的成员在内存中的地址是连续的。数组属于构造数据类型一个数组可以分解为多个数组元素这些数组元素可以是基本数据类型或构造类型。inta[10];structStuboy[10];2.按数组元素类型的不同,数组可分为数值数组、字符数组、指针数组、结构数组等类别。......

2022-07-16 11:20:10 148

原创 第一部分—C语言基础篇_4. 程序流程结构

4.1概述、、。顺序结构程序按顺序执行,不发生跳转。选择结构依据是否满足条件,有选择的执行相应功能。循环结构依据条件是否满足,循环多次执行某段代码。4.2选择结构4.2.1。

2022-07-15 21:07:52 155

原创 第一部分—C语言基础篇_3. 运算符与表达式

C语言的比较运算中,“真”用数字“1”来表示,“假”用数字“0”来表示。如果a和b有一个为真,则结果为真,二者都为假时,结果为假。优先级简单了解即可,随着后面不断使用,自然会熟悉优先级。如果a和b都为真,则结果为真,否则为假。用于表达式的比较,并返回一个真值或假值。用于根据表达式的值返回真值或假值。(表达式)/函数名(形参表)用于将表达式的值赋给变量。3.1常用运算符分类。++变量名/变量名++--变量名/变量名--sizeof(表达式)整型表达式%整型表达式。表达式2表达式3。......

2022-07-15 16:24:33 120

空空如也

空空如也

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

TA关注的人

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