C++基础

数据类型

在创建任意变量和常量时,必须指定出数据类型

存在意义:给变量分配合适的内存空间

1.整型:整数类型

short 2字节 短整型

int 4字节 整形

long windows4字节 linux为4字节(32位)8字节(64位)

long long 长长整形 8字节

2.sizeof关键字

可以求出数据类型所占内存大小 数据类型占用内存大小与所存的数据大小无关

语法:sizeof(数据类型/变量);

3.浮点型

作用:用于表示小数

float(单精度)4字节

double(双精度)8字节

系统默认创建小数是double,用float创建时需要加上f:float f1 = 3.14f;

默认情况下,输出一个小数会显示出六位有效数字

科学计数法:3e2表示300,3e-2代表0.03

4.字符型

char ch='a'; 1字节

注意事项:单引号而不是双引号 单引号内只能有一个字符,不能是字符串

字符型变量不是把字符本身存到内存中,而是将对应ASCII编码放入存储单元

输出字符型变量对应的ASCII编码: cout<<(int)ch<<endl; 含义为把ch强转为整型

ASCII 值 a-97 A-65

5.转义字符

作用:表示一些不能显示出来的ASCII字符

\n 换行

\t 水平制表符 \t表示了8个空格 起到对齐的效果

\\表示一个\符号

6.字符串型

注意要用双引号

C风格字符串: char 变量名 ="字符串值"

C++风格字符串:string 变量名 ="字符串值" 需要包含string头文件

7.布尔类型

bool类型只有两个值 1字节

true --真 (本质是1)

false -- 假 (本质是0)

8.数据的输入

作用:从键盘获取数据 整形,浮点,bool,字符,字符串都可以修改

语法:cin >> 变量

9.运算符

算数运算符

    • * /(两个整数相除,结果依然是整数,会将小数部分去除,不能除以0,两个小数可以相除,运算结果也是小数)

%(取余,两个小数之间不可取余)

++(前置,后置)

--(前置,后置)

前置:先变化,后进行表达式运算

后置:先进行表达式运算,后变化

赋值运算符

+=,-=,*=,/=,*=,%=

a+=2 相当于a = a+2

比较运算符

==相等于

!=不等于

<小于

>大于

<=小于等于

>=大于等于

逻辑运算符

!非

&&与 有假则假

||或 有真即真

程序流程结构

顺序流程,选择流程,循环流程

选择结构

1.if语句

if(){

}//单行if语句

if(){

}else{

}//多行if语句

if(){

}else if(){

}else if(){

}//多条件if语句

//嵌套if语句

2.三目运算符

c = (a>b?a:b); 如果a>b就把a赋值给c,否则就把b赋值给c

三目运算符返回的是变量,可以赋值

(a>b?a:b)=100;

3.switch语句

循环结构

满足循环条件就执行循环语句

while(循环条件){

}

do...while

do{

}while(循环条件);

for循环

for(起始表达式;条件表达式;末尾表达式){

循环语句

} 括号内的三个表达式都可以不写for(;;){}

跳转语句

break 用于直接跳出循环语句和选择语句

跳出循环:直接不进行循环,而不是更新条件继续运行

continue

在循环语句中,跳过本次循环中剩下的语句,然后进行下次循环

goto语句

用于跳过语句,图片中1,2运行后直接运行5

数组

数组特点:

数组中每个元素都是相同的数据类型

数组放在一块连续的内存空间中

1.数据类型 数组名数组长度;

2.数据类型 数组名数组长度 = {值1,值2};

3.数据类型 数组名\[\]={值1,值2};

定义数组时,必须有初始长度

如果在初始化时没有填写完数据,会用0填补剩余数据

一维数组数组名

1.可以统计整个数组在内存中的长度 使用 sizeof(数组名)

通过sizeof(arr)/ sizeof(arr0)可以计算出arr数组中元素个数

2.可以获取数组在内存中的首地址 cout<<数组名<<endl;

相关推荐
键盘会跳舞1 小时前
C++ :容器适配器stack源码级拆解
开发语言·c++··stack·先进后出
美味蛋炒饭.1 小时前
Git 版本控制(下)
开发语言·git·学习·总结·后端开发
我星期八休息2 小时前
网络编程—网络层
开发语言·前端·网络·人工智能·智能路由器
不负岁月无痕2 小时前
简单理解操作系统结构
java·linux·c语言·开发语言·c++·面试
余额瞒着我当琳2 小时前
C++模板初阶与STL初探
android·java·c++
SomeB1oody2 小时前
【RustyML入门】2.9. MeanShift
开发语言·后端·机器学习·rust·教程
萧瑟其中~3 小时前
多线程锁详解:互斥锁·自旋锁·读写锁(CAS + futex 原理)
开发语言·c++
初级代码游戏3 小时前
iOS开发 Swift 速记7:结构体和类
开发语言·ios·swift
golang学习记3 小时前
Go 项目使用docker compose的正确方式
开发语言·docker·golang