二維數(shù)組
指針:一定要知道指針的指向
指針的運算:注意移動字節(jié)數(shù)的問題
指針與數(shù)組的關系
指針數(shù)組:int pb[4];
數(shù)組指針:int(pa)[4];
二級指針
=========================================================
冒泡排序
int arr[5]={11,45,2,66,34};
參加數(shù)據(jù)個數(shù) 比較次數(shù)
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]
獲取隨機數(shù)
//獲取0~100
srand(time(0));//此語言不能放在循環(huán)中,否則產生的隨機數(shù)相同
int num= rand()%100
字符串
(1)字符串常量
字符串是由雙引號括起來的字符序列集合,
“a” “hhh” “143432#$%”
字符串的結束標志:‘\0’ 其不顯示但是存在
()2 C中沒有字符串所對應的數(shù)據(jù)類型,通常使用字符數(shù)組保存字符串;
char arr[32]={"hello, uuhhio"};
char arr[32]=" content " ;
char af[7]={'' ,'' ,'' ,''}
char =
注意:字符串放進數(shù)組要多占一位
(3)字符串的輸入和輸出
scanf遇到空格,當作字符串輸入結束 *字符串類型
但是單個空格可以輸進去 *字符類型
(4)gets/puts
gets(): 從鍵盤鍵入
此函數(shù)有bug,不建議使用
puts():輸出字符串
自動換行,無需換行符
(5)fgets()/fputs()
fgets(): 獲得數(shù)據(jù)
arr:數(shù)組名,即一個地址
stdin:標準輸入
sizeof(arr):讀取數(shù)據(jù)的大小,也可以直接用數(shù)字代替
fputs(): 輸出數(shù)據(jù)
arr:要輸出的字符串
stdout:標準輸出
(6)指針和字符串
(7)字符串相關函數(shù)
頭文件:#include<string.h>
strlen():計算字符串長度 \0不計入 字符串占用的位置 sizeof是計算整個字符串被分配的大小。
strcpy():字符串拷貝
strcmp():字符串的比較 strcmp(arr1,arr2) 比較每一個字符的ascii碼 依次按字母的大小比較,比出大小就停
abd>abcd abc<abcd
strcat():字符串的拼接
stract(arr,buf);
將buf的內容,拼接到arr中,一定要保證arr足夠大。
自己寫代碼實現(xiàn)strcmp(), strcpy(), strcat()函數(shù)
不可使用原函數(shù)