您的位置:首页 > 职场人生

黑马程序员——C语言之字符串与字符串函数

2015-07-07 10:39 302 查看
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

22.字符串

①字符串是位于双引号中的字符序列,在内存中以“\0"结束,所占字节比实际多一个

注意:可以把一个字符常量赋值给一个字符变量(char ch = 'a'),但不能把字符串常量赋给字符变量 char ch = 'a'

②用字符数组保存字符串:

1) char str1[4] = {"abc"}; str[0]用来存'\0';

2) char str2[4] = "abc"; //注意此处数组长度必须是>=4;

3) char str3[] = "helloworld!";

③字符串的输出

用%s输入字符串,从给定的地址开始,一直输出字符,直到遇到\0就停止了。

printf("/s\n",str); == printf("/s\n",&str[0]; // 都是取首地址

④字符串的输入

%s接收键盘上输入的一个字符串,保存在以str为首地址的字符数组中

scanf("%s",str);

注意:1)如果输入的字符串有空格,则空格之后的字符无法接收保存。以%s的格式输入,scanf遇到空格,就结束了。

2)输入的字符要小于数组的长度;

3)要合理使用字符串结束符"\0";

请大家注意数组类型的含义:数据类型指的是数组所包含的元素的类型,而不是数组名的类型,数组名永远是一个指针,指向第一个元素的地址,即数组首地址。

23.字符串函数

puts和gets 必须包含头文件 stdio.h

strcat 需要包含string.h

①puts 输出字符串

1)puts函数可以自动换行;

2)也可是不是首地址,可以是元素的地址;

3)必须是字符数组;

4)不可以格式化输出

②gets 输入字符串

1)使用gets会给出一个警告;

2)可以接收空格;

3)不安全:数组长度是100,但是你输入了120个也可以,但是越界;

③strcat 连接字符串

1)格式:strcat(a,b); // 把字符串b连接在字符串a之后

2)oldStr的长度要足够大,只要能够保存下oldStr+newStr;

3)newStr把oldStr的最后一个字符\0给覆盖了;

④strcpy 拷贝字符串

1)strcpy(old,new); 把new覆盖old里;

2)oldStr长度要足够长;

⑤strcmp 字符串的比较函数

1)strcmp(str1,str2); abc def(大) 规则:比较字符的ascii码值,比较在字典中出现的顺序

2)比较的过程:逐个去两个字符串的字符对应位相比较,从第一位不相同的位开始,就能确定字符串大小;

3)strcmp(str1,str2); 函数有返回值 >0 :str1>str2 <0 :str1<str2 =0 :str1 = str2

⑤strlen 计算字符串长度,不包含\0
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: