1.昨日学习总结
练习2:
终端输入n, 将int a[9]={1,2,3,4,5,6,7,8,9}
则打印出n=1 : 9 1 2 3 4 5 6 7 8
n=2 : 8 9 1 2 3 4 5 6 7
思路:循环右移,step1:int t =a[8];
step2: 从a[7]依次往后挪;
step3: a[0]=t;
昨日错误点:往左挪,会覆盖接下来的数。
改正:
2.二维数组
类型说明符 数组名 [常量表达式] [常量表达式]
行 列
本质还是一维数组,是一维数组的一维数组,如int a[3] [4];为a[1]中的4个空间,a[2]中的4个空间......其是连接起来的。
二维数组初始化:
int a[3][4]={1,2,3,4,5,6,7,8,9,12,11,10}
二维数组行数可以省略,列数不能省略,省略时,必须赋值
3.二维字符型数组
char s[3][10];//批量放字符串
如:char s[3][10]={"hello","world","china"};
输入n个字符串时,输入两个就自动停止,原因:扫描到‘\0’,解决方式:输入一个getchar().
原因:getchar()将输入的n取走。
字符数组总结
统计字符串长度-----strlen
字符串拷贝-----------strcpy
字符串拼接-----------strcat :将原字符串拼接到目标字符串,如:strcat(c1,c2)将c2拼接到c1后。
字符比较--------------strcmp:将两个字符串的大小对比,如:strcmp(c1,c2)若c1大于c2,则其等于 c1与c2的差值
scanf与gets在输入时不能输入带空格的字符串。
也可用于一维数组
函数
实现某一功能的模块
函数的定义:
类型说明符 函数名(形式参数)
{
声明部分
语句部分
}
返回值的类型 函数名(形式参数)
{
函数体 //---实现函数具体功能的代码
返回结果 //---return
}
如何定义函数?
输入数据 --> 处理数据 ---> 带出结果
.
形式参数:
数据类型 形式变量名1,数据类型 形式变量2,.......
函数调用:
函数名(实际参数);