其實C語言的陣列的性質和C++語言很像只是語法不同而已,陣列是一群具有相同資料型態元素集合的資料型態,在記憶體中一個陣列會使用一段連續的記憶體空間來存放
骰子點數出現次數統計練習,我們先用迴圈來練習,再來和陣列比較,下程式碼
#include <stdlib.h>
int main()
{
srand(time(0));
int counter1=0, counter2=0, counter3=0;
int counter4=0, counter5=0, counter6=0;
int i;
for(i=1;i<=6000;i++)
{
int dice=rand()%6+1;
switch(dice)
{
case1: counter1++; break;
case2: counter2++; break;
case3: counter3++; break;
case4: counter4++; break;
case5: counter5++; break;
case6: counter6++; break;
}
}
printf("1: %d\n", counter1 );
printf("2: %d\n", counter2 );
printf("3: %d\n", counter3 );
printf("4: %d\n", counter4 );
printf("5: %d\n", counter5 );
printf("6: %d\n", counter6 );
return 0;
}
上面的程式碼中我們假設骰子骰6000次要統計他的數,我們可以先宣告6個變數,接著for迴圈用骰子的公式來計算並且配合switch的概念case6次,最後全部將他的結果全部printf印出來就是我們要的結果,但這好像有點麻煩因此我們下面可以用陣列的概念來算
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
srand(time(0));
int counter[6]={0};
int i;
for(i=1;i<=6000;i++)
{
int dice=rand()%6+1;
switch(dice)
{
case1: counter[0]++; break;
case2: counter[1]++; break;
case3: counter[2]++; break;
case4: counter[3]++; break;
case5: counter[4]++; break;
case6: counter[5]++; break;
}
}
printf("1: %d\n", counter[0]);
printf("2: %d\n", counter[1]);
printf("3: %d\n", counter[2]);
printf("4: %d\n", counter[3]);
printf("5: %d\n", counter[4]);
printf("6: %d\n", counter[5]);
return 0;
}
上面的程式碼主要是我們能循序的存取他的整數,counter[6]代表裡面有6個元素從0 1 2 3 4 5開始算,其實for迴圈裡面套的switch差不多就是counter1++變成counter[0]++,我們就能求出程式碼
#include <iostream>
using namespace std;
class Dog {
public:
Cat(string animalName) {
name = animalName;
barking = "汪";
}
void saySomething() {
cout << name << ": " << barking
<< endl;
}
private:
string name;
string barking;
};
int main() {
Dog d1("Paul");
Dog d2("Alex");
d1.saySomething();
d2.saySomething();
return 0;
}
上面的程式碼類別名稱是Dog,裡面有兩個變數 name barking 跟一個方法saySomething()
他們都有一個建構子,建構子的參數叫做 animalName,過程中他會把他的值指派給成員變數name