iT邦幫忙

2022 iThome 鐵人賽

DAY 21
0
Software Development

C語言與C++語言系列 第 21

C語言與C++語言第二十一天

  • 分享至 

  • xImage
  •  

C語言陣列

其實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]++,我們就能求出程式碼

C++語言物件導向

#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


上一篇
C語言與C++語言第二十天
下一篇
C語言與C++語言第二十二天
系列文
C語言與C++語言30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言