一、冒泡排序
int arr[5]={1,2,3,4,5}
參加數據個數:n,比較次數n-1,得到最值n
arr[0] arr[1]----->arr[1];
arr[1] arr[2]----->arr[2];
arr[2] arr[3]----->arr[3];
arr[3] arr[4]----->arr[4];
arr[4] arr[5]----->arr[5];
..... ..... ...... .....
arr[n-1] arr[n]----->arr[n];
第二次比較個數:n-1 比較次數n-2 得到次值
arr[1] arr[2]----->arr[2];
arr[2] arr[3]----->arr[3];
arr[3] arr[4]----->arr[4];
arr[4] arr[5]----->arr[5];
..... ..... ...... .....
arr[n-2] arr[n-1]----->arr[n-1];```
。。。
。。。
。。。
第n-1次比較,參與個數2 比較次數1 得到最終結果
```arr[0] arr[1]----->arr[1];```
###2、獲取隨機數
//獲取0~100之間的隨機數
srand(time(NULL));//此語句不能放在循環語句中,否則會產生相同的數據
int max =rand()%100;
###3、字符串
(1)字符串常量
字符串是由""括起來的字符串集合
"a","hh","ajfljwi3958&"
字符串的結束標志'\n',不顯示,但是存在。
(2)C中沒有字符串所對應的數據類型,通常使用字符數組保存字符串
``` char arr[32]={"hello,uuhhio"};
char buf[32]="lkajfeihfaoon 45";
char af[32]={ 'a','r','$','*','8'};```
注意:字符數組保存字符和保存字符串的區別;
字符串有'\0'
(3)字符串的輸入和輸出
scanf()//遇到空格,回車,tab鍵,按結束處理,單個空格可以接收,
printf()```
(3)
getchar();//吸收單個字符
char ah;
ah=getchar();
getchar();
(4)
gets()/put()
get():從鍵盤輸入,可以接收空格,此函數有bug,不建議使用
put():自動換行,無需換行符
(5) fget()/fput()
fgets():獲得數據
arr:數組名,即一個地址
fgets(arr,sizeof(arr),stdin);
stdin:標準輸入
sizeof(arr):讀取數據大小,也可以用數字代替
fputs():輸出數據,并自動換行
fputs(arr,stdout);
stdout:標準輸出
arr:要輸出的字符串
注意:此處無BUG,可以放心使用
(6)指針和字符串
char
(7)字符串相關函數
頭文件:#include<string.h>
strlen():計算字符串長度,‘\0’不計入字符串長度,注意區分和sizeof的區別
strcpy():字符串拷貝,
strcpy(buf,arr);將arr內容拷貝到buf中
strcmp():字符串比較
int ret=strcmp(arr,buf)
若ret=0;則兩個字符串相等
若ret>0;則arr>buf
若ret>0;則arr<buf
注:不需要知道返回值的具體值!!!
strcat():字符串拼接
strcat():字符串的拼接
strcat(arr,buf);
將buf的內容,拼接到arr中,一定要保證arr的空間足夠大!!否則會出現數組越界問題!
總結:今天講解的新內容,沒有什么疑問,bug還是出現在指針數組上,正在修復中。。。。