ios系统学习(三)选择、循环结构
- 格式:pdf
- 大小:3.82 MB
- 文档页数:32
循环结构的格式及其执行和注意事项循环结构是一种重复执行一段代码块的结构。
它允许程序在满足一定条件下多次执行相同的代码。
在编程中,循环结构是非常常见和重要的一种控制结构。
掌握循环结构的正确使用和注意事项对于编写高效且可靠的程序至关重要。
一、循环结构的格式在大多数编程语言中,循环结构一般有两种形式:while循环和for循环。
1. while循环while循环是最常见的循环结构之一。
它的基本格式如下:```while (condition) {// 循环体}```在上述代码中,condition是一个条件表达式,当条件表达式为真时,循环体中的代码会一直执行。
循环体是一个代码块,可以包含任意多条语句。
当条件表达式为假时,循环结束。
2. for循环for循环是另一种常见的循环结构。
它的基本格式如下:```for (initialization; condition; increment/decrement) {// 循环体}```在上述代码中,initialization是一个初始化语句,用于初始化循环控制变量;condition是一个条件表达式,当条件表达式为真时,循环体中的代码会一直执行;increment/decrement是一个递增或递减语句,用于更新循环控制变量的值。
循环体是一个代码块,可以包含任意多条语句。
当条件表达式为假时,循环结束。
二、循环结构的执行和注意事项正确理解和使用循环结构是编写高效程序的关键之一。
以下是一些使用循环结构时需要注意的事项:1. 循环条件的设置在循环结构中,循环条件的设置直接决定了循环是否会执行和结束的时机。
因此,在编写循环时,需要仔细考虑循环条件的设置,确保循环能够按照预期的方式执行。
2. 循环控制变量的更新循环控制变量在循环体中通常需要进行更新,以满足循环条件的变化。
需要注意的是,循环控制变量的更新应该具有明确的逻辑,并且不会导致循环无法结束或者陷入死循环。
3. 循环体内部的逻辑循环体是循环结构中重复执行的代码块,其中的逻辑需要仔细设计和实现。
循环结构的基本要素什么是循环结构循环结构是一种控制结构,使程序可以重复执行某些代码块。
通过使用循环结构,可以减少代码的重复性,提高程序的效率。
在编程中,循环结构通常用于处理需要重复执行的任务,比如遍历数组、计算累加和等。
循环结构的基本要素循环结构通常由以下几个基本要素构成:1. 循环变量循环变量是循环结构中用于控制循环次数的变量。
它可以是任何数据类型,包括整数、浮点数、字符、字符串等。
循环变量的初始值、递增方式、终止条件等都会影响循环的执行次数和结果。
2. 循环条件循环条件是一个布尔表达式,用于判断循环是否继续执行。
循环条件通常与循环变量相关,只有当循环变量满足某个条件时,循环才会继续执行,否则循环会终止。
3. 循环体循环体是由一段代码块组成,用于执行重复的任务。
循环体中的代码会根据循环变量的变化,重复执行多次,直到循环条件不满足为止。
4. 循环控制语句循环控制语句用于控制循环的执行流程。
常见的循环控制语句包括break、continue和return等。
break语句用于在循环中提前终止循环,continue语句用于跳过当前循环的剩余代码,直接进入下一次循环的条件判断,return语句用于从函数中返回结果,同时也会终止当前的循环。
不同类型的循环结构在实际编程中,根据循环变量的初始值、递增方式和终止条件的不同,可以使用不同类型的循环结构。
常见的循环结构包括以下几种:1. for循环for循环是一种最常用的循环结构,适用于已知循环次数的情况。
for循环由三个部分组成:循环变量的初始值、循环条件和循环变量的递增方式。
在每次循环中,循环变量会自动递增/递减,直到循环条件不满足为止。
for循环变量in可迭代对象:循环体2. while循环while循环适用于不确定循环次数的情况,循环条件通常与用户的输入或计算结果相关。
在每次循环中,会判断循环条件是否满足,如果满足则执行循环体的代码,否则退出循环。
while循环条件:循环体3. do-while循环do-while循环是一种与while循环相似但不完全相同的循环结构,它先执行一次循环体的代码,然后再判断循环条件是否满足。
iOS培训之C语言课程——while语句
本节内容主要讲的是iOS开发中所要用到的C语言中的while语句,主要介绍的是while循环、do..while循环、for循环的区别和使用场景。
循环结构的介绍:
1、循环结构是程序设计中最能发挥计算机特长的程序结构
2、在给定的条件成立时,反复执行某程序段,一直到条件不成立为止
3、所给的条件称为循环条件,反复执行的程序段称为循环体
while语句:
1、计算1+2+3..+100的和
当i小于等于100时,sum累加,得出来的结果就是1+..100的和了。
2、100内所有是13倍数的数字之和
当i小于等于100时,又同时能被3整除的数累加起来就是结果了。
do..while语句(表达关系或者逻辑表达式):
for语句:
for循环是所有循环里用的最多的循环,也是最灵活的循环。
求解表达式1,表达式2,如果值为真,那么执行循环体语句,完后往下执行,计算表达式3的值,这样就结束了一次循环,再返回计算,开始新的一次循环,如果条件为假,那么结束循环,执行for后面的语句。
以上为整理出来的iOS培训C语言中的while循环、do..while循环、for循环的在不同环境下使用的不同场景,希望在日后的iOS开发、手机开开发中能够帮助到大家!。
1 介绍 (4)1.1 简介 (4)1.2 OC简介 (4)1.2.1 介绍 (4)1.2.2 OC特性 (5)1.2.3 OC语言的特点 (6)1.3 max OS 介绍(补充) (6)1.4 IOS的生态系统 (7)1.5 IOS架构 (8)1.5.1 Core OS (8)1.5.2 Core Services (9)1.5.3 Media (9)1.5.4 Cocoa Touch (9)1.6 IOS与mac OS (10)1.7 开发环境介绍 (10)2 MVC模式 (11)2.1 目的 (11)2.2 介绍 (11)2.3 模型(Model) (11)2.4 视图(View) (12)2.5 控制器(controller) (12)2.6 变更-传播机制 (13)3 类 (13)3.1 源代码文件扩展名对比 (13)3.2 类的定义 (14)3.3 实例变量和属性 (15)3.3.1 实例变量 (15)3.3.2 属性 (15)3.4 类的方法声明和消息发送 (17)3.4.1 方法声明 (17)3.4.2 方法定义 (18)3.4.3 方法调用 (18)3.4.4 带参方法 (18)3.4.5 补充(课件) (19)3.5 类的实现 (20)3.6 实例化对象 (21)4 OC的语法 (23)4.1 数据类型 (23)4.1.1 通用数据类型(与c语言通用) (23)4.1.2 特有数据类型 (23)4.1.3 Cocoa 类型 (24)4.2 变量和常量 (25)4.2.1 变量 (25)4.2.2 常量 (25)4.3 标识符 (25)4.3.1 用户标识符 (25)4.3.3 预定义标识符 (26)4.4 运算符 (27)4.5 属性和nil空对象 (27)4.6 self与super (28)4.7 异常处理 (28)4.8 程序控制结构 (29)4.8.1 顺序结构 (29)4.8.2 选择结构 (29)4.8.3 循环结构 (29)4.9 继承与多态 (29)4.9.1 继承 (29)4.9.2 多态 (30)4.10 分类与协议 (30)4.10.1 分类 (30)4.10.2 协议 (32)4.11 补充 (34)5 Cocoa 基础 (36)5.1 Foundation框架 (36)5.1.1 介绍 (36)5.1.2 结构 (36)5.1.3 根类 (36)5.1.5 值对象(value Object ) (38)5.1.6 字符串(String) (39)5.1.7 集合(Collections) (47)5.2 Uikit框架 (57)1 介绍1.1 简介IOS主要用于iPhone 、iPod 、iPad 、iTouch 和apple TV。
循环结构的四部分内容循环结构是编程中常用的一种结构,它由四个基本部分组成:循环变量初始化、循环条件判断、循环体执行和循环变量更新。
下面我将通过一个例子来解释循环结构的四个部分。
假设有一个小男孩叫小明,他每天早上都要骑自行车去学校。
为了描述这个过程,我们可以使用循环结构。
首先是循环变量初始化,小明第一天骑车去学校,我们可以将他骑车的次数设为0,即循环变量count=0。
然后是循环条件判断,小明每天都要骑车去学校,我们可以设定一个条件,当小明骑车的次数小于7次时,循环继续执行。
接下来是循环体执行,小明骑车去学校的过程就是循环体的执行部分。
每天早上,小明都会骑车出门,然后沿着固定的路线骑行到学校。
最后是循环变量更新,每次小明骑车到学校后,我们可以将循环变量count加1,表示他已经完成了一次骑车。
通过以上的例子,我们可以看到循环结构的四个部分是相互联系的,它们共同构成了一个完整的循环过程。
循环结构可以重复执行某段代码,使得程序能够反复进行某项任务,从而提高了代码的复用性和效率。
循环结构的四个部分在编程中非常重要,合理的使用循环结构可以简化代码,并且提高代码的可读性。
但是在使用循环结构时,我们也需要注意循环条件的控制,避免造成无限循环或者循环次数不足的情况。
同时,我们也要注意循环体内的代码逻辑,确保循环体能够正确执行所需的操作。
总结起来,循环结构的四个部分是循环变量初始化、循环条件判断、循环体执行和循环变量更新。
合理使用循环结构可以使程序更加高效和灵活。
在编程过程中,我们应该根据具体需求选择合适的循环结构,并确保循环条件的控制和循环体内的代码逻辑的正确性,以达到预期的效果。
通过不断的实践和学习,我们可以更加熟练地运用循环结构,提高编程的能力和效率。
CSWIP练习题一、基础理论部分1.1 计算机系统组成1. 请列举计算机硬件系统的五大组成部分。
2. 简述CPU的工作原理。
3. 解释内存和硬盘的区别。
4. 请说明计算机软件的分类。
1.2 操作系统5. 请列举三种常见的操作系统及其特点。
6. 简述文件系统的概念及其作用。
7. 解释进程和线程的区别。
8. 请说明操作系统的五大功能。
1.3 数据结构与算法9. 请列举三种常见的数据结构及其特点。
10. 简述冒泡排序算法的原理。
11. 请解释二分查找算法的原理。
12. 请说明递归的概念及其应用。
二、编程语言部分2.1 C语言13. 请解释C语言中的变量及其作用。
14. 简述C语言中的三种基本控制结构。
15. 请列举C语言中的四种基本数据类型。
16. 解释C语言中的指针及其作用。
2.2 Java语言17. 请解释Java中的面向对象编程思想。
18. 简述Java中的异常处理机制。
19. 请列举Java中的四种访问修饰符及其作用。
20. 解释Java中的泛型及其应用。
2.3 Python语言21. 请解释Python中的列表、元组、字典和集合的区别。
22. 简述Python中的函数定义及调用。
23. 请说明Python中的类和对象的概念。
24. 解释Python中的装饰器及其作用。
三、计算机网络部分3.1 网络基础25. 请解释TCP/IP协议分层模型。
26. 简述OSI七层模型及其作用。
27. 请说明IP地址的分类及其表示方法。
28. 解释子网掩码的概念及其作用。
3.2 网络应用29. 请列举三种常见的网络传输协议及其作用。
30. 简述HTTP协议的工作原理。
31. 请解释SMTP协议在电子邮件传输中的作用。
32. 说明VPN技术的概念及其应用。
四、数据库部分4.1 关系型数据库33. 请解释数据库的概念及其作用。
34. 简述SQL语言的基本语法。
35. 请列举三种常见的关系型数据库管理系统及其特点。
36. 解释索引的概念及其作用。
循环结构的三种语句
1. 循环语句是一种可以重复执行特定代码块的结构,使得程序可以反复处理相似类型的任务。
2. 第一种循环语句是“for循环”,它通过指定循环次数来实现循环。
它包含一个初始化语句、一个循环条件和一个循环迭代语句。
3. 第二种循环语句是“while循环”,它在指定的条件为真时执行循环体。
只要条件保持为真,循环将一直执行。
4. 第三种循环语句是“do-while循环”,它与while循环类似,但是它的循环体至少会执行一次,因为条件是在循环末尾进行检查。
5. 在循环中,可以使用“break语句”来终止循环的执行。
当某个条件满足时,程序将立即退出循环体。
6. 可以使用“continue语句”来跳过当前循环中的剩余代码,并继续下一次循环迭代。
7. 循环结构经常与条件判断语句一起使用,通过判断条件来控制循环的执行次数。
8. 循环可以嵌套,即一个循环语句可以包含在另一个循环语句中。
这样可以在解决更复杂的问题时提供更多的灵活性。
9. 在编写循环结构时,应注意循环条件的设置和循环体内的处理逻辑,以确保循环能够正确地完成其预期任务。
10. 循环结构是编程中非常常见和重要的一种结构,通常用于处理重复性的任务,提高代码的效率和可重复性。
循环结构的基本要素循环结构是程序设计中常用的一种结构,它可以重复执行一段代码,直到满足某个条件为止。
循环结构的基本要素包括:循环变量、循环体和循环控制语句。
下面将对这些要素进行详细介绍。
一、循环变量循环变量是在循环过程中不断变化的变量。
它的作用是控制循环次数,使得循环能够按照预定次数或者条件执行。
在程序中,我们通常会使用一个计数器来作为循环变量。
例如:```for(int i=0;i<10;i++){// 循环体}```上述代码中,`i`就是一个计数器,它的初值为0,每次执行完循环体后自增1,当`i<10`不成立时跳出循环。
二、循环体循环体是需要重复执行的代码块。
它可以包含任意数量的语句和表达式,并且可以嵌套其他的控制结构(如条件语句和函数调用等)。
例如:```for(int i=0;i<10;i++){printf("%d\n",i);}```上述代码中,`printf("%d\n",i)`就是一个简单的输出语句,在每次执行时都会输出当前计数器`i`的值。
三、循环控制语句循环控制语句是用来控制循环执行的流程的语句,它可以改变循环变量的值,从而影响循环次数和跳出条件。
常见的循环控制语句包括`break`、`continue`和`return`等。
例如:```for(int i=0;i<10;i++){if(i==5){break;}printf("%d\n",i);}```上述代码中,当计数器`i`等于5时,执行了`break`语句跳出了循环。
四、不同类型的循环结构在程序设计中,我们通常会使用三种不同类型的循环结构:for、while和do-while。
它们分别具有不同的特点和适用场景。
1. for循环for循环是一种最常用的循环结构,它可以在一行代码中完成初始化、判断和计数器更新等操作。
例如:```for(int i=0;i<10;i++){printf("%d\n",i);}```2. while循环while循环是一种比较简单的循环结构,在每次执行前只需要判断条件是否成立即可。
一计算机基础概述1.微型计算机中使用的数据库属于数据处理方面的计算机应用。
2. 用一个字节表示有符号整数,其最大值是十进制数127。
3. 101101.01B(二进制)=2D.4H(十六进制)=55.2Q(八进制)。
4. 如果[X]原=10101011,则[X]补=11010101。
5. 已知十进制数A=-53,B=102,则A的补码为,逻辑运算A⊕B= 。
6.若要显示或打印汉字将用到汉字编码中的字形码。
7. 一个完整的计算机系统应包括硬件系统和软件系统。
1.计算机内部信息的表示及存储采用二进制的主要原因是什么?书P7-8 ①电路简单②工作可靠③简化运算④逻辑性强2.计算机的应用领域主要有哪些?书P3-4 1.1.2 ①科学计算②数据处理③计算机辅助设计④过程控制⑤人工智能二硬件系统1.市场上出售的微机中,常看到CPU标注为“Pentium 4/4.3G”,其中的4.3G表示CPU的时钟主频4.3MHz。
2. 配置高速缓冲存储器(Cache) 是为了解决CPU与内存储器之间速度不匹配的问题。
3. 微机系统的总线大致可分为控制总线、地址总线、数据路线三类。
4.针式打印机是超市、银行等票据打印的首选打印机。
5.光电转换器件是扫描仪的核心部件。
1.现代计算机一般都采用总线技术,请说明其原因。
书P25 (1)便于采用模块结构,简化系统设计。
(2)总线标准可以得到厂商的广泛支持,便于生产与之兼容的硬件板卡和软件。
(3)模块结构方式便于系统尔特的扩充和升级,便于故障诊断和维修。
(4)多个厂商的竞争和标准化带来的大规模生产降低了制造成本。
2.计算机的存储器主要内存和外存两类,请比较这两类存储器的性能特点。
书P27-28 ①内存只能暂存数据信息,外存可以永久性保存数据信息②外存不受CPU控制,但外存必须借助内存才能与CPU交换数据信息③内存的访问速度快,外存的访问速度慢。
④内存价格较贵,存储信息少,外存价格比较便宜,存储信息大。
循环结构的格式及其执行和注意事项-回复什么是循环结构?循环结构是编程中的一种重要概念,允许程序重复执行一定的代码块,直到满足特定条件才停止。
在循环结构中,重复执行的代码块称为循环体,条件被称为循环条件,也可称为循环表达式或循环控制条件。
循环结构的存在使得程序能够更加高效地处理重复性的任务。
常见的循环结构有三种:for循环、while循环、do-while循环。
1. for循环for循环是一种常用的循环结构,能够指定一个初始值、循环条件和步进条件来控制循环的执行次数。
for循环的格式如下:for (初始值; 循环条件; 步进条件) {循环体}其中,初始值定义了循环开始时的起点;循环条件是一个布尔表达式,当表达式为真时循环继续执行,否则循环终止;步进条件定义了每次循环结束后下一次循环的起点。
在循环体中,我们可以执行任意需要重复执行的任务。
2. while循环while循环是一种基本的循环结构,它只需要指定循环条件,并在循环体中判断该条件是否为真。
如果为真,则继续执行循环体;否则,跳出循环。
while循环的格式如下:while (循环条件) {循环体}循环条件是一个布尔表达式,如果为真则循环继续执行,否则循环终止。
同样,循环体中我们可以执行任意需要重复执行的任务。
3. do-while循环do-while循环与while循环类似,但它先执行一次循环体,然后再检查循环条件。
如果循环条件为真,则继续执行循环体并重复检查循环条件;如果循环条件为假,则跳出循环。
do-while循环的格式如下:do {循环体} while (循环条件);与其他两种循环相比,do-while循环至少执行一次循环体,因此适合于需要至少执行一次的情况。
循环结构的执行过程循环结构的执行过程可以用以下步骤概括:1. 初始化循环参数:根据循环类型和格式,初始化循环计数器或其他必要的循环参数。
2. 执行循环条件判断:根据循环类型和格式,判断循环条件是否为真。
举例说明三种循环结构的使用方法循环结构在编程中非常常见,它可以重复执行一段代码,提高代码的效率。
根据循环的次数的确定性,循环结构可以分为三种:for循环、while循环和do-while循环。
下面将详细介绍它们的使用方法,并给出相应的示例。
一、for循环for循环是一种常用的循环结构,它在执行前先判断条件是否满足,再执行循环体中的代码,每次循环结束后更新循环计数器。
for循环的基本语法如下:```for (初始化表达式;循环条件;更新表达式) {//循环体}```其中,初始化表达式用于初始化循环计数器,循环条件用于判断是否继续执行循环,更新表达式用于更新循环计数器的值。
下面是一个使用for循环计算1到100的累加和的示例:```pythonint sum = 0;for (int i = 1; i <= 100; i++) {sum += i;}```在上面的示例中,初始化表达式是`int i = 1`,循环条件是`i <= 100`,更新表达式是`i++`。
循环体中的代码`sum += i`用于累加每次循环的值。
二、while循环while循环是另一种常用的循环结构,它在执行前先判断条件是否满足,如果满足则执行循环体中的代码,执行完后再次判断条件,直到条件不满足时退出循环。
while循环的基本语法如下:```while (循环条件) {//循环体}```其中,循环条件用于判断是否继续执行循环。
下面是一个使用while循环计算1到100的累加和的示例:```pythonint sum = 0;int i = 1;while (i <= 100) {sum += i;i++;}```在上面的示例中,循环条件是`i <= 100`,循环体中的代码`sum += i`和`i++`同样用于累加每次循环的值和更新循环计数器的值。
三、do-while循环do-while循环和while循环类似,但是它是先执行一次循环体中的代码,再判断条件是否满足,如果满足则继续执行循环。
C语⾔学习-选择结构if语句、switch语句今天主要学习了,if语⾔和switch语句,下⾯直接进⼊正题。
C语⾔为我们提供了3种流程控制结构,分别为:顺序结构,选择结构,循环结构。
顺序结构:默认的流程结构。
按照书写顺序执⾏每⼀条语句。
选择结构:对给定的条件进⾏判断,根据不同的结果执⾏不同的代码断。
循环结构:对给定条件成⽴的情况下,反复执⾏某⼀代码断。
3种流程图如下:⼀、顺序结构1int main(){23 printf("hello world!\n");45 printf("I like iOS!\n");67return0;89 }以上程序的运⾏结果如下:⼆、选择结构C语⾔中选择结构的实现⽅式有两种:if语句和switch语句。
先来看下if语句的使⽤,⽽if语句的形式是有好多种的。
先来看看if语句最简单的形式if ( 条件 ){语句1;语句2;....}如果if右边⼩括号()中的条件成⽴,也就是为“真”时,就会执⾏第2~6⾏⼤括号{}中的语句;如果条件为假,就不执⾏⼤括号{}中的语句。
这⾥的if是关键字。
例如:1int main(){23int a = 7;45if ( a ){6 printf("条件a成⽴\n");7 printf("a的值为真");8 }910 }C语⾔规定所有⾮0值都为“真”,⽽a的值是7,因此第3⾏的条件是成⽴的,接着就会执⾏第5、6⾏代码。
输出结果如下:条件a成⽴a的值为真如果将a的值改为0,那么第3⾏的条件就不成⽴,就不会执⾏第5、6⾏代码语句嵌套if1int main(){23int a = 7;45if ( a > 0 ){67 printf("a的值⼤于0\n");89if ( a<9 ){1011 printf("a的值⼩于9");12 }13 }14 }第3⾏的a>0是成⽴的,因此会按顺序执⾏第4~11⼤括号中的代码。
IOS系统架构iPhone OS(现在叫iOS)是iPhone, iPod touch 和iPad 设备的操作系统.1,Core OS: 是用FreeBSD和Mach所改写的Darwin, 是开源、符合POSIX标准的一个Unix核心。
这一层包含或者说是提供了整个iPhone OS的一些基础功能,比如:硬件驱动, 内存管理,程序管理,线程管理(POSIX),文件系统,网络(BSD Socket),以及标准输入输出等等,所有这些功能都会通过C语言的API来提供。
另外,值得一题的是,这一层最具有UNIX色彩,如果你需要把UNIX上所开发的程序移植到iPhone上,多半都会使用到Core OS的API.核心OS层的驱动也提供了硬件和系统框架之间的接口。
然而,由于安全的考虑,只有有限的系统框架类能访问内核和驱动。
iPhone OS提供了许多访问操作系统低层功能的接口集,iPhone 应用通过LibSystem库来访问这些功能,这些接口集如下所示:线程(POSIX线程);网络(BSD sockets);文件系统访问;标准I/O;Bonjour和DNS服务;现场信息(Locale Information);内存分配;数学计算。
许多Core OS技术的头文件位于目录<iPhoneSDK>/usr/include/,iPhoneSDK是SDK的安装目录。
2,Core Services:Core Services在Core OS基础上提供了更为丰富的功能,它包含了Foundation.Framework和Core Foundation.Framework, 之所以叫Foundation ,就是因为它提供了一系列处理字串,排列,组合,日历,时间等等的基本功能。
Foundation是属于Objective-C的API,Core Fundation是属于C的API。
另外Core servieces还提供了其他的功能,比如:Security, Core Location, SQLite, 和Address Book. 其中Security是用来处理认证,密码管理,按安全性管理的;Core Location是用来处理GPS定位的;SQLLite是轻量级的数据库,而AddressBook则用来处理电话薄资料的。
iOS开发中常⽤的排序(冒泡、选择、快速、插⼊、希尔、归并、基数)算法 1、冒泡排序: 冒泡算法是⼀种基础的排序算法,这种算法会重复的⽐较数组中相邻的两个元素。
如果⼀个元素⽐另⼀个元素⼤(⼩),那么就交换这两个元素的位置。
重复这⼀⽐较直⾄最后⼀个元素。
这⼀⽐较会重复n-1趟,每⼀趟⽐较n-j次,j是已经排序好的元素个数。
每⼀趟⽐较都能找出未排序元素中最⼤或者最⼩的那个数字。
这就如同⽔泡从⽔底逐个飘到⽔⾯⼀样。
冒泡排序是⼀种时间复杂度较⾼,效率较低的排序⽅法。
其空间复杂度是O(n)。
1, 最差时间复杂度 O(n^2) 2, 平均时间复杂度 O(n^2) 实现思路 1,每⼀趟⽐较都⽐较数组中两个相邻元素的⼤⼩ 2,如果i元素⼩于i-1元素,就调换两个元素的位置 3,重复n-1趟的⽐较 C 语⾔写法://*********** 冒泡降序排序 **********//int array[10] = {24, 17, 85, 13, 9, 54, 76, 45, 5, 63};int num = sizeof(array)/sizeof(int);for(int i = 0; i < num-1; i++) {for(int j = 0; j < num - 1 - i; j++) {if(array[j] < array[j+1]) {int tmp = array[j];array[j] = array[j+1];array[j+1] = tmp;}}}for(int i = 0; i < num; i++) {printf("%d\t", array[i]);} Objective-C 写法:#pragma mark - 冒泡降序排序- (void)bubbleDescendingOrderSortWithArray:(NSMutableArray *)descendingArr{for (int i = 0; i < descendingArr.count; i++) {for (int j = 0; j < descendingArr.count - 1 - i; j++) {if ([descendingArr[j] intValue] < [descendingArr[j + 1] intValue]) {int tmp = [descendingArr[j] intValue];descendingArr[j] = descendingArr[j + 1];descendingArr[j + 1] = [NSNumber numberWithInt:tmp];}}}NSLog(@"冒泡降序排序后结果:%@", descendingArr);}#pragma mark - 冒泡升序排序- (void)bubbleAscendingOrderSortWithArray:(NSMutableArray *)ascendingArr{for (int i = 0; i < ascendingArr.count; i++) {for (int j = 0; j < ascendingArr.count - 1 - i;j++) {if ([ascendingArr[j+1]intValue] < [ascendingArr[j] intValue]) {int temp = [ascendingArr[j] intValue];ascendingArr[j] = ascendingArr[j + 1];ascendingArr[j + 1] = [NSNumber numberWithInt:temp];}}}NSLog(@"冒泡升序排序后结果:%@", ascendingArr);} 2、选择排序: 实现思路: 1. 设数组内存放了n个待排数字,数组下标从1开始,到n结束。