C++基础部分

本文介绍了C++编程语言的基础知识,包括输入输出操作如scanf和cout,数据类型如整型、浮点型和字符型,算术和赋值运算符,条件判断和循环结构,以及函数的定义和调用。此外,还讨论了内存管理中的new和delete,指针和引用的概念,以及命名空间的使用。
摘要由CSDN通过智能技术生成

C++总览

一、输入输出

  • scanf("%格式符",&变量名); cin>>变量名

  • printf("%格式符",变量名或表达式); cout<<输出内容

二、数据类型及格式符

  • 整型 int %d

  • 长整型 long long int %lld

  • 单精度浮点型 float %f

  • 双精度浮点型 double %lf

  • 字符型 char %c

    • 字符型char a='a'

    • 字符串

      • C:char a[]="abc"

      • C++:string str1="abc"

        需要:#include<string>

  • 布尔类型 bool

    bool类型占1字节大小 输入只能输入数字,不能输入false和true

    • 真 True 1

      除了0代表假,任何值都代表1

    • 假 False 0

  • 数组

三、浮点型数据小数有效位

  • printf("%.数字f",变量名或表达式);

  • printf("%.数字lf",变量名或表达式);

四、算术运算符

  • + 加法;正号

  • - 减法;负号

  • * 乘法

  • / 除法

  • % 取模运算 只有整数才能取模运算

  • 递增递减

    • ++ 递增

      前置先++,后置后++

      • 前置:先让变量+1,然后进行表达式运算

        a=++b * 10;等价于: b=b + 1; a=b * 10;

      • 后置:先进行表达式运算,然后让变量+1

        a=b++ * 10;等价于: ​a=b * 10; b=b + 1;

    • -- 递减

五、赋值运算符

  • = 赋值

  • += 加等于

  • -= 减等于

  • *=

  • /=

  • %=

六、比较运算符

比较的返回结果: 真:1 假:0

  • ==,等于

  • !=,不等于,

  • < ,小于,例:3<6;3+4<7

  • > ,大于,例:5>3;4+7>15

  • <=,小于或等于,例:5<=3;4+7<=15

  • >=,大于或等于,例:5>=3;4+7>=15

七、逻辑运算符

  • &&(与)

  • ||(或)

  • !(非)

    真变假,假变真

八、程序流程结构

  • 顺序结构

  • 选择结构

    • if语句

      • 单行if(){}

      • 多行if(){}else{}

      • 多条件if(){}else if(){}else if(){}else{}

    • 三目运算符

      • 判断语句1 ? 语句2 : 语句3如果语句1正确,执行语句2,否则执行语句3

      • 判断语句1 ? 变量1 : 变量2如果语句1正确,返回变量1,否则返回变量2

        c为max(a,b)的表达式:c=( a>b ? a : b )

    • 多路分支 switch语句

      • 缺点

        只能判断整形或者字符型 ​是多路径单通道,不能是一个区间

      • 优点

        整洁清晰 效率高

  • 循环结构

    • for循环

    • while循环 while(满足的条件){执行语句}

    • do{}while()

  • 跳转语句

    • break语句 跳出所在循环

    • continue语句 跳过本次循环中尚未执行的语句,继续执行下一次循环

    • goto 语句

      goto 标记(不用定义); ... 标记;

九、函数

  • 定义:返回值类型 函数名(参数列表){ 函数体语句 return表达式 }

  • 传递

    • 1.值传递

      • 函数内部的形参的改变不会影响外部实参的值

    • 2.地址传递(指针形参)

      • 形参为指针,值函数将地址(&变量)传给形参

    • 3.引用传递

      • 形参成为了实参的一个“别名”,对引用的操作就是对对象本身的操作

    • 4.数组形参

    • 5.带默认值的形参

    • 6.对象形参

      • 函数头或声明的括号内:(类名 对象名)

  • 分文件编写

    • 1.创建名字为 函数名.h 的头文件

    • 2.头文件中写上基本框架(iostream和std)和函数的声明

      自定义函数是在基本框架前提下实现的

    • 3.创建名字为 函数名.cpp 的源文件

    • 4.源文件中写#include<函数名.h>和函数的定义部分

  • 带默认参数

    1.有声明(也叫原型)在声明给出,无声明在定义头部给出 2.默认参数指定顺序:从右到左

  • 重载函数(C++特有)

    功能相同或类似,只是形参的个数,类型,顺序有不同的同名函数,称为重载

    • 函数名相同

    • 形参的某方面有区别

    • 不能通过函数返回值类型判断函数重载

十、内存

  • 1. 内存分区模型

    • 1.代码区

      • 存放函数体的二进制代码,由操作系统进行管理控制

      • 性质:

        • 1.共享 可以多次重复运行不必再复制一次代码,内存中有一份代码就行

        • 2.只读 防止意外修改代码

    • 2.全局区

      • 存放全局变量和静态变量以及常量

    • 3.栈区

      • 由编译器自动分配释放,存放函数的参数值,局部变量等

    • 4.堆区

      • 由程序员分配和释放,若程序员不释放,程序结束时由操作系统释放

  • 2. new和delete运算符

    • new

      实现动态内存空间的申请

      • 代码:

        int ptr ; //申请1个int大小的内存空间,该空间中是随机数,即ptr是随机数 ptr = new int ; //申请连续10个int大小的内存空间实现动态内存一维数组 ptr = new int[10] ; //申请1个int大小的动态内存空间,该空间中值为10,即*ptr=10 ptr = new int (10) ;

      • new返回的是一个指针

        new int(10)相当于int *一个值为10的指针

    • delete

      实现动态内存空间的释放

      • 代码:

        //释放单个空间,对应于new 类型名; ​delete 指针变量名; //释放数组空间,对应于new 类型名[ ]; delete [ ]指针变量名;

十一、指针与引用

  • 指针

    • *运算符

      • 定义时,告诉计算机这个一个指针

      • 作为运算符:作用于指针时表示访问指针所指向的对象

  • 引用

    • 定义 数据类型 &引用名=目标变量定义时必须有目标变量

      引用名就相当于是目标变量的别名 两者 值和id一模一样 是同一个变量

十二、命名空间(名字空间)

  • 命名空间中内容的使用

    • 方法1. 在使用该命名空间中的内容时:名字空间名称::局部内容名

    • 方法2. 在使用...前:using namespace 命名空间名称

    • 方法3. using 名字空间名称::局部内容名 

所有内容都在个人幕布:

C++总览 - 幕布 (mubu.com)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老油条了!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值