二维数组
指针:一定要知道指针的指向!!即指针指向哪里。
指针的运算:注意移动字节数问题。
指针与数组的关系:
指针数组:int %pa[4];
数组指针:int (*pb)[4];
============================================================
1.冒泡排序
int arr[5] ={11,33,4,22,5};
参加数据个数:5
比较次数: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]
2.随机数
获取随机数:
srand(time(0));
int num=rand()%100;
3.字符串
(1)字符串是由双引号括起来的字符序列集合“asdfdsf”“asdf”。结束标志:‘\0’,不显示,但是存在。
(2)c语言中没有字符串所对应的数据类型,通常使用字符数组保存字符串;
char arr[111]={"hello,world!"};
char bur[222]="asdfsadfsdf";
char a[213]={'s','d','f','d'};
注意:字符数组保存字符和保存字符串是有的区别
(3)字符串的输入和输出
scanf()/printf()----->占位符%s
scanf()不能接受字符串的空格
但是单个空格可以用scanf()输入进去
getchar();吸收多余的回车符
(4)gets()/puts()
gets():从键盘输入,此函数有bug,不建议使用
puts():输出字符串,自动换行,无需换行符
(5)fgets()/fputs()
fgets():获得数据
arr:数组名,即一个地址
stdin:标准输入
sizeof(arr):读取数据大小,也可以直接用数字代替
fputs():输出数据
arr:要输出的字符串
stdout:标准输出
注:此处无bug,可以安心使用!!!
char arr[133]; printf("input :"); fgets(arr,sizeof(arr),stdin); fputs(arr,stdout);
(6)指针和字符串
(7)字符串相关函数
头文件:#include <string.h>
strlen():计算字符串的长度;注意区分sizeof()的区别
strcpy():字符串拷贝
strcmp():字符串比较
int ret=strcmp(arr,buf);
若ret=0;则两字符串相等
若ret>0,则arr大于buf
若ret<0,则arr小于于buf
注:不需要知道返回值的具体值
strcat:字符串拼接
strcat(a,b);