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;
}

到位!!!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • c++计算1到100以内的质数

    由于考试使用的是Dev-C++开发工具,为了下次考试做准备,改用该工具,直接下载安装即可,不会涉及到什么破解等

    陈灬大灬海
  • 前端小零碎

    当进行事件绑定的时候可以直接obj.onclick=function(){}进行操作。当是进行for循环进行事件绑定就会出现问题,只会监听到最后数组最后的数据。

    陈灬大灬海
  • swagger2 Illegal DefaultValue null for parameter type integer

    Illegal DefaultValue null for parameter type integer 让人看着很不输入

    陈灬大灬海
  • 1010 过河卒

    1010 过河卒 2002年NOIP全国联赛普及组  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解  查看运行结果...

    attack
  • hdu1089

    @坤的
  • 【计算机本科补全计划】CCF计算机职业资格认证 2016-09 试题详解

    正文之前 我要东山再起了!!没错CCF迫在眉睫(其实是我以为报名之后一个月才考,结果报名截止之后一周就考试!(╯‵□′)╯︵┻━┻!!!还能好好做朋友吗!!)所...

    用户1687088
  • LOJ#2552. 「CTSC2018」假面(期望 背包)

    转移的时候若要淦这个人,那么\(f[i][j] = (f[i - 1][j] + 1) * p + (f[i - 1][j]) * (1 - p)\)

    attack
  • “玲珑杯”ACM比赛 Round #19题解&源码【A,规律,B,二分,C,牛顿迭代法,D,平衡树,E,概率dp】

    A -- simple math problem Time Limit:2s Memory Limit:128MByte Submissions:1599Sol...

    Angel_Kitty
  • C++11—给时代一个新选择

    C++11是新时代的C++亦称为modern C++,是对C++98扩展。C++11旨在手写简便与提高效率。C++11实现了more concise ,more...

    用户5426759
  • C++入坑

    给变量设置一个集合,该变量的值只能从该集合中取为枚举类型。且,转为int类型的初始值为0~6,可以设置其int值

    mySoul

扫码关注云+社区

领取腾讯云代金券