C++基础知识学习笔记(1)

资料来源

https://www.bilibili.com/video/BV1et411b73Z/?spm_id_from=333.337.search-card.all.click&vd_source=cc561849591f6a210152150b2493f6f3

简单知识点

创建项目

  1. 用VS创建了一个C++的空项目。

  2. 在【源文件】中创建一个cpp文件

  3. 书写以下代码并运行

#include <iostream>
using namespace std;

int main()
{
    cout << "Hello world" << endl;

    system("pause");
    return 0;
}

注释

  1. 单行注释://
  2. 跨行注释:/* */

变量

变量定义的语法:数据类型 变量名 = 变量值

int a = 100;
cout << "a = " << a << endl;

常量

有两种:

  1. 宏常量
#define PI 3.1415926

int main()
{
	//PI = 3;//会报错,不能再修改了
	cout << "PI = " << PI << endl;

	system("pause");
	return 0;
}

注意#define的位置一般放在文件头部(方便集中浏览和修改),当然也能放到函数里面(在调用位置前面)。

  1. const修饰的常量
int main()
{
	const int PI = 3.14;
	//PI = 3;//不能再修改了
	cout << "PI = " << PI << endl;

	system("pause");
	return 0;
}

标识符命名规则

  1. 不能用关键字
  2. 只能使用字母、数字、下划线
  3. 开头不能用数字
  4. 区分大小写
  5. 建议命名时见名知义(非强制)

数据类型

数据类型的意义:给变量分配合适的内存空间。

整型

image

	short a1 = 1;
	int a2 = 1;
	long a3 = 1;
	long long a4 = 1;
	cout << a4 << endl;
	//short取值范围:-32768 到 32767
	short a1 = 32767;
	short a2 = 32768;
	cout << a1 << endl;//32767
	cout << a2 << endl;//-32768

查看类型所占内存长度

使用sizeof(数据类型 / 变量)

	short a = 1;
	int size_a = sizeof(a);
	int size_int = sizeof(int);
	cout << size_a << endl;//2
	cout << size_int << endl;//4
	cout << sizeof(long) << endl;//4
	cout << sizeof(long long) << endl;//8

实型(浮点型)

  1. 单精度float
  2. 双精度double

image

	float f1 = 3.14f;//如果不加f会将其当做double转为float
	cout << f1 << endl;

	double d1 = 3.14159265354;
	cout << d1 << endl;//默认输出一个小数,会显示6位有效数字

	cout << "float占用空间:" << sizeof(float) << endl;//4
	cout << "double占用空间:" << sizeof(double) << endl;//8

科学记数法:

	float f2 = 3e5;
	cout << f2 << endl;//300000
	float f3 = 3e-2;
	cout << f3 << endl;//0.03

字符型

用于表示单个字符。
char ch = 'a';

	char ch = 'd';
	cout << ch << endl;//d
	cout << sizeof(char) << endl;//1

注意:

  1. 用单引号
  2. char占一个字节。
  3. 字符变量存储的不是字符本身,而是其ASCII码。

查看字符型变量的ASCII码:

	int a = (int)'a';
	cout << a << endl;//97

a:97
A:65

转义字符

表示一些不能显示出来的ASCII码。
常用的转义字符有:\n(换行)、\\(反斜杠)、\t(水平制表)

字符串型

用于表示一串字符。

image

两种风格:

  1. C风格字符串char str[] = "hello";
  2. C++风格字符串string str2 = "world";
    有的VS低版本中需要加入头文件才能支持string:#include <string>

布尔类型

代表真假,有两种值:true(本质是1)、false(本质是0)。
占一个字节。

	bool a = true;
	bool b = false;
	cout << a << endl;//1
	cout << b << endl;//0
	cout << sizeof(bool) << endl;//1

数据的输入

作用:从键盘获取数据。

image
image

注意:

  1. 针对int、float、double等数值型,输入的值如果无法转为int,则转为0.
  2. 针对bool,输入的值如果能转为非0的int,则转为1,否则转为0.

运算符

image

算数运算符

image

注意:

  1. 整数相除,结果还是整数,会去除小数。
  2. 被除数为0会报错。
  3. 取模是求余数。
  4. 两个整数才能做取模。

赋值运算符

image

比较运算符

image

cout << (10 < 9) << endl;//0

逻辑运算符

image

	cout << !100 << endl;//100是真,取反为假

程序流程结构

顺序结构、选择结构、循环结构

支持三目运算符:

  1. 表达式 ? 值1 : 值2
  2. 三木运算符可以返回变量:(a > b ? a : b) = 100

switch语句:

  1. 只能支持整型或者字符型,不支持区间

goto语句:
无条件跳转到某个标记(不建议使用)。

	cout << 1 << endl;
	cout << 2 << endl;
	goto FLAG;
	cout << 3 << endl;
	cout << 4 << endl;
	
FLAG:

	cout << 5 << endl;
	cout << 6 << endl;

一维数组

三种定义方式:

image

一维数据名称的用途:

  1. 统计整个数组在内存中的长度
    统计数组从起始位置到末尾位置的长度:sizeof(arr)
    第一个元素的长度:sizeof(arr[0])
    数组元素个数等于前两者相除了。
  2. 获取数组在内存中的首地址

打印数组首地址(16进制):

cout << "数组首地址:" << arr2 << endl;//000000C7FBBCFCA8
cout << "数组首地址:" << (int)arr2 << endl;//-71500632  强转int了

//打印各个元素的地址
cout << "元素1的地址:" << (int)&arr2[0] << endl;//-71500632
cout << "元素2的地址:" << (int)&arr2[1] << endl;//-71500628 (和元素1的地址相差4个字节,正好是一个int的大小)

注意:数组名是一个常量,不能给其再赋值。

二维数组

四种定义方式:
image

	int arr[4][4];
	int arr2[2][1] = { {1}, {2} };
	int arr3[2][1] = { 1, 2 };
	int arr4[][1] = { {1}, {2} };

二维数组名称用途:

  1. 查看数组所占内存空间
  2. 查看二维数组首地址

image

image

image

函数

image

int add(int n1, int n2) {
	return n1 + n2;
}
int main()
{
	cout << add(1, 2) << endl;
	system("pause");
	return 0;
}

值传递:

  1. 函数调用时,实参的值传递给函数定义中的形参
  2. 形参的值修改,不会影响实参的值。

函数的声明:

  1. 为了告诉编译器函数的名称,以及如何调用函数。
  2. 函数的主体可以单独定义。
  3. 函数可以声明多次,但定义只有一次。

image

//用函数声明,提前告诉编译器函数存在
int add(int n3, int n4);

int main()
{
	cout << add(1, 2) << endl;
	system("pause");
	return 0;
}
int add(int n1, int n2) {
	return n1 + n2;
}

函数的分文件编写:
image

  1. 头文件add.h中,声明函数:
int add(int n1, int n2);
  1. 源文件add.cpp中,定义函数:
#include "add.h"
#include <iostream>
using namespace std;
int add(int n1, int n2)
{
	int n3 = n1 + n2;
	cout << n3 <<endl;
	return n3;
}

注意:#include时,双引号表示自定义的头文件

  1. main函数中引入头文件,调用头文件中的函数:
#include <iostream>
using namespace std;

#include "add.h"
int main()
{
	cout << add(1, 4) << endl;
	return 0;
}
posted @ 2024-05-20 23:04  greencode  阅读(17)  评论(0编辑  收藏  举报