二維數(shù)組
指針:一定要知道指針的指向??!即指針指向哪里。
指針的運(yùn)算:注意移動字節(jié)數(shù)問題。
指針與數(shù)組的關(guān)系:
指針數(shù)組:int %pa[4];
數(shù)組指針:int (*pb)[4];
============================================================
1.冒泡排序
int arr[5] ={11,33,4,22,5};
參加數(shù)據(jù)個數(shù):5
比較次數(shù):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.隨機(jī)數(shù)
獲取隨機(jī)數(shù):
srand(time(0));
int num=rand()%100;
3.字符串
(1)字符串是由雙引號括起來的字符序列集合“asdfdsf”“asdf”。結(jié)束標(biāo)志:‘\0’,不顯示,但是存在。
?。?)c語言中沒有字符串所對應(yīng)的數(shù)據(jù)類型,通常使用字符數(shù)組保存字符串;
char arr[111]={"hello,world!"};
char bur[222]="asdfsadfsdf";
char a[213]={'s','d','f','d'};
注意:字符數(shù)組保存字符和保存字符串是有的區(qū)別
(3)字符串的輸入和輸出
scanf()/printf()----->占位符%s
scanf()不能接受字符串的空格
但是單個空格可以用scanf()輸入進(jìn)去
getchar();吸收多余的回車符
(4)gets()/puts()
gets():從鍵盤輸入,此函數(shù)有bug,不建議使用
puts():輸出字符串,自動換行,無需換行符
(5)fgets()/fputs()
fgets():獲得數(shù)據(jù)
arr:數(shù)組名,即一個地址
stdin:標(biāo)準(zhǔn)輸入
sizeof(arr):讀取數(shù)據(jù)大小,也可以直接用數(shù)字代替
fputs():輸出數(shù)據(jù)
arr:要輸出的字符串
stdout:標(biāo)準(zhǔn)輸出
注:此處無bug,可以安心使用?。?!
char arr[133]; printf("input :"); fgets(arr,sizeof(arr),stdin); fputs(arr,stdout);
(6)指針和字符串
(7)字符串相關(guān)函數(shù)
頭文件:#include <string.h>
strlen():計算字符串的長度;注意區(qū)分sizeof()的區(qū)別
strcpy():字符串拷貝
strcmp():字符串比較
int ret=strcmp(arr,buf);
若ret=0;則兩字符串相等
若ret>0,則arr大于buf
若ret<0,則arr小于于buf
注:不需要知道返回值的具體值
strcat:字符串拼接
strcat(a,b);