1.二分查找法:其基本思想是在每一步都将查找区间减半,直到找到目标值或确定目标值不存在为止。
步骤:1. 确定中间点:首先找到数组的中间元素。2. 比较:将中间元素与目标值进行比较。 •如果中间元素等于目标值,查找成功,返回该元素的索引。•如果中间元素小于目标值,那么在数组的右半部分重复步骤1和2。•如果中间元素大于目标值,那么在数组的左半部分重复步骤1和2。3. 重复:重复上述过程,直到找到目标值或查找范围为空。

2.字符数组
1.字符数组的定义
用来存放字符数据的数组,字符数组中的一个元素存放一个字符。
2.字符数组的初始化
如:char a[10] = {"good idea"}
如果花括号中提供的初值个数(即字符个数)大于数组长度,则按语法错误处理。如果初值个数小于数组长度,则只将这些字符赋给数组中前面那些元素,其余的元素自动定为空字符(即'\0’)。
如果提供的初值个数与预定的数组长度相同,在定义时可以省略数组长度,系统会自动根据初值个数确定数组长度。
3.字符串和字符串结束标志
在C语言中,是将字符串作为字符数组来处理的,字符串中的字符是逐个存放到数组元素中的,这个字符串的实际长度与数组长度相等,C语言规定了一个“字符串结束标志”,以字符'\0'作为标志。系统对字符串常量也自动加一个八0'作为结束符,字符串作为一维数组存放在内存中。
在定义字符数组时应估计实际字符串长度,保证数组长度始终大于字符串实际长度。如果在一个字符数组中先后存放多个不同长度的字符串,则应使数组长度大于最长的字符串的长度。
ASCII码为0的字符不是一个可以显示的字符,而是一个“空操作符”,即它什么也不做。用它来作为字符串结束标志不会产生附加的操作或增加有效字符,只起一个供辨别的标志。
4.字符数组的输入输出
(1)逐个字符输入输出。用格式符“%c”输人或输出一个字符。
(2)将整个字符串一次输入或输出。用“%s”格式符,意思是对字符串(string)的输人输出。
注:(1)输出字符不包括结束符'\0'。
(2)用“%s”格式符输出字符串时,printf函数中的输出项是字符数组名,而不是数组元素名。
(3)如果数组长度大于字符串的实际长度,也只输出到遇"0'结束。
(4)如果一个字符数组中包含一个以上'\0',则遇第一个'\0'时输出就结束。
(5)可以用scanf 函数输入一个字符串。
注意:scanf函数中的输人项如果是字符数组名,不要再加地址符&,因为在C语言中数组名代表该数组的起始地址。
5.字符串处理函数
1. puts函数
其一般形式为 puts(字符数组)
其作用是将一个字符串(以'\0'结束的字符序列)输出到终端
2.gets函数
其一般形式为 gets(字符数组)
其作用是从终端输人一个字符串到字符数组,并且得到一个函数值。该函数值是字符数组的起始地址。
3.strcat函数
其一般形式为 strcat(字符数组1,字符数组2)
其作用是连接两个字符数组中的字符串,把字符串2接到字符串1的后面,结果放在字符数组1中,函数调用后得到一个函数值--字符数组1的地址。
说明: (1)字符数组1必须足够大,以便容纳连接后的新字符串。
(2)连接前两个字符串的后面都有八0',连接时将字符串1后面的"0'取消,只在新串最后保留'\0’。
4.strcpy函数
其一般形式为 strcpy(字符数组1,字符串2)
其作用是将字符串2复制到字符数组1中去。
说明:(1)字符数组1必须定义得足够大,以便容纳被复制的字符串。
(2)“字符数组1”必须写成数组名形式(如str1),“字符串2”可以是字符数组名,也可以是一个字符串常量。
(3)如果在复制前未对str1数组赋值,则str1各字节中的内容是无法预知的,复制时将str2中的字符串和其后的"0’一起复制到字符数组1中,取代字符数组1中的前面6个字符,最后4个字符并不一定是斜杠零,而是str1中原有的最后4个字节的内容。
(4)不能用赋值语句将一个字符串常量或字符数组直接给一个字符数组。
(5)可以用strncpy函数将字符串2中前面n个字符复制到字符数组1中去。例如:
strncpy(strl,str2,2):
作用是将str2中最前面2个字符复制到str1中,取代strl中原有的最前面2个字符。
5.strcmp函数
其一般形式为 strcmp(字符串1,字符串2)
其作用是比较字符串1和字符串2。
字符串比较的规则与其他语言中的规则相同,即对两个字符串自左至右逐个字符相比(按 ASCII码值大小比较),直到出现不同的字符或遇到'\0'为止。
比较的结果由函数值带回。
(1)如果字符串1=字符串2,则函数值为0。
(2)如果字符串1>字符串2,则函数值为一个正整数。
(3)如果字符串1<字符串2,则函数值为一个负整数。
注意:对两个字符串比较,不能用以下形式:
if(strl>str2)
6.strlen函数
其一般形式为 strlen(字符数组)
它是测试字符串长度的函数。函数的值为字符串中的实际长度(不包括八0'在内)。
在三个字符串中找最大的


被折叠的 条评论
为什么被折叠?



