c++入门笔记

对于有java基础的人来说,学习c++并不难,毕竟c++是java的前身。

何况还熟练掌握了java呢,哈哈。

安装gcc环境,照着菜鸟教程来。

开发工具ide使用vs,eclipse虽然用习惯了,这个感觉还凑合。挺好用。

一些概念性知识

如果用变量名作为实参,其传递方向是单向的,而用引用作为实参其传递方向
是双向的;

C++函数的返回值类型可以是除数组和函数以外的任何类型。
函数可以返回一个引用,将函数说明为返回一个引用的主要目的是为了将函数用在赋值运算符的左边。函数原型的表示方法为:数据类型& 函数名(参数列表);。
函数的返回值可以是存储某种类型数据的内存地址,称这种函数为指针函数。它们的一般定义形式为:类型标识符 *函数名(参数列表);。
使用内联函数能加快程序执行速度,但如果函数体语句多,则会增加程序代码的大小。当一个函数功能不太复杂,但要求被频繁调用,应选用内联函数。。。可以理解为普通函数

总体来说,总感觉c++没java使用顺手,或许是一开始不习惯吧,继续探索吧。

效果图

 

下面是一些基础的代码,慢慢体会吧。注释很是详细

#include <iostream>
using namespace std;

// 值传递,不改变本身值
void f1(int a, int b) {
    int temp;
    temp = a;
    a = b;
    b = temp;
} 

// 引用传递,改变传入的参数值。
void f2(int &a, int &b) {
    int temp;
    temp = a;
    a = b;
    b = temp;
}

void mul99() {
    int i;
    int j;
    for (i = 1; i <= 9; i++) {
        for (j = 1; j <= i; j++) {
            cout << j << "*" << i << "=" << i * j << "\t";
        }
        cout << endl;
    }
}

void star() {
    int i, j, n = 6;
    for (i = 1; i <= n; ++i)
    {
        for (j = 1; j <= n - i; ++j)
            cout << " ";
        for (j = 1; j <= 2 * i - 1; ++j)
            cout << "*";
        cout << endl;
    }
    for (i = 1; i <= n - 1; ++i)
    {
        for (j = 1; j <= i; ++j)
            cout << " ";
        for (j = 1; j <= 2 * (n - i) - 1; ++j)
            cout << "*";
        cout << endl;
    }
}

void qiongju() {
    int x, y, z;
    for (x = 0; x <= 20; x++)
        for (y = 0; y <= 33; y++)
            for(z = 0; z <= 300; z++)
                if (5 * x + 3 * y + z / 3 == 100 && x + y + z == 100 && z % 3 == 0)
                {
                    cout << "鸡翁" << x << "鸡母" << y << "鸡雏" << z << "" << endl;
                }
}

void arrOddEven() {
    int arrA[10];
    cout << "请输入10个非零自然数";
    for (int i = 0; i < 10; i++) {
        cin >> arrA[i];
    }
    cout << "奇数有:" << endl;
    for (int i = 0; i < 10; i++) {
        if (arrA[i] % 2 == 1) {
            cout << arrA[i] << "\t";
        }
    }
    cout << endl;
    cout << "偶数有:" << endl;
    for (int i = 0; i < 10; i++) {
        if (arrA[i] % 2 == 0) {
            cout << arrA[i] << "\t";
        }
    }
    cout << endl;
}

typedef struct {
    int x;
    int y;
}Goods;

int main() {
    int a = 1;
    int b = 2;
    // 值传递
    f1(a,b); 
    cout << a << "---" << b << endl; // 1 2

    // 引用传递
    f2(a,b); 
    cout << a << "---" << b << endl; // 2 1

    // 99乘法表
    mul99();

    // sqrt平方根数学方法
    cout << sqrt(100) << endl;// 求平方根。

    // 输出零星
    star();

    // 穷举法
    qiongju();

    // 数组判断奇偶性
    //arrOddEven();

    // typedef struct 结构体
    Goods g;
    Goods &gs = g;
    g.x = 13;
    g.y = 14;
    cout << gs.x << "\t" << gs.y << endl;

    system("pause");// 按任意键继续。。。
    return 100;
}

到位!!!

posted @ 2018-08-27 09:41  陈灬大灬海  阅读(395)  评论(0编辑  收藏  举报