以下内容为大学期间学习C++语言总结的知识:
《C++》基础入门_01——数据存储,表示形式,基本运算
《C++》基础入门_02——面向对象的总体概括
《C++》基础入门_03——程序的开发过程
《C++》基础入门_04——四大语句
《C++》基础入门_05——函数详解篇
《C++》基础入门_06——面向对象的详述
《C++》基础入门_07——数据的共享保护:const
《C++》基础入门_08——利用数组实现对批量数据的处理
《C++》基础入门_09——指针和引用的讲解
《C++》基础入门_10——用户自定义数据类型详细篇
《C++》基础入门_11——友元的讲解
《C++》基础入门_12——类模板
《C++》基础入门_13——运算符的重载
《C++》基础入门_14——继承与派生
《C++》基础入门_15——多态性
《C++》基础入门_16——输入输出流详讲
《C++》基础入门_17——对象串行化
《C++》基础入门_18——异常处理
《C++》基础入门_19——命名空间
《C++》基础入门_20——文件操作
《C++》基础入门_21——在函数中返回数组的常用方法
文章目录
一、 基于过程的程序
程序=算法+数据结构
基于过程的程序应该包括:
- 对数据的描述
包括数据类型的声明,函数与变量的定义,变量的初始化等 - 对操作的描述 即算法
数值算法
非数值算法- 算法的表示
自然语言
流程图
伪代码
用计算机语言表示算法
- 算法的表示
二、C++语句
c++程序中最小的独立单位是语句。
语句由分号;结束。
2.1 声明语句
int a,b;
2.2 执行语句
通知计算机完成一定的操作。
包含:
2.2.1 控制语句
c++有9种控制语句
1. 选择语句 if (){}else{}
if三种结构:
1. if (表达式) 语句
例: if (x > y) cout << x;
2. if (表达式) 语句1
else 语句2
例: if (x > y) cout << x;
else cout << y;
3. if (表达式1) 语句1
else if (表达式2) 语句2
else if (表达式3) 语句3
…
else 语句 n
2. for()循环语句
语法形式:
3. while循环语句
1. 形式
while (表达式)
语句
note: 可以是复合语句,其中必须含有
改变条件表达式值的语句。
2. 执行顺序
先判断表达式的值,若为 true 时,执行语句。
4. do…while循环语句
1. 一般形式
do 语句
while (表达式)
note: 可以是复合语句,其中必须含
有改变条件表达式值的语句。
2. 执行顺序
先执行循环体语句,后判断条件。
表达式为 true 时,继续执行循环体
3. 与while语句的比较:
while 语句执行顺序:先判断表达式的值,为true时,再执行语句
5. continue语句
结束本次循环,接着判断是否执行下一次循环。
6. break语句
使程序从循环体和switch语句内跳出,继续执行逻辑上的下一条语句。不宜用在别处。
7. switch语句
- case分支可包含多个语句,且不用{ }。
- 表达式、判断值都是int型或char型。
- 若干分支执行内容相同可共用一组语句。
8. goto语句
9. return语句
2.2.2 函数和流对象调用语句
函数调用语句由一次函数调用+一个分号构成。
sort(x,y,z);
2.2.3 表达式语句
由一个表达式+分号构成。
- 格式:
表达式;
- 表达式语句与表达式的区别:
表达式可以包含在其他表达式中,而语句不可。例如: if ((a = b) > 0) t = a;
不可写为: if ((a = b;) > 0) t = a;
2.3 空语句
即只有一个分号的语句,没有什么用。
2.4 复合语句
将多个语句用一对大括号包围,便构成一个复合语句
例如
{
sum=sum+i;
i++;
}
三、C++ 输入与输出
- c中使用scanf和printf进行输入输出操作。
- c++中通过调用输入输出流库中的cin和cout实现其操作。
- 输入输出不是c++本身提供的,而是编译系统提供的I/O库中定义的。
- c++的输入输出是用流的方式实现的。
- 流指的是来自设备或传送设备的一个数据流。
- 数据流由一系列字节组成,这些字节按照进入流的顺序排列的。
3.1 cin和cout
-
cout是输出流对象的名字,<<是流插入运算符,将输出的内容插入到输出流,默认输出设备为显示器。cin是输入流对象的名字,>>是流提取运算符,从默认设备(键盘)的输入流中提取若干字节送到计算机内存区中指定的变量。
-
向标准输出设备(显示器)输出
例: int x;
cout << “x=” << x; -
从标准输入设备(键盘)输入
例: int x;
cin >> x;
3.2 getchar和putchar
- getchar() 字符输入函数
- 从终端输入一个字符
- 只能接受一个字符
- putchar() 字符输出函数
- 向终端输出一个字符
3.3 scanf和printf
- 格式:
scanf(格式控制,输入列表)
printf(格式控制,输出列表) - 格式控制
格式 | 含义 |
---|---|
%d | 以十进制输出 |
%u | 无符号十进制输出 |
%c | 已字符形式输出,只输出一个字符 |
%s | 输出字符串 |
%f | 小数形式输出,输出小数点后6位 |
%0 | 八进制输出 |
%x | 十六进制输出 |
%e | 指数形式输出 |
scanf("%d%c%f",&a,&b,&c);
//变量前加地址运算符
printf("a=%d,b=%f,c=%c\n",a,b,c,
四、 变量工作机制
🔳🔳 变量两个重要属性:
-
数据类型
- 任何数据在内存中都是用二进制串的形式表示的;
- 一串二进制数,只有确定了类型,才有真实的含义;
例: 10111111,10000000,00000000,00000000 •解释为int型: -1,082,130,432 •解释为unsigned型: 3,212,836,864
-
变量名
- 源代码中,变量依靠变量名来标识;
- 目标代码中,变量依靠地址来标识,每个变量的地址互不相同。
🔳🔳 变量的声明:
- 将一个标识符声明为变量,告诉编译器这个标识符表示变量,同时还指出了它的数据类型;
- 只有确定了一个变量的数据类型,变量参与的操作才具有完整的意义,编译器才能将该变量参与的表达式翻译为合适的操作。
🔳🔳 变量的定义
- 不仅确定了一个标识符表示变量,以及该变量的类型,还确定了变量地址的分配位置。
五、表达式执行原理
- 寄存器:
–CPU内部的存储单元
–读写速度非常快
–数量很少 - 大部分CPU指令都需要读写寄存器。
- 复杂的表达式,分步执行,每条指令只能做一次基本运算,中间结果暂存在寄存器中。