C++刷课记录

本文是作者学习C++的记录,涵盖了从基础语法到高级特性的全面内容,包括数据类型、运算符、流程控制、数组、结构体、枚举、函数、递归、内存管理、类与对象、继承、多态等方面。此外,还涉及了指针操作、内存布局、字符串处理、文件操作等主题,是深入理解C++的好资料。
摘要由CSDN通过智能技术生成

计算机程序设计(C++) 西安交通大学 赵英良

https://www.icourse163.org/learn/XJTU-46006?tid=1450187448#/learn/content

评分依据:课程满分100分,其中课程讨论占10%(课堂交流区),平时测验占60%(每周单元测试20%,编程作业40%);期末考试占30%。60分获得合格证书,80-100分获得优秀证书。

补充:

Linux下C语言程序的内存布局(内存模型)

WK1: 程序设计与C++概述

  •  学习方法:语法熟(听读)、练习多(读写程序)、算法清楚、熟练调试
  • 计算机语言分类
    • 低级语言(机器指令,汇编语言) :直接操作硬件,效率高,人不易理解,开发效率低。
    • 高级语言:易理解,易开发。不能被计算机直接执行,执行效率劣于低级语言。
  • cin以空格、Tab、回车作为分隔符,若要包含空格,可使用 istream& getline (char* s, streamsize n );按行输入。
  • namespace
    • 定义名字空间:
    • namespace Demo{
          //variables, functions, classes
          
      }

WK2:数据类型 运算符,类型转换

  • 整型,实型(IEEE754),字符型(unsigned char),字符串,逻辑型,  
  • 位运算
    • 与&,或 |,取反~,异或^,左移<<,右移>> (移位补0)。

WK3:流程控制 (顺序,选择(if-else, switch-case),循环(for, while))

辅助控制语句:break, continue, goto, return.

WK4: 复杂信息的表示(一、二维数组,结构体,枚举)

  • 二维数组元素 a[i][j] 对应一维数组元素 b[i*N+j],其中,N表示二维数组列数。
  • 三维数组 int a[层][行][列]
  • 结构体
  • 结构体变量所占内存大小(字节对齐)    reference
    1. 起始地址就应该在sizeof(struct)的边界上,即起始地址可以被sizeof(struct)整除。
    2. 该结构体所占总内存为结构体成员变量中最大数据类型的整数倍。
  • 相同类型的结构体变量可以直接“=”赋值,不同类型结构体变量间不可以直接赋值(即使结构体成员定义完全相同)。
  • 如果结构体成员含有指针,直接赋值会导致两个结构体变量的指针指向同一块内存,可能会导致重复释放等问题。
  • 枚举
    • 枚举类型占用四个字节
    • enum默认从 0 开始
    • 不管在 32 位平台下,还是在 64 位平台下,枚举类型的取值范围都是 32 位的有符号的 int 类型的最大最小值。
    • 同一个enum里面的值可以重复(编译不会报错)
  • 冒泡排序 https://blog.csdn.net/lu_1079776757/article/details/80459370
    • 外循环次数:length -1 次
    • 内循环次数 length - 1 - i 次
  • string 类
    • 初始化方法
    • string,length 是真实长度,string变量不包含'\0'
    • 转换成c风格字符串:string.c_str();

WK5, 问题的模块化求解(函数)

  • 函数的定义:形参是在函数调用时分配存储空间,同时接收时才能的值。函数执行结束后, 系统自动释放形参的存储空间,因此,形参属于函数的局部变量,只能在该函数中使用。
  • 函数的声明
  • 函数调用
  • 参数的传递方式:
    1. 值传递:形参是所属函数的局部变量,有自己独立的存储空间,对形参的修改不会影响到实参值。
    2. 指针传递:
    3. 引用传递:引用变量是一个变量的别名,引用变量不分配独立的内存空间而是与目标变量共用其内存空间。//int &b = a;
      1. 定义格式: <数据类型>  &<引用名> = <目标变量名>
      2. 如果定义的引用变量不是用作函数参数或返回值,则引用定义时必须用目标变量初始化。
      3. 函数调用时,作为形参的引用变量并不分配新的内存空间,形参作为实参变量的别名与实参共用同一段内存。
int main(void){
    int a = 2;
    int &b=a;
    cout<&l
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值