前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >c++入门笔记

c++入门笔记

作者头像
陈灬大灬海
发布2018-09-12 15:41:38
4850
发布2018-09-12 15:41:38
举报
文章被收录于专栏:面朝大海春暖花开

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

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

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

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

一些概念性知识

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

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

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

效果图

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

代码语言:javascript
复制
#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;
}

到位!!!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-08-27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档