C++基础学习笔记
文章目录
- 1. 基本数据类型
- 2. 变量和常量
- 3. 标识符和关键字
- 4. switch语句
- 5. 跳转语句 goto
- 6. 引用
- 7. 数组
- 8. 命名空间
- 9. 类
- 10. 函数分文件定定义
- 10. 指针
- 11. 结构体
最好有一定C语言基础,仅仅记录小编一些忘记的知识点或没有学习到的知识点
1. 基本数据类型
整形数据类型包括short、int、long、long long,它们的大小分别为2、4、4、8字节;浮点型类型有float、double,它们的大小分别为4、8字节(区别在于小数点后精确点的个数);字符型只有char,大小为1字节;布尔类型只有bool,大小为1字节。
2. 变量和常量
变量的定义为在程序能够变化的一个量;
#include <iostream>
using namespace std;int main() {int a;a = 10;cout << a << endl;a = 20;cout << a << endl;system("pause");return 0;
}
常量的定义为在程序中不可以变化的量,并且初始化的时候必须赋值。下述代码语句会报错或者说通不过编译。
3. 标识符和关键字
标识符只能由字母、数字、下划线、美元符号组成,且不能以数字开头,另外不能和关键字(比如if、while等)相同。常用的关键词如下:
4. switch语句
代码如下:
#include <iostream>
using namespace std;int main() {int a;cout <<"输入成绩:"<<endl;cin >> a;switch (a/10) {case 10:case 9:cout << "优秀。。" << endl;break;case 8:cout << "良好。。" << endl;break;case 7:case 6:cout << "及格。。" << endl;break;default:cout << "不及格。。" << endl;}system("pause");return 0;
}
5. 跳转语句 goto
6. 引用
用来定义别名,用于指向一个已经存在的变量或对象。引用定义只能在声明时进行初始化,也就是引用必须被初始化为某个对象或者变量的别名。
定义:
引用类型的标识符 &别名 = 变量名
参考代码如下:
#include <iostream>
using namespace std;int main() {int a = 10;int& b = a;b = 20;cout << a << endl;system("pause");return 0;
}
7. 数组
int arr[10];
cout << arr[9] << endl;
// 没有赋值,打印的结果为未知数
int arr2[10] = {0};
cout << arr2[9] << endl;
// 打印0,因为对数组arr2已经赋值,虽然只赋值了arr[0],但是其他9个元素值默认为0了。
8. 命名空间
#include <iostream>
using namespace std;namespace LIUZE
{int age = 20;void fun() {cout << "age=" << age << endl;}namespace PLAY{void fun() {cout << "play" << endl;}}
}int main() {LIUZE::fun();LIUZE::PLAY::fun();system("pause");return 0;
}
9. 类
class Student
{
private:int age;
public:char name[20];int id;void setAge(int age1){age = age1;}int getAge(){return age;}void play(){cout << "play game" << endl;}
};int main() {Student s;strcpy(s.name, "张三");cout << s.name << endl;s.setAge(23);cout << s.getAge() << endl;system("pause");return 0;
}
10. 函数分文件定定义
- 创建 .h 的后缀名的头文件
- 创建 .cpp 的后缀名的源文件
- 在头文件中写函数的声明
- 在源文件中写函数的定义
如下:
abc.h
#include <iostream>
using namespace std;void print(int);
abc.cpp
#include "abc.h"void print(int a)
{cout << "a=" << a << endl;
}
10. 指针
指针的大小,在32位操作系统下,指针的大小为4个字节;在64位操作系统下,指针的大小为8个字节。任何类型的指针大小都一致。
const修饰的指针:指针的指向可以修改,但是指针指向的值不可以修改。
指针常量:指针的指向不可以修改,但是指针指向的值可以修改。
const修饰的指针常量:指针的指向不可以修改,且指针指向的值也不可以修改。
11. 结构体
#include <iostream>
#include <string>
using namespace std;struct Student
{int age;string name;
};int main()
{ Student a;a.name = "张三";a.age = 20;cout << "age:" << a.name << "age:" << a.age << endl;system("pause");return 0;
}
在C++中初始化结构体中可以省略struct关键字,但是定义结构体时关键字struct不可以省略,在C语言中会使用typedef关键字,从而避免每次初始化结构体时都需要使用到struct关键字。
结构体数组初始化如下:
int main()
{ Student arr[2] = {{18,"张三"},{20,"李四"}};for (int i = 0; i < 2; i++){cout << "age=" << arr[i].age<< " name=" << arr[i].name << endl;}system("pause");return 0;
}
结构体指针,需要用到箭头访问结构体中的变量,当然也可以使用传统方式访问结构体中的变量,如下:
int main()
{ Student a = { 18,"张三" };Student* p = &a;cout << (*p).name << endl;cout << p->name << endl;system("pause");return 0;
}