计算机程序设计(C++) 西安交通大学 赵英良
https://www.icourse163.org/learn/XJTU-46006?tid=1450187448#/learn/content
评分依据:课程满分100分,其中课程讨论占10%(课堂交流区),平时测验占60%(每周单元测试20%,编程作业40%);期末考试占30%。60分获得合格证书,80-100分获得优秀证书。
补充:
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
- 起始地址就应该在sizeof(struct)的边界上,即起始地址可以被sizeof(struct)整除。
- 该结构体所占总内存为结构体成员变量中最大数据类型的整数倍。
- 相同类型的结构体变量可以直接“=”赋值,不同类型结构体变量间不可以直接赋值(即使结构体成员定义完全相同)。
- 如果结构体成员含有指针,直接赋值会导致两个结构体变量的指针指向同一块内存,可能会导致重复释放等问题。
- 枚举
- 枚举类型占用四个字节
- 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, 问题的模块化求解(函数)
- 函数的定义:形参是在函数调用时分配存储空间,同时接收时才能的值。函数执行结束后, 系统自动释放形参的存储空间,因此,形参属于函数的局部变量,只能在该函数中使用。
- 函数的声明
- 函数调用
- 参数的传递方式:
- 值传递:形参是所属函数的局部变量,有自己独立的存储空间,对形参的修改不会影响到实参值。
- 指针传递:
- 引用传递:引用变量是一个变量的别名,引用变量不分配独立的内存空间而是与目标变量共用其内存空间。//int &b = a;
- 定义格式: <数据类型> &<引用名> = <目标变量名>
- 如果定义的引用变量不是用作函数参数或返回值,则引用定义时必须用目标变量初始化。
- 函数调用时,作为形参的引用变量并不分配新的内存空间,形参作为实参变量的别名与实参共用同一段内存。
int main(void){
int a = 2;
int &b=a;
cout<&l