一、本篇要学习的内容和知识结构概览
二、知识点逐条分析
1. 混合型语言
C++源文件的文件扩展名为.cpp, 也就是c plus plus的简写, 在该文件里有且只能有一个名为main的主函数, 它作为程序的入口. 因为这个主函数的存在, 所以C++被称为混合型语言.
2. C++语言当中的注释
第一种: 单行注释, 从 // 开始到本行结束.
像这样:
// 下面的代码是求最大值的
第二程: 多行注释, 从 /* 开始到 */ 结束.
像这样:
/*
函数功能: 下面的代码是用来求最大值的
函数描述: 接收两个整型参数, 返回它俩的最大值
*/
3. 输入对象和输出对象
我们在使用这两个对象前, #include <iostream> 先引入这个头文件, 并且使用命名空间: using namespace std; 之后就可以使用这两个对象啦!
a. 输入对象: cin, 输出对象cout.
像这样:
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
第二种: 使用命名空间引入头文件
#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. 合理添加空行和注释, 让代码以组的形式和功能块的形式呈现, 这样就更完美啦!
我们每每在接触一门新的语言的时候, 关注点总是放在关键字, 语法结构, 函数(方法)使用上, 而我们学习一个新的语言要学会得应该是基本素养和基本概念, 以及语言当中所包含的自己所特有的思想。