<<从0到1学C++>> 第1篇 认识C++的函数和对象

一. 本篇要学习的内容和知识结构概览


二. 知识点逐条分析

1. 混合型语言

C++源文件的文件扩展名为.cpp, 也就是c plus plus的简写, 在该文件里有且只能有一个名为main的主函数, 它做为程序的入口.  由于这个主函数的存在, 因此C++被称为混合型语言.ios

2. C++语言当中的注释

第一种: 单行注释, 从 // 开始到本行结束. 像这样: // 下面的代码是求最大值的安全

第二程: 多行注释, 从 /* 开始到 */ 结束. 像这样:bash

/* 函数

函数功能: 下面的代码是用来求最大值的 学习

函数描述: 接收两个整型参数, 返回它俩的最大值ui

*/spa

3. 输入对象和输出对象

咱们在使用这两个对象前, #include <iostream> 先引入这个头文件, 而且使用命名空间: using namespace std; 以后就可使用这两个对象啦!code

a. 输入对象: cin, 输出对象cout.cdn

像这样:对象

int a = 0; // 定义一个整型变量a, 赋初值为0

cout << a; // 打印这个值

cin >> a; // 使用cin对象获取用户输入的值赋值给a

cout << a; // 使用cout对象输出变量a的值

b. 固然咱们也能够输出字符串: 

cout << “我是被输出的字符串!”;

c. 咱们还能够字符串加变量值的拼接输出:

cout << “用户输入的值为: ” << a << endl;

d. 咱们也能够在输出的时候进行换行

第一种: cout << “\n”;

第二种: cout << endl;

这两个的效果是同样的.

4. 使用命名空间

引入头文件的方式有两种, 系统头文件用<>, 自定义头文件用””

第一种: 带.h引入头文件

#include <iostream.h>

第二种: 使用命名空间引入头文件

#include <iostream>

using namespace std;

5. 对象的定义和初始化

int a = 0;

int z(0);

上面两句话是等价的, 做用: 申请内存空间, 给内存空间命名, 向这块内存中写入数据.

不过咱们通常都使用第一种方式.

6. 函数原型及其返回值

函数及变量的使用规则: 先声明, 后使用. 变量有时也能够边声明, 边使用.

咱们在main函数后面定义的函数, 若是想要在main函数内使用, 就必须在main函数前声明, 告诉编译系统, 后面有这个函数, 我要用啦! 固然也能够把函数定义放在main函数以前, 这样就不用声明啦!

像这样: 

#include <iostream>
using namespace std;

// 声明函数
// 第一个int为返回值类型, 也称之为函数类型, 第二, 第三个int为参数类型
int getMax(int, int);

int main(int argc, const char * argv[]) {
    // insert code here...
    
    int a = 5;
    int b = 8;
    
// 函数声明以后, 才可以使用
    int result = getMax(a, b);
    cout << result << endl;
    return 0;
}

// 定义函数
int getMax(int a, int b) {
    if (a > b) {
        return a;
    } else {
        return b;
    }
}复制代码

若是函数不须要返回值, 能够用void标识, 一旦使用void, 函数体再也不使用return语句, 可是可使用return;直接结束函数的执行, 返回到调用函数. 

像这样:

void sayHello() {
    count << “I am a student!” << endl;
    return; // 后面的语句再也不执行, 退出函数
    count << “I am 8 years old!” << endl;
}
复制代码

7. const修饰符及预处理程序

a. const修饰的变量, 在之后值不可再更改, 因此咱们称之为符号常量, 也必须在声明时对符号常量进行初始化.

像这样

const int a = 5;
a = 10; // 错误, 符号常量a不可更改复制代码

可是用extern修饰的外部变量, 能够不用进行初始化.

像这样:

extern const int b; // 其中b为其它文件定义的外部符号常量
复制代码

b. 用于代替宏定义

#define M_PI 3.14 // 宏定义是直接进行替换, 没有类型检查
 复制代码

const float M_PI 3.14; // 而const定义的符号常量, 是有类型检查的, 更安全.
复制代码

c. 预处理有有一种: 宏定义, 条件编译, 文件包含

第一种, 宏定义: 在编译期间, 将出现宏的地方替换为指定代码

第二种, 文件包含: 一个文件把另外一个文件的内容包含进来.

像这样:

#include <iostream> 
using namespace std;复制代码

第三种, 条件编译

像这样:

#ifndef _LIBCPP_HAS_NO_STDIN

extern _LIBCPP_FUNC_VIS istream cin;

extern _LIBCPP_FUNC_VIS wistream wcin;

#endif
复制代码

通常用于系统控制, 跟咱们代码中的if..else是同样的, 用得比较少

8. 代码书写基本规范

a. 括号紧跟在函数名后面, 咱们见到名字加括号, 很直观的知道这是一个函数

b. for, while等关键词和括号之间要用一个空格隔开

c. 运算符左右各留一个空格

d. 在参数列表中, 每一个逗号后面加空格, 这样显得更清晰

e. 合理添加空行和注释, 让代码以组的形式和功能块的形式呈现, 这样就更完美啦!

咱们往往在接触一门新的语言的时候, 关注点老是放在关键字, 语法结构, 函数(方法)使用上, 而咱们学习一个新的语言要学会得应该是基本素养和基本概念, 以及语言当中所包含的本身所特有的思想. 学会对比, 学会思考这门语言的优点和不足, 相信你们必定会有所收获, 而我也在向这方面所努力, 但愿你们一块来讨论这门语言和或者其它的语言, 懂得分享才能更进一步!

本系列文章会持续更新! 你们踊跃的留下本身的脚印吧!

👣👣👣👣👣👣👣👣