電商專業學習嵌入式軟件開發第五十五天

  • C++第一天

今天是C++第一天,講的都是基礎內容,一天下來連基本的輸入cin輸出cout都沒有使用熟練,再加上前面C基礎不牢固,現在想用C++寫一個簡單的程序都有困難,追根究底還是代碼量匱乏,沒有養成程序員思維。今天在同學的幫助下讓我的第一個項目取得了很大的進展,爭取在這個假期里能讓其正常運行起來。

cin輸入:

#include <iostream>
using namespace std;
int main(void)
{
    char caData[64] = {'\0'};
    //遇到空格或者換行結束輸入字符串
    cin >> caData;
    cout << caData << endl;
    int iNum = 0;
    float fData = 0.0f;
    cin >> iNum >> fData;
    cout << iNum << ' ' << fData <<endl;
    return 0;
}

cout輸出:

#include <iostream>
using namespace std;
int main(void)
{
    cout << "HelloWorld\n";
    //3.14:默認為double
    //5.2f:f用來說明為float
    cout << 3.14 << ' ' << 5.2f << '\n';
    const char *p = "VeryGood";
    cout << p << ' ' << (void*)p <<'\n';
    cout << (void *)"VeryGood" << '\n';
    cout << "VeryGood"[1] << '\n';
    char caBuf[9] = "$TTYTTY$";
    //endl --> '\n'
    cout << caBuf << endl;
    return 0;
}

namespace命名空間:

#include <iostream>
//命名空間:std
//命名空間相當于
//對不同的代碼塊分的不同的組
//using namespace std;
//自定義代碼分組
//防止命名沖突
//便于代碼管理
//使代碼分類更簡潔
namespace PROJECT_A
{
    void fun()
    {
        std::cout << "A::FUN()\n";
    }
}
namespace PROJECT_B
{
    void fun()
    {
        std::cout << "B::FUN()\n";
    }
}
int main(void)
{
    PROJECT_B::fun();
    std::cout << "hello" << std::endl;
    return 0;
}
#if 0
using namespace PROJECT_A;
int main(void)
{
    fun();
    std::cout << "hello" << std::endl;
    return 0;
}
#endif

冒泡排序:

#include <iostream>
using namespace std;
#define NUM 6
void bubble(int arr[NUM])
{
    int i = 0;
    int j = 0;
    int tmp = 0;
    for (; i < NUM-1; i++)
    {
        for (j = 0; j < NUM-1-i; j++)
        {
            if (arr[j] > arr[j+1])
            {
                tmp = arr[j];
                arr[j] = arr[j+1];
                arr[j+1] = tmp;
            }
        }
    }
}
int main(void)
{
    int arr[NUM] = {0};
    for (int i = 0; i < NUM; i++)
    {
        cout << "請輸入第" << i << "個數據:";
        cin >> arr[i];
    }
    bubble(arr);
    for (int i = 0; i < NUM; i++)
    {
        cout << arr[i] << ' ';
    }
    cout << endl;
    return 0;
}

指針:

#include <iostream>
using namespace std;
int main(void)
{
    int a = 90;
    int *p = &a;
    *p = *p + 10;
    cout << "a=" << *p << endl;

    int* &ref = p;
    *ref = *ref + 10;
    cout << "a=" << *ref << endl;
    cout << "a=" << a << endl;
    return 0;
}

別名:

#include <iostream>
using namespace std;
//引用:類似于指針
//是變量的別名
//void myswap(int p1, int p2);
//void myswap(int *p1, int *p2);
void myswap(int &r1, int &r2)
{
    int tmp = r1;
    r1 = r2;
    r2 = tmp;
}
int main(void)
{
    int a = 90;
    int b = 89;
    cout << "a=" << a 
         << " b=" << b << endl;
    myswap(a, b);
    cout << "a=" << a 
         << " b=" << b << endl;
#if 0
    int a = 90;
    //int *pa = &a;
    //*pa = 190;
    //定義一個變量的別名
    //對別名的操作即是對變量的操作
    //引用必須初始化
    int &ref = a;
    cout << "a=" << a << endl;
    cout << "ref=" << ref << endl;
    cout << "&a=" <<(void*)&a
         << "&ref=" <<(void*)&ref
         << endl;
#endif
    return 0;
}

結構體:

#include <iostream>
using namespace std;
typedef struct Test
{
    int &a;
    char &b;
    double &c;
}Test;
int main(void)
{
    cout << sizeof(Test) << '\n';
    int aa = 90;
    char bb = 'b';
    double cc = 3.14;
    Test t = {aa, bb, cc};
    cout << "&aa=" << (void*)&aa<< endl;
    cout << "&bb=" << (void*)&bb<< endl;
    cout << "&cc=" << (void*)&cc<< endl;
    cout << (void *)*((int *)&t) << endl;   
    cout << (void *)*((int *)&t+1) << endl; 
    cout << (void *)*((int *)&t+2) << endl; 
    return 0;
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • //出自51博客:www.Amanda0928.51.com 第一章 一、選擇題 1.B; (typedef ,t...
    Damongggggg閱讀 11,166評論 0 1
  • 第一章 計算機與C++編程簡介 C++程序6個階段編程 ->預處理->編譯->連接->裝入->執行1.程序在編譯器...
    rogertan30閱讀 3,951評論 0 1
  • /* 函數和函數模板 1.函數的參數以及傳遞方式 參數參數傳地址值和傳地址對象對象指針對象引用也可以使用const...
    aofeilin閱讀 1,047評論 1 3
  • 程序骨架 輸入和輸出 流程控制 while 循環 下面的程序使用 while 循環演示了從 1 加到 10 的和是...
    大道至簡峰閱讀 523評論 0 0
  • 一、 為什么需要命名空間(問題提出) 命名空間是ANSIC++引入的可以由用戶命名的作用域,用來處理程序中 常見的...
    IvanRunning閱讀 2,380評論 0 2