![]() |
C++自学笔记 |
老大哥
L5
• 2021-01-03 • 回复 3 • 只看楼主
• 举报
|
C++
- 指令学习
-
include指令
- 带"#"号的指令被称为宏定义或者预编译指令
-
include代表引用和包含的意思,#
代表引用 iostream 文件内容
- main()函数
- 代表主函数 是程序执行的入口
-
- 数据类型
- 基本类型
- 短整型 整形 长整型
- 构造类型
- 布尔型 枚举类型 数组类型 结构体类型 公用体类型 类类型
- 指针类型
- 引用类型
- 空类型
- 基本类型
- 常量及符号
- 常量:值不能改变的量称为常量
- 整形常量 实型常量 字符常量 字符串常量
- cout:输出流
- cout<<表达式1<<表达式2<<...<<表达式n;
- cin:输入
- cin>>变量1>>变量2>>...>>变量n;
- 常量:值不能改变的量称为常量
- 运算符
- 算数运算符
-
- 加法运算符
-
- 减法运算符
-
- 乘法运算符
- / 除法运算符 除数 / 分母不能为0
- % 模运算 取余
- ++ 自加
- -- 自减
-
- 关系运算符
- < 小于 > 大于 <= 小于等于 >= 大于等于 ==恒等(进行判断) != 不等于
- 逻辑运算符
- && 逻辑与 || 逻辑或 ! 逻辑非
- 赋值运算符
- 简单赋值运算符:= 简单赋值
- 符合赋值运算符:
- += 加法赋值 -= 减法赋值 *= 乘法赋值 /= 除法赋值 %= 模运算赋值 <<= 左移赋值 >>= 右移赋值
- &= 按位与运算并赋值 |= 按位或运算并赋值 ^= 按位异或运算并赋值
- sizeof运算符
- sizeof(变量/类型/表达式):返回该类型在内存中所占字节
- 三目运算符
- 表达式1?表达式2:表达式3
- 表达式1为真 结果为表达式2 若为假,结果为表达式3 相当于if语句
- 表达式1?表达式2:表达式3
- 算数运算符
- 判断语句
- if判断语句
- if(表达式1) 语句1;else if(表达式2) 语句2;else 语句3;
- switch语句
- switch(表达式){
case1 常量表达式1:语句1;break;
default:语句n+1
};
- 如果在case中找到匹配成功的则执行case中的语句 如果没有,则执行default语句
- switch(表达式){
case1 常量表达式1:语句1;break;
default:语句n+1
};
- if判断语句
- 循环语句
- while循环
- while(表达式) {语句}
- 表达式不可以为空
- 表达式可以用逻辑真(true)或者非0让循环继续,用逻辑假(false)或0表示结束
- 必须有结束,可以用break,否则就会成为死循环
- while(表达式) {语句}
- do...while循环
- do{语句} while(表达式)
- 循环体先执行一次循环,才会进行while判断
- for循环
- for(表达式1;表达式2;表达式3)语句
- 表达式1通常是赋值表达式,负责设置循环的开始,给控制循环的变量赋值
- 表达式2通常是一个关系表达式,用控制循环的变量和循环变量允许的范围进行比较
- 表达式3通常是赋值表达式,对控制循环的变量进行增大或者减小
- for(表达式1;表达式2;表达式3)语句
- while循环
-
函数
-
定义:能实现特定功能的模块
-
一般形式
- 类型标识符 函数名(形式参数列表){ 变量的声明 语句 }
- 返回值
- return(表达式)
- 返回值的类型必须与类型标识符保持一致
-
形参与实参
- 形参:函数声明定义中
- 实参:调用函数被赋值
- 形参与实参之间是单向传递 形参的值发生改变的话,实参不会改变
-
如果形参是指针类型,就是讲地址值传给形参
-
递归调用
- 直接或者间接调用自己的函数被称为是递归函数
数组、指针和引用
- 直接或者间接调用自己的函数被称为是递归函数
-
- 一维数组
- 数据类型 数组名[常量];
- 数组名的命名规则和变量名相同
- 常量代表的是元素的个数,即数组的长度
- 数组的大小不能动态定义
- 数据类型 数组名[常量];
- 二维数组
- 数据类型 数组名[常量1][常量2]
-
指针
- int *p;
- 指针的变量为p,
- p=&i 取i的地址赋值给指针变量p
- 指针变量不可以直接赋值,就是不能直接给p一个值
-
- 指针运算符 & 取址运算符
- int p= &a;等同于int( (p=&a))
-
& p与&a的区别
-
&与* 优先级相同,按照自右向左的方向结合
-
&* p相当于取a的地址
-
*&a 相当于取变量a所在地址的值,就是a本身
-
指针和数组
- 与一维数组
- 把数组的地址赋值给指针变量,通过指针变量来引用数组
- 方法:
- 1、下标法 p = &a[0]
- 2、指针法 p=a
- 二维数组
- 与一维数组
-
指针与字符数组
- char * p;
-
指向函数的指针
- 函数在编译时被分配给一个入口地址,入口地址就是函数的指针 通过该指针变量调用函数
- 类型名 * 函数名(参数列表);
- 例: int * a(int x,int y );
面向对象
-
- 定义
- 万物皆对象
- 特点:
- 封装
- 将不同的小对象封装成大对象
- 把一部分内部属性和功能对外界屏蔽
- 继承
- 子类自动共享父类数据结构和方法
- 单重继承和多重继承
- 多态
- 相同的行为可作用于多种类型的对象上并获得不同的结果
- 封装