电商专业学习嵌入式软件开发第五十五天

2017-04-02  本文已影响0人  雨打梨花闭门寒

今天是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;
}
上一篇下一篇

猜你喜欢

热点阅读