不好意思,各位看官,最近只顧自己學了,忘記上傳學習心得了,小女再次道歉哈。從今天起,將每天定時發學習筆記和學習心得,絕不會再讓各位看官失望了,爲了你們,我一定堅持。好了,廢話不說了,直接上學習筆記。
今天主要學習了一維數組,各位看官,有需要的可以共享哦!
《學習筆記》
1.C語言中可以使用數組分配連續多個同類型的存儲位置;
整個數組只有一個名字;
2.數組名稱與變量名詞
數組名稱代表第一個存儲位置的地址;
變量名稱可以幫我們找到地址而且數組名稱就是地址
數組名詞不可以賦值,而變量名可以
3.數組下標
數組中每個存儲位置有一個獨立的編號,這個編號從0開始,這個編號叫做數組的下標;
數組名稱加下標可以得到對應的數組變量的存儲位置的地址(第一個存儲位置的地址加下標不一定得到下標對應存儲位置的地址)
4.
可以使用循環依次對數組中多個不同的存儲位置進行處理。使用這種方式編寫的程序中的語句量和處理的數據數量沒有關係
5.數組初始化
1)數組初始化數據應該用大括號包含,相鄰數據之間用逗號分開
2)初始化數據按順序從前到後使用
3)如果初始化數據個數超過存儲位置個數,則丟棄後面的數據
4)如果初始化數據個數少於存儲位置個數,則後面的存儲位置都初始化爲0
5)如果初始化數據個數與存儲位置一致,則可以省略存儲位置的個數,即數組聲明的下標可以省略
下午
重點回顧:
1.數組名稱代表第一個存儲位置的地址,它是不可以被修改的
2.數組名稱加下標可以得到下標對應存儲位置的地址
課程內容:
1、對數組名稱進行sizeof計算得到整個數組的大小,以字節爲單位
2、C99中支持變長數組(程序運行後才決定數組中存儲位置的個數)
3、變長數組不可以被初始化
4、無法預測的數字叫隨機數
5計算機中使用的,看起來不可預測的數字叫僞隨機數。把rand函數調用語句直接當作數字使用就可以得到僞隨機數;需要包含stdlib.h頭文件
6、標準函數srand用來設置隨機數種子,不同的種子可以得到不同的隨機數序列
7、把當前系統時間做種子使用可以在每次運行程序時得到不同的隨機數;標準函數time可以獲得當前系統時間;爲了使用這個標準函數,需要添加頭文>
件time.h頭文件
-----------------------------------------------------------------------------------------------------------------------------------
《理論變實踐》
1.數組的表示方法:
*(數組名+下標):表示的是下標元素值,去掉*代表的是下標元素的地址:
2.數組賦值爲1到10,並按賦值順序的倒序打印賦值結果:
3.從鍵盤上得到一個五位數,把其中的數字單獨打印到屏幕上,例如:
12345
1 2 3 4 5
代碼方式一:
#include <stdio.h>
int main()
{
int arr[5], num, i = 0, j = 0;
printf("請輸入一個五位的正整數:\n");
scanf("%d", &num);
while(num%10 != 0)
{
arr[i] = num%10;
i++;
num /= 10;
}
printf("數組輸出爲:\n");
for(j = i-1; j >= 0; j--)
{
//printf("%d ", arr[j]);
printf("%d ", *(arr + j));
//*(數組名 + 下標n)表示的是數組下標爲n的元素的值
//(數組 + 下標n)表示的是數組下標爲n的元素的地址,數組地址是“* 數據類型”的變量
}
printf("\n");
return 0;
}
代碼方式二:
#include <stdio.h>
int main()
{
int num = 0, arr[5], pos = 4;
printf("請輸入一個五位的正整數:\n");
scanf("%d", &num);
for(; num > 0; num /= 10)
{
arr[pos] = num % 10;
pos--;
}
for(num = 0; num <= 4; num++)
{
printf("%d ", arr[num]);
}
printf("\n");
return 0;
}
4.編寫程序統計用戶給定數字中每個數出現的次數,例如:
43545478
0 0
1 0
2 0
3 1
代碼如下:
#include <stdio.h>
int main()
{
int num, pos, arr[10] = {};
printf("請輸入指定的整數:\n");
scanf("%d", &num);
//方式一:
/*while(num%10 > 0)
{
arr[num%10]++;
num /= 10;
}*/
//方法二:
for(; num%10 != 0; num /= 10)
{
arr[num%10]++;
}
printf("統計結果如下:\n");
for(pos = 0; pos <= 9; pos++)
{
printf("數字%d出現的次數爲:%d\n", pos, arr[pos]);
}
return 0;
}