今天主要学习了字符串数组,并且学习了puts , gets , fgets , strcpy , strcat , strcmp 。并且新学了一个寻找元素的方法--二分法。
一,二分法检索
具体代码:
二分法确定位置,数值
mid为序号,a[mid]为具体元素
二,字符数组
1."Hello , World!"(字符常量,char 型,1字节)
2."Hello"默认结束位有 '\0'
3.满足数组三性质:有序性,单一性,连续性
4.不以len为结束标志,而是以'\0'
三,函数的使用
1.puts(字符数组)----输出字符串
原理如下:
输出结果为Hello
用puts函数:
char s[ ] = " Hello ";
puts( s );
输出的结果也是 Hello
2.gets函数----输入字符串的函数
原理如图:
char s[ ] = " Hello ";
gets( s );
即将Hello输入到终端中,用puts(s)就可以输出出来
用puts,gets只能输入输出一个字符串
3.fgets函数----gets函数的条件版
gets函数可能会造成越界,fgets函数会框定范围
fgets( char*, size , stdin)
scanf , gets , fgets区别:
scanf 空格 TAB 回车都是无效字符
gets 空格 TAB 为有效输入
fgets 回车也被当作有效字符
4.字符串的数目----srtlen(s)函数
原理
使用时
char s[ ]"Hello";
int len = srtlen(s);
输出值为5
5.字符串的复制----strcpy函数
用法 :strcpy( s1 ,s2 ),s1为复制后的,s2为被复制的
原理
使用后
s1要足够大,最小为strlen(s2) + 1
6.字符串的连接----strcat函数
用法 :strcpy( s1 ,s2 ),s1为最终的的,s2为被连接的
原理
使用后
puts(s1)后输出“Hello World”
s1要足够大 最小为 strlen(s1) + strlen(s2) + 1
7.字符串的比较----strcmp函数
输出为int 型,结果 >0 s1大 结果 <0 s2 大
原理
使用后:
strcmp函数在比肩三个字符串时嵌套中的使用
最终输出结果为”China!!!“
...........................................................................................................................................................
今天的学习就到这了,明天见