1216 C基础review:
二维数组
指针:一定要知道指针的指向,即指针指向哪里 指针的运算:注意移动字节数问题 指针与数组的关系
指针数组:int *pb[4];
数组指针:int (*pa)[4];
1.冒泡排序
int arr[5] = {11,45,2,66,34};
参加数据个数 比较次数
第一轮
5 4 ----------->arr[4]
arr[0] arr[1]----> arr[1]
arr[1] arr[2]----> arr[2]
arr[2] arr[3]----> arr[3]
arr[3] arr[4]----> arr[4]
第二轮
4 3 ----------->arr[3]
arr[0] arr[1]----> arr[1]
arr[1] arr[2]----> arr[2]
arr[2] arr[3]----> arr[3]
第三轮
3 2 ----------->arr[2]
arr[0] arr[1]----> arr[1]
arr[1] arr[2]----> arr[2]
第四轮
2 1 ----------->arr[1]
arr[0] arr[1]----> arr[1]
3.字符串
(1)字符串常量
字符串是由双引号括起来的字符序列集合
"a" "hhh" "097#yhol" "jak897f#$^HG*"
字符串的结束标志:"\0"
(2)C中没有字符串所对应的数据类型,通常使用字符数组保存字符串;
char arr[32] = {"hello,uuhhio"};
char arr[32] = {"jdkahfapei*&^%89789"};
char af[7] = {'q','e','r','e'}; char bf[7] = "qere";
注意:字符数组保存字符和保存字符串是有区别的;
字符串有'\0'
(3)字符串的输入和输出
scanf() /printf()------>占位符:%s
scanf()不能接受字符串中的空格 但是单个空格用scanf()可以输入
(4)get()/puts()
get():从键盘输入
可以接收输入的空格 此函数有bug,不建议使用
puts():输出字符串
自动换行,无需换行符
(5)fgets()/fput()
例如:
char arr[128];
peintf("input string:");
fgets(arr,sizef(arr),stdin);
//fgets(arr,100,stdin);
fputs(arr,stdout);
fgets():获得数据
arr:数组名,即一个地址
stdin:标准输入
sizeof(arr):读取数据的大小,也可以直接用数字代替
fputs():输出数据
arr:要输出的字符串
stdout:标准输出
注:此处无BUG,可以安心使用 (6)指针和字符串
(7)字符串相关函数
头文件:#includestrlen():计算字符串长度
strcpy():字符串拷贝
strcmp():字符串的比较
int ret = strcmp(arr,buf);
若ret=0;则两字符串相等
若ret>0;则arr大于buf
若ret<0;则arr小于buf
注:不需要知道返回值的具体值!!!
strcat():字符串的拼接
strcat(arr,buf);
将buf的内容,拼接到arr中,一定要保证arr的空间足够大,否则会出现数组越界问题。