字符串函数:
头文件: <string.h>
字符串长度:
size_t strlen(const char *s);
功能:
计算字符串长度
参数:
s //表示需要一个指针
可以给的参数形式
a.数组名
b.字符串常量
返回值:
返回字符串长度
注意:
char s1[10];
gets(s1);
char s2[10];
s2 = s1; //字符串不能操作 数组不能整体赋值
字符串复制:
char * strcpy(char *dest, const char *src);
功能:
复制字符串
将src中字符串,复制到dest
参数:
src // 表示原字符串
可以给的实参形式:
a.一维字符数组名
b.字符串常量
dest // 表示目的字符串
可以给的实参形式:
一维字符数组名
字符串拼接:
char *strcat(char *dest, const char *src);
功能:
拼接字符串
参数:
dest //目的字符串
可以使用的实参形式
一维字符型数组名
src //源字符串
可以使用的实参形式
a.一维字符型数组名
b.字符串常量
字符串比较:
字符串 比较规则
字符串比较的规则与其他语言中的规则相同,
即对两个字符串自左至右逐个字符相比(按 ASCII 码值大小比较),
直到出现不同的字符或遇到'\0' 为止。
如全部字符相同,则认为相等;
若出现不相同的字符,则以第1个不相同的字符的比较结果为准。
比较的结束的条件:
s1[i]!=s2[i] || s1[i]=='\0' || s2[i] == '\0'
只看,结束时,s1 最后一个字符 和 s2最后一个字符 之间的大小关系
"hello"
"help"
-----------
"hello"
"hell"
----------------
"hello"
"hello"
输入两个字符串,判断大小关系
int strcmp(const char *s1, const char *s2);
功能:
比较字符串大小
参数:
s1 //字符串
s2 //字符串
数组名
字符串常量
返回值: //最后 停的位置上字符的差值 来反映大小
s1 > s2 // >0 1
s1 == s2 // 0
s1 < s2 // <0 -1
字符串相关函数:
1.gets
2.puts
3.strlen
4.strcpy / strncpy
5.strcat / strncat
6.strcmp / strncmp
二维数组:
类型说明符 数组名[常量表达式][常量表达式]
(1) (2) (3) (4)
(1) 类型说明符 --- 用来说明数组中存储数据的类型 //
(2) 数组名 --- 标识符
(3) 常量表达式 --- 行 --多少行
(4) 常量表达式 --- 列 --多少列
eg:
int a[3][4]; //表示说,定义了一个包含有3行 4列 总共12个 int型元素的二维数组
数组初始化:
int a[3][4] = {1,2,3,4,5,6,7,8,9,10,11,12};//全部初始化
int a[3][4] = {{1,2,3,4},{5,6,7,8},{9,10,11,12}};//全部初始化
int a[3][4] = {1,2,3,4,5,6};//部分初始化
int a[3][4] = {{1,2},{5,6},{9,10}};//全部初始化
赋值:
循环
scanf输入值
数组元素的引用:
数组名 [行][列];
0 1 2 3
+---+---+---+---+
0| 1 2 3 4
1| 5 6 7 8
2| 9 10 11 12
二维数组的本质:
int a[3][4]:
int a[4]; //一维数组
//数组也是一种数据类型
//int[4]
类型说明符 数组名[常量表达式];
int[4] a [3];
int[4] a[3]; // 一维数组
// 这个一维数组的元素 又一个一维数组类型
//int[4] a[3]; //c语言不支持这样写
int a[3][4]; //二维数组
注意:
1.c语言中,并不存在真正的二维数组,都是用一维数组模拟的。
2.二维数组的本质
实际上 一维数组类型的一维数组
//数组的数组
3.二维数组数据存储时,
按行优先存储
二维字符型数组:
char s[3][4]; //批量的处理字符串
//3行4列
一维字符型数组 --- 存储字符串数据
char[4] a[3]; //可以看作一维数组
char s[3][10] = {{"hello"},{"world"},{"english"}};
//初始化
char s[3][10] = {"hello","world","english"};
//输入字符串
gets(s[0]); //s[0] 就是第0行 这个一维字符型数组的数组名