iT邦幫忙

2022 iThome 鐵人賽

DAY 16
0
自我挑戰組

C語言與C++語言自學系列 第 16

C語言與C++語言自學第十六天

  • 分享至 

  • xImage
  •  

C++語言印出1到10的偶數

** 我們要怎麼印出1到10之間的偶數呢,我們能用for來寫,昨天我們有用比較直觀的寫法來寫,但我們今天能用比較偏數學的概念來寫,也更有彈性來過濾條件**

#include <stdio.h>
int main()
{
    int count;
    for(count=1;count<=10;count++)
    {
        if(count%2==0)
        {
            printf("%d\n", count);
        }
    }
    return 0;
}

上面的程式碼中for迴圈會將所有有可能的數字數出來,那if只要負責把符合條件的數字找出來當作過濾的條件,我們搭配這個if我們可以把思考變得很簡單
我們可以用下程式碼來表達為何這樣過濾條件使得思考變簡單

#include <stdio.h>
int main()
{
    int count;
    for(count=1;count<=10;count++)
    {
        if(count%2==0&&count%3!=0)
        {
            printf("%d\n", count);
        }
    }
    return 0;
}

上面的程式碼是印出1到10之間不是三的倍數的偶數,雖然上面讓他跑十次在用if過濾他有點沒效率,但我們後來加的判斷不是三的倍數只要&&和加在判斷裡面就能跑,那我這樣的思考就相當簡單不需要太複雜在for裡面判斷

#include <stdio.h>
int main()
{
    int count;
    for(count=2;count<=10;count+=2)
    {
        if(count%3!=0)
        {
            printf("%d\n", count);
        }
    }
    return 0;
}

上面的程式碼是更精簡的印出1到10之間不是三的倍數的偶數,count從2開始跑count始終小於等於10每次count+2其實這個迴圈只會跑五次,找出所有的嫌疑犯然後嫌疑犯的數字就變少再加上if過濾不是三的倍數,我們最後印出count就是我們要的1到10之間不是三的倍數的偶數

C++以指標進行傳值參考呼叫

C++中有三種方法,可以將引數傳遞給函示,1使用傳值呼叫pass by value 2使用參考引數的傳參考呼叫pass by reference with reference arguments 3使用指標引數的傳參考呼叫pass by reference with pointer arguments廢話不多說上程式碼

#include <iostream>
using namespace std;

int cubeByVaule(int);

int main()
{
    int number=5;

    cout<<"The original vaule of number is "<<number;

    number=cubeByVaule(number);
    cout<<"\nThe new vaule of number is "<<number<<endl;
}
int cubeByVaule(int n)
{
    return n*n*n;
}

上面的程式碼我們採傳值呼叫,將變數number傳給函示cubeByVaule,函示cubeByvaule計算引數的立方,並使用return敘述把結果傳回main,在main中此值會設給number,呼叫的函示可在修改變數number之值前,檢查呼叫函示的結果,例如我們可將cubeByVaule的結果儲存到另一個變數,檢視並判斷這個數值是否合法,再將結果指定給number


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

尚未有邦友留言

立即登入留言