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