No 6 陣列和隨機數

2022-08-22 15:06:08 字數 3608 閱讀 5855

陣列的定義和使用

格式:資料型別 陣列名[元素個數]

元素個數,代表該陣列有多少個相同資料型別的變數

下標 用來表示陣列中的某乙個元素   例如 int arr[10]; arr[1]代表陣列的第二個元素

陣列下標是從0開始的 到陣列元素個數-1

陣列下標越界:超出了陣列元素個數的下標,如果操作越界資料會出現程式錯誤

陣列元素個數= sizeof(陣列名)/sizeof(陣列元素 | 陣列資料型別)

陣列初始化:

全域性陣列若不初始化,編譯器將其初始化為零

int a[10] = ;//定義乙個陣列,同時初始化所有成員變數

int a[10] = ;//初始化前三個成員,後面所有元素都設定為0

int a[10] = ;//所有的成員都設定為0

inta = ;//定義了乙個陣列,有5個成員

陣列名是乙個位址的常量,代表陣列中首元素的位址

printf("%p\n",陣列名)

printf("%p\n",陣列元素)

陣列元素+1 (sizeof(資料型別))

陣列名+1(sizeof(陣列名))

冒泡法排序

;//定義乙個陣列,同時初始化所有成員變數

int i = 0

;

int j = 0

;

int n = sizeof(a) / sizeof(a[0

]);

inttmp;

//1、流程

//2、試數

for (i = 0; i < n-1; i++)}}

for (i = 0; i < n; i++)

printf("\n

");return0;

}二維陣列:

格式:資料型別 陣列名【行個數】【列個數】

初始化方式:

//分段賦值    int a[3][4] = ,,};

int a[3][4] =, ,  };         

//連續賦值

int a[3][4] = ;

//可以只給部分元素賦初值,未初始化則為0

int a[3][4] = ;

//所有的成員都設定為0

int a[3][4] = ;

//中不定義元素個數,定義時必須初始化

int a[4] = ;

求行數:sizeof(陣列名)/sizeof(陣列名[0]);

求列數:sizeof(陣列名[0])/sizeoef(陣列名[0][0])

printf("%p\n",陣列名);

字元陣列與字串區別

c語言中沒有字串這種資料型別,可以通過char的陣列來替代

數字0(和字元『\0』等價)結尾的char陣列就是乙個字串,但如果char陣列沒有以數字0結尾,那麼就不是乙個字串,只是普通字元陣列,所以字串是一種特殊的char的陣列

#include int

main()

; //

普通字元陣列

printf("

c1 = %s\n

", c1); //

亂碼,因為沒有』\0』結束符

//以『\0』(『\0』就是數字0)結尾的字元陣列是字串

char c2 = ;

printf(

"c2 = %s\n

", c2);

//字串處理以『\0』(數字0)作為結束符,後面的'h', 'l', 'l', 'e', 'o'不會輸出

字串的初始化

#include //

c語言沒有字串型別,通過字元陣列模擬

//c語言字串,以字元『\0』, 數字0

intmain()

; printf(

"buf = %s\n

", buf); //

亂碼

//指定長度,後面沒有賦值的元素,自動補0

char buf2[100] = ;

printf(

"buf2 = %s\n

", buf2);

//所有元素賦值為0

char buf3[100] = ;

char buf4[50] = ;

printf(

"buf4 = %s\n

", buf4);

//使用字串初始化,編譯器自動在後面補0,常用

char buf5 = "

agjdslgjlsdjg";

//'\0'後面最好不要連著數字,有可能幾個數字連起來剛好是乙個轉義字元

//'\ddd'八進位制字義字元,'\xdd'十六進製制轉移字元

//\012相當於\n

字串的輸入輸出

#include int

main()

字串追加:在乙個字串屁股後面再累加乙個字串

#include int

main()

int j = 0

;

while (str2[j] != 0

)

dst[i + j] = 0; //

字串結束符

隨機數

1、新增標頭檔案 time.h  stdlib.h

2、新增隨機數種子 srand((unsigend int )time(null));

3、生成隨機數 rand()  % 

乙個小例子

#include #include 

#include

intmain()

隨機數reference:

隨機數生成 偽隨機數和真隨機數

c語言隨機數的生成,很隨機,又不隨機,比如像下面的程式 c語言生成隨機數的函式在stdlib.h庫中 include includeint main return 0 上面的 經過執行生成了 41 18467 6334 26500但是無論執行多好遍結果都是一樣的,隨機數並不隨機。這是因為rand 函...

隨機數 科普 真隨機數和偽隨機數

位元幣使用者很喜歡討論 非對稱加密 橢圓曲線 量子計算機 這類高深莫測的話題,然後再以一種非常莫名其妙的方式把幣弄丟,比如說 隨機 隨機很重要,對於位元幣這種密碼學電子貨幣來說,尤其重要。可惜社群內對於隨機的討論並不多,導致很多人缺乏正確的認識,因此,我們今天就和大家聊聊隨機。說到隨機,有兩個必須要...

隨機生成6位隨機數

一 使用math.random 函式 int math.random 9 1 100000 說明 1.math.random 隨機生成 0.0,1.0 的double 2.math.random 9 1 100000 的範圍就是 0.0,1.0 9 1 100000 即 100000.0,10000...