一. 字符串大小的比较的
规则:
对两个字符串自左至右逐个字符相比(按ASCII 码值大小比较),直到出现不同的字符或遇到'\0' 为止。
如全部字符相同,则认为相等;若出现不相同的字符,则以第一个不相同的字符的比较结果为准。
int strcmp(const char *s1, const char *s2);
功能:
比较两个字符串
参数:
s1
s2
表示两个字符串
返回值:
>0 s1 > s2
==0 s1 == s2
<0 s1 < s2
返回值,实际上是,结束位置上字符的差值 (前面减后面,为负后面大)
strlen --获取字符串长度
strcpy --复制字符串
strcat --拼接字符串
strcmp --比较字符串大小
练习:
比较字符串
s1 > s2
二. 字符串的输入
输入字符串
gets ();
scanf(); //不能输入 带空格的 字符串如hello world
三. 二维数组:
1.二维数组形式:
类型说明符 数组名[常量表达式][常量表达式];
eg:
int a[3][4]; // 3行 4列 二维数组
int a[3][4][5]; 三维数组
int a[3][4][5][6]; 四维数组
.....
int a[4]; //一维数组
//a的数据类型为 int[4]
int[4] a[3]; //一维数组
//一维数组的元素类型 是一个数组类型
int a[3][4]; //二维数组
//a数据类型 int[3][4]
总结:
1.C语言中,不存在真正的二维数组,只有一维数组
2.二维数组本质,是一维数组的一维数组
2. 二维数组初始化:
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}; //部分初始化 ,剩余位置补零
int a[3][4] = {{1,2,3,4},{5,6,7,8}}; //按行初始化
int a[ ][4]; //二维数组语法角度 ---行数可以省略 列数不能省略
但省略的时候,必须给值
a[1][4]
a[2][4]
练习:
int a[3][4];
从键盘输入值
要求求出,二维数组边上和scanf("%d",&a[i][j]); //int
练习:
转置
1 2 3
4 5 6
7 8 9
1 4 7
2 5 8
3 6 9
3. 二维字符型数组:
char s[3][10];
char[10] s[3];
练习:
输入三个字符串
找出最大字符串
strcmp(s[0],s[1])
strcpy(s[0],s[1])
练习:
输入3个字符串
排序
总结:
1.数组概念
2.数组定义
一维整型
一维字符型
二维整型数组
二维字符型数组
3.重点
a.二维数组本质
b.二维整型数组操作 ---访问具体的元素 a[i][j]
c.二维字符型数组
放多个字符串
char s[3][10];5.掌握
a.排序算法
选择
冒泡
插入
查找
b.关于字符串 的一些函数
strlen
strcpy
strcat
strcmp