
- 1. 字符串输入与输出
- 1.1 字符串的输入函数(gets)
- 1.2 字符串的输出函数(puts)
- 2. 字符数组
- 3. 字符串数组
- 4. 常用字符串函数
- 4.1 求字符串长度(strlen)
- 4.2 字符串拷贝(strcpy)
- 4.3 字符串连接(strcat)
- 4.4 字符串比较(strcmp)
- 4.5 字符串与字符函数的扩展用法
char * gets(char *s)- 字符串的最后个字符是
,要注意数据长度gets scanf函数不会让空格成为字符串的结束标志,而scanf会,%c需要char配合才能正常输入[ s5];0 \\只能存四个字符,因为最后个字符是 \gets ()spritnf ("%s\n",) s;puts(string);
puts()printf()和puts()不一样的是\n会自动换行不需要char c[10], ch[3][4];
- 用法:
{'a', 'b', 'c', '- 逐个字符赋值:
'}=="abc" - 字符数组的初始化:首先我们需要知道char
- [
5 ch]='h',{'e', 'l', 'l', 'o'; }//完整赋值char [ 5 ch]='b',{'o', 'y'} ;//部分赋值,那ch[3], ch[4]都是字符串 ,NULLb o y ASCII 98 111 121 0 0 - 用字符串常量:
//三种方法都可以char[]- =
"HELLO" ; chchar[6]= "HELLO" ch;char[6]= "HELLO" ch};- 举个例子:在内存中占6个字节,字符串长度5
字符串 {h e l - 注意:在打印字符数组的时候我们可以将其当做字符串来打印,但是我们需要注意的是这个字符数组的最后一位得是
l 。否则,会随着地址一直往下打印直到找到o
- C语言中无字符串变量,而是用字符数组并以
ASCII 结尾当做字符串。
| 101 | 108 | 108 | 111 | 0 | char[
- 举个二维数组的例子
"orange" fruit,"grape"};水果 0 {1 1 2 3 4 5 6
| fruit[0] | a | p | p | l | e | fruit[1] | o | r | |||
| a | n | g | e | fruit[2] | g | r | a | p | |||
| e | # | include...char[20||||||||||
- 例子:输入一个字符串,然后逆序输出
;gets(); = arrstrlen()for ( i= n; 0;--)putchar ([arr]) n; putchar(arr'\n' ) ;i strlen(字符数组)nman strleni>=\xhhchar s[]="\x691"i → \rightarrow →iaarr\dddistrlen(s)char[ 10]='A',
- 首先我们要先引入
# include
- 用法:',',我们可以通过'B'查询细节
- 求字符串长度,且,不包括在内。
- 'C':表示十六进制数代表的符号,举个例子在字符串中,',''D'};
- printf:表示8进制
- 练习:对于以下字符串,(的值为:
"strlen: %ld, sizeof: %ld\n" s,strlen( ) {,sizeof () /sizeof (char )) ;//strlen: 1, sizeof: 10char []="\t\v\;will\n" //长度为3chars[] ="\x691\n"s;//长度为3strcpy(目标字符串, 需拷贝的字符串)≥ \ge ≥- 硬拷贝
char[ ] s="strcpy",[10 ] ; sstrcpy(,); puts
-
用法:(
-
返回:目标字符串的首地址
-
要求:目标字符串的长度需);//strcpy需拷贝的字符串长度
-
注意:
- puts
- 拷贝时,(会一起拷贝
-
例子
) src;//strcpy[0] dest='a';puts ()dest; src//strcpyputs ()src;//atrcpystrcat(string1, string2)string2string1deststring1string1string2deststring1string2string2char[10 ]=src"abcas", [ ]=dest"123"; strcat
- 用法:(
- 把,连在)的后面
- 返回;的首字母
- 要求:
- puts需要足够大能放的下(
- 需要取消)的;,连接
strcmp(string1, string2),保留 - 作用: 比较两个字符串 的
string1
string2 deststring1string2-1 string1 string21 srcstring1string2 0 函数类型 函数
用法 字符串 deststrncpy(p, p1, n) srcp1拷贝给p,并指定复制的长度
strncat(p, p1, n) p1连在p的后面,并指定连的长度 deststrncmp(p, p1, n)
- 用法:
比较指定长度字符串 - 比较的方法:从左往右逐字比较,直到遇到不同字符或
strcasecmp(p, p1) (如果忽略大小写比较字符串 先遇到,则 strchr(string, ch) 大。因为strchr(s1, ch)-s1的ASCII值是0) - 返回:int整型
< strrchr(string, ch) :返回负整数在字符串中查找指定字符,返回最后一个在该字符串中出现的地址,没找到返回空 > strstr(p, p1) :返回正整数查找字符串 字符函数 ==isalpha(ch) :返回检查是否为字母字符(不是字符串,是单个字符 )
| isupper(ch) | 检查是否为大写字母字符 | |
| islower(ch) | 检查是否为小写字母字符 | |
| isdigit(ch) | 检查该字符是否为数字 | |
| toupper(ch) | 变大写 | |
| tolower(ch) | 变小写 | |
| 在字符串中查找指定字符,返回第一个在该字符串中出现的地址,没找到返回空 找出一个字符在字符串中的位置: | ||
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)