成都网站建设设计

将想法与焦点和您一起共享

黑马c++学习笔记基础篇-创新互联

基础篇
  • 命名空间的作用
    • 避免同名问题
  • 变量
    • 方便我们进行内存管理,给一段内存起一个名方便管理内存空间
    • 不用记忆内存名字
    • 语法
      • 数据类型 变量名 = 变量初始值;
  • 常量
    • 记录程序中不可更改的数据
    • 语法
    • # define 宏常量
    • const 修饰的变量
  • 关键字
    • c++中预先保留的单词,这些单词编译器全懂=都征用了,有其特定的含义
    • 不能用关键字起名,在编译器中会产生歧义
  • 标识符
    • c++给标识符(变量或者常量)命名时,有自己的一套规则
    • 不能用关键字
    • 有字母、数字、下划线组成,开头不能是数字
    • 区分大小写
    • 最好能见名知意
  • 数据类型
    • 给变量分配一段合理的内存空间

创新互联是一家专注于做网站、成都做网站与策划设计,仁寿网站建设哪家好?创新互联做网站,专注于网站建设十年,网设计领域的专业建站公司;建站业务涵盖:仁寿等地区。仁寿做网站价格咨询:028-86922220
    • 一般数据大小就用int即可
  • sizeof关键字
    • 语法
      • sizeof(数据类型/变量)
  • 实型(浮点数)
    • 默认情况下输出一位小数,显示六位有效数字
    • float 7位有效数字  占用四个字节
      • 通常在float后面加上f,告诉它是float类型的数据类型
    • double 15-16位有效数字 占用8个字节
    • 科学计数法
      • 3e2=3*10^2
      • 3e-2=3*0.1^2
  • 字符型
    • 用于显示单个字符  占一个字节
    • 语法
      • char 变量名 = 字符
    • 单引号里面只能有一个字符
    • 用单引号括起来
    • 字符型变量并不是将字符存在内存中,而是将对应的ASCII码存在了内存中
    • (补充知识点)
      • 强转  (int)字符
        • 将字符强转为整型为了看他的ASCII码
        • a-97   A-65
      • ASCII码主要分为两部分
        • 0-31个为非打印控制符
        • 32-126为打印控制符
  • 转译字符
    • 用于显示一些不能显示出来的ASCII码字符
    • 语法
      • /符号
      • 放在输出内容中
    • \n
      • 换行
    • \\
      • 输出\
    • \t
      • 制表符用于对齐数据
  • 字符串型
    • 用于表示一串字符
    • 语法
      • char 变量名[] ="字符串"
      • string 变量名="字符串"
        • 用c++分格需包含它的头文件
  • 布尔数据类型
    • 布尔数据表示真和假的值
    • 占用一个字节大小
    • 只要非0即为真
  • 数据的输入
    • 从键盘上获取数据
    • cin>>变量
  • 运算符
    • 算数运算符
      • 除法分母不能为0
      • 取模运算即取余运算
        • 不可为0,不可为小数
      • 前置,先递增递减在做运算,后置先运算,在进行递增递减
    • 数值运算符
    • 比较运算符
      • 返回表达式的比较
      • ==,等价
    • 逻辑运算符
  • 程序流程结构
    • 顺序结构
      • 按顺序
    • 选择结构
      • 按条件是否满足,执行相应功能
      • 三目运算符
        • 表达式1?表达式2:表达式3
          • 表达式1为真,执行表达式2否则执行表达式3
          • 返回的是一个变量,可以继续进行赋值操作
      • swich语句
        • 如果break前的语句过长会报错,这时,用一个{}将内容括起来
        • 语法
          • swich(条件)
          • {
          • case 1:
          • 执行语句;
          • break;
          • case……
          • default:
          • 执行语句
          • break;
          • }
        • 执行效率高,但不可判断区间
        • 满意度游戏
    • 循环结构
      • 按条件是否满足,循环的执行某段代码
      • while
        • 语法
          • while()
          • {}
        • 条件为真执行
        • 循环应避免死循环的出现
        • 猜数字游戏
      • do while
        • 语法
          • do
          • {}
          • while()
        • 先执行后判断
        • 案例水仙花树
      • for循环
        • 语法
          • for(起始表达式;条件表达式;末尾循环体)
          • {执行语句}
        • 敲桌子游戏
      • 嵌套循环
        • 双重for循环
    • 跳转语句
      • 出现在swich中,跳出case和swich
      • 出现在循环中,跳出当前循环
      • 出现在嵌套循环中,跳出最近的一层循环
      • 加上判断条件,可实现特定情况下的退出
    • continue语句
      • 作为筛选条件,跳过之后的未执行循环语句,进行下次循环
    • goto语句
      • 无条件的跳转语句
      • 尽量不要使用goto语句,以免造成程序流程混乱
      • goto FLAG;
      • flag:
  • 数组
    • 一位数组
      • 一个集合,存放相同数据类型的元素
      • 存放在一段连续的内存空间中
      • 下标从0开始
      • 初始化没写的默认为0
      • 数组名不要和变量名字重复
      • 数组名是常量不能进行赋值操作
      • 语法
        • 数据类型 数组名 [数组长度];
        • 数据类型 数组名 [数组长度]={值1,值2,......};
        • 数据类型 数组名 []={值1,值2};
      • 数组名的用途
        • 统计数组大小
          • sizeof(arr)
        • 数组首地址
          • arr
        • 数组元素个数
          • sizeof(arr)/sizeof(arr[0])
        • 看数组元素的首地址
        • &arr[0]
      • 游戏
        • 五只小猪称体重
          • 定义额外变量存储大值,不要改变数组元素内容
        • 数组元素逆置
          • 用两个变量存储开始位
          • 置和结束位置,来进行while语句中的判断
            • while(start
    • 二维数组
      • 名称用途
        • 看占用的内存空间
        • 查看地址
  • 函数
    • 将一段经常使用的代码封装起来,减少重复代码
    • 语法

      • 函数的为形参,调用时为实参
    • 值传递
      • 函数调用时,实参将数值传入形参
      • 如果形参发生改变,不影响实参
    • 函数的常见样式
      • 无参无返
      • 有参无返
      • 无参有返
      • 有参有返
    • 函数的声明
      • 函数只能定义一次可以声明多次
      • 在函数定义前声明
    • 函数的分文件编写

  • 指针
    • 指针也是一种数据类型,32位操作系统占4个字节,64位占8个字节,不区分变量类型
    • 作用
      • 通过指针简介访问内存
      • 用指针变量保存地址
    • 定义指针
      • 数据类型 * 指针变量名(是一个16进制的数字)
    • 解引用
      • *指针变量
        • 告诉计算机你找到了指针指向的内存
    • 空指针和野指针
      • 空指针
        • 空指针,给指针变量进行初始化
        • 空指针指向的内存不能直接访问
        • 0-255均为系统占用
      • 野指针
        • 在程序中野指针是非常危险的
        • 直接指向一个地址空间
      • const修饰指针
        • 根据const位置读
        • 修饰指针
          • const int *
          • 可改指向,不可改值
        • 修饰常量
          • int* const p
          • 可以改值,不改指向
        • 修饰指针修饰常量
          • const int* const p
          • 均不可改
      • 利用指针来访问数组
        • int*p    p++指针指向后移,一次移动4/8个字节
        • 值传递
        • void kk(int*p)
        • 指针、数组、函数应用实例
          • 将数组进行冒泡排序
  • 结构体
    • 用户自定义的数据类型
    • 创建结构体变量和创建结构体均要写struct
    • 传入参数的话,只要写student s;
    • 利用.访问结构体成员
    • 语法
      • struct 结构体名{结构体成员列表};
      • 可以在创建变量的同时赋值
        • struct student  s1{"张三","男",““15”};
      • 也可在创建变量后一个一个赋值
        • struct student s1;
        • s1 .name=??;
        • s1.sex=??;
        • s1.age=??;
    • 结构体数组
      • 语法
        • struct student  变量名[3]={{},{},{}};
        • 可在之后进行赋值
    • 结构体指针
      • 自己创建的数据类型*  变量名;
      • 变量名->成员;
    • 结构体嵌套
      • 结构体中可以定义另一个结构体,用于解决实际问题
    • 结构体作为函数参数
      • 结构体作为函数参数传入
      • 想修改实参的值用地址传递
    • 结构体中const的使用场景
      • 将函数中的形参改为指针,不用备份一份新的数据,减少内存开销
      • 传入指针时,在其前面加上const,一但有修改的操作就会报错,防止误操作
    • 游戏案例
      • 老师带学生
      • 设置英雄的结构体,根据年龄排序
    • 通讯录管理系统
      • 具体程序自己找文件
      • 清空联系人只要将数量置为0即可,无需管信息是否还在里面,只是逻辑上的清空

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


当前标题:黑马c++学习笔记基础篇-创新互联
文章源于:http://chengdu.cdxwcx.cn/article/dhggee.html