2021年1月2日C++学习

//最近在学习C++的课程,自己立个flag,每天把自己学的东西写到博客上来,加油追梦人!
1.变量存在的意义:方便我们管理内存空间。
2.常量变量:
#define 常量名 常量值 //宏常量
Const 数据类型 常量名=常量值 //修饰该变量为常量,不可更改
3.关键字(标识符),不可以作为变量的名称
4.标识符命名规则
(1)不可是关键字
(2)由字母、数字、下划线组成
(3)第一个字符只能是字母或者下划线
(4)标识符的字母区分大小写
5.数据类型
(1)整型(所占内存空间不同)
Short :2B (-2^15 ~2^15-1)
Int :4B (-231~231-1)
Long :4B (-231~231-1)
Long long :8B (-263~263-1)
(2)sizeof关键字:统计数据类型所占内存大小
Sizeof(数据类型/变量)
(3)浮点型(实型):区别在于表示的有效数字范围不同
Float: 4B 7位有效数字
Double : 8B 15-16位有效数字
1)Float f1 = 3.1415926f; //需要加f,否则会默认为双精度
2)输出小数时,系统会默认为输出6位有效数字
3)科学计数法
Float f2 = 3e2;//3*10^2
(4)字符型:用于显示单个字符 char ch = ‘a’;
1)在显示字符型变量时,用单引号将字符括起来,不能使用双引号
2)单引号内只能有一个字符,不可以是字符串
3)字符型变量只占用1B
4)字符型变量并不是把字符本身放在内存中存储,而是将对应的ASCII编码放到存储单元
5)(int)ch1; //输出其对应的ASCII值
(5)转义字符:用于表示一些不能显示出来的ASCII字符
1)\a 警报
2)\n 换行
3)\t水平制表,跳到下一个TAB位置(占8个字符)
4)\代表一个反斜线字符“\”
(6)字符串型:用于表示一串字符
1)char 变量名[] = “字符串值”;//c语言中
2)String 变量名 = “字符串值”; //C++语言中使用,在头文件string中
(7)布尔类型bool:代表真或者假的值
1)true 真,本质是1(输入非零都是真)
False假,本质是0
2)bool类型占1B
6.数据的输入
(1)cin>>变量; //从键盘中获取数据
7.运算符:执行代码的运算
(1)算术运算符
– ++ 前置:先自增或自减,然后再赋值
后置 :先赋值运算,在自增或自减
%(取余运算,且只能是整型,小数无法取余)
(2)+= -= *= /= %= 赋值运算符
(3)比较运算符:用于表达式的比较,并返回一个真值或者假值
== 相等于
!= 不等于
<小于
>大于
<=
>=
(4)逻辑运算符:用于根据表达式的值返回真值或假值
! 非:取反
&& 与:同真才真,有假则假
|| 或:有真则真
8.程序流程结构
(1)三种基本程序运行结构
顺序结构:程序顺序执行,不发生跳转
选择结构:依据条件是否满足,有选择的执行相应功能
循环结构:依据条件是否满足,循环多次执行某段代码
(2)选择结构
1)if:执行满足条件的语句if()
2)多行格式if语句: if()
Else()
3)多条件if语句:if()
Else if()
Else()
9.三目运算符
(1)算法:表达式1?表达式2:表达式3;
1)表达式1真则执行表达式2;
表达式1为假则执行表达式3;
2)三目运算符返回的是变量,且可以继续赋值;
10.switch 语句:执行多条条件分支语句
(1)语法
Switch (表达式)
{
Case 结果1:执行语句1;break;
Case 结果2:执行语句2;break;

Default:执行语句n;break;
}
1)判断:只能是整型或者字符型,不可以是一个区间
2)结构清晰,执行效率高;
(2)break 跳出当前循环比如while,switch
10.循环结构
(1)while循环语句:只能循环条件的结果为真的情况下,才执行。
1)while(循环条件){循环语句}
2)while(–I)与while(i–)不同
(2)do…while:先执行一次循环语句再判断循环条件
1)语法:do{循环语句}while(循环条件);
2)while是先判断条件在执行循环语句
11.随机数函数
(1)头文件cstdlib
(2)根据系统时间生成随机数种子 :srand((unsigned int )time(null));
(3)生成随机数:int num = rand()%100; //生成0-99之间的任意一数
12.取余函数
个位:a = num%10;
十位:b = num/10%10;
百位:c = num/100%10;
13.次方函数
头文件:cmath
函数:Pow(a,b);a必须是double类型,b是a的多少次方
14.非负数的平方根
头文件:cmath
函数:double sqrt(double);
15.for循环语句:满足循环条件,执行循环语句
(1)语法:for(起始表达式;条件表达式;末尾循环体){循环语句;}
(2)嵌套循环
16.跳转语句
(1)break语句:跳出选择结构或者循环结构
1)用于switch条件语句中,终止case并跳出switch
2)用于循环语句中,跳出当前的循环语句
3)在嵌套循环中,跳出最近的内层循环语句
(2)continue语句:跳过本次循环中余下尚未执行的语句,继续执行下一次循环
(3)goto语句:可以无条件跳转
Goto FLAG;

FLAG:
执行语句;
17.数组
(1)数组:就是一个集合,里面存放了相同类型的数据元素
1)数组中每个数据元素都是相同的数据类型;
2)数组是由连续的内存位置组成的;
(2)一维数组的定义方式
1)数据类型 数组名[数组长度];
2)数据类型 数组名[数组长度] = {值1,值2,…};
3)数据类型 数组名[ ] = {值1,值2,…};
(3)一维数组名称的用途
1)统计整个数组在内存的长度:arr[n]
整个数组在内存的长度:sizeof(arr);
单个元素在内存的长度:sizeof(arr[0]);
元素个数:sizeof(arr)/sizeof(arr[0]);
2)获取数组在内存中的首地址:cout<<arr<<endl;
18.冒泡排序
(1)最常用的排序算法,对数组内元素进行排序
1)比较相邻的元素,如果第一个比第二个大,就交换他们两个
2)对每一对相邻元素做相同的工作,执行完毕后,找到第一个最大值
3)重复以上的步骤,每次比较次数-1,直到不需要比较
(2)内外两层循环
1)总共排序轮数:元素个数 - 1;
2)内层循环对比次数:元素个数 - 当前轮数 - 1;
19.二维数组
(1)二维数组定义的四种方式
1)数据类型 数组名[行数][列数];
2)数据类型 数组名[行数][列数] = {{数据1,数据2},{数据3,数据4}};
3)数据类型 数组名[行数][列数] = {数据1,数据2,数据3,数据4};
4)数据类型 数组名[ ][列数] = {数据1,数据2,数据3,数据4};
(2)二维数组数组名
1)查看二维数组所占内存空间:sizeof(arr);
一行所占内存空间:sizeof(arr[0]);
一个元素占用内存空间:sizeof(arr[0][0]);
2)获取二维数组首地址:(int)arr;//转换为十进制
具体元素的首地址:&arr[0][0];
第一行的首地址:arr[0];

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值