C语言入门----字符串
2015-10-16 11:11
281 查看
在C语言中,没有字符串型数据,只能用字符数组和字符指针来处理字符串。
如:
char ca[10]={‘h’,’e’,’l’,’l’,’o’,’\0’};
或
char ca[10]={“hello”};
或
char ca[10]=”hello”;
都表示ca这个字符串中有10个字符(包括”\0”),后面多出的元素自动补\0。但是ca=”string!”;这样的赋值语句是不合法的,后期赋值只能使用循环一个一个的写入,或者使用字符串处理函数进行赋值。
字符串的输入输出
printf和scanf
格式控制符为%s,%s后面的变量是数组名。
如:
printf中可以在s前面加数字和正负号:
系统会自动在左边补空格,输出结果为:□□□hello
□表示空格
加负号
系统会自动在右边补空格,输出结果为:hello□□□
scanf在s前面加数字,意义完全不同,也不能加正负号:
如果输入:abcde
系统会自动截取前面3个字符对ca赋值,ca的值为 “abc”;
puts和gets
格式:
puts(字符数组名);
gets(字符数组名);
如:
注意:gets可以接收空格和TAB键,scanf不可以。
字符串处理函数
如:
char ca[10]={‘h’,’e’,’l’,’l’,’o’,’\0’};
或
char ca[10]={“hello”};
或
char ca[10]=”hello”;
都表示ca这个字符串中有10个字符(包括”\0”),后面多出的元素自动补\0。但是ca=”string!”;这样的赋值语句是不合法的,后期赋值只能使用循环一个一个的写入,或者使用字符串处理函数进行赋值。
字符串的输入输出
printf和scanf
格式控制符为%s,%s后面的变量是数组名。
如:
char ca[10]={"hello"};
printf("%s\n",ca);
printf中可以在s前面加数字和正负号:
printf("%8s",ca);
系统会自动在左边补空格,输出结果为:□□□hello
□表示空格
加负号
printf("%-8s",ca);
系统会自动在右边补空格,输出结果为:hello□□□
scanf在s前面加数字,意义完全不同,也不能加正负号:
scanf("%3s",ca);
如果输入:abcde
系统会自动截取前面3个字符对ca赋值,ca的值为 “abc”;
puts和gets
格式:
puts(字符数组名);
gets(字符数组名);
如:
char ca[10]; gets(ca); puts(ca);
注意:gets可以接收空格和TAB键,scanf不可以。
字符串处理函数
strcpy(s1,s2);/*复制(目标串,源串)*/ strcat(s1,s2);/*连接(目标串,源串)*/ int strlen(s);/*返回字符串长度*/ int strcmp(s1,s2);/*比较字符串,逐个比较ASCII码的大小,若s1>s2,返回1;若s1=s2,返回0;若s1<s2,返回-1*/
相关文章推荐
- c++如何用好struct的构造函数
- 乘法口诀表的输出(初)
- C语言程序创建文件夹
- C语言程序创建文件
- 剑指offer第十三题【调整数组顺序使奇数位于偶数前面】c++实现
- C++对象池完整实现
- 雪*C语言核心知识总结四
- [BFS] Zjut CPP 1907 破解迷宫
- C语言数组
- CString转double
- Effective modern C++ 条款 38:如果异步至关重要请指定std::launch::async
- Debug Assertion Failed! FILE viewform.cpp , line 69
- C++访问控制符private/protected/public
- VC++ 6.0 C8051F340 MFC programming note
- C++项目二(2):摄氏度的转换
- C++项目中的extern "C" {}
- C语言变长数组data[0]的用法
- C语言项目二:电阻并联
- C语言字节对齐问题详解(zz)
- C语言的指针的基本语法