1----C++简单程序设计
C语言的特点:语言简单灵活,运算符和数据结构丰富,具有结构化控制语句,程序执行效率高,同时具有高级语言与汇编语言的优点。
程序设计工作:
数据结构
和
算法
的设计
构成c++语句的基本部分:
字符集,关键字,标识符,操作符
。
数据类型,数据的类型转换及简单输入输出是关于数据的基础知识
算法
则是由一系列的控制结构组成
字符集:
字符集是C++语言的基本元素。
用C++编写程序时,除了字符型数据外,其他所有成为都只能由字符集中的字符组成。
词法记号
:最小的词法单元。
1. 关键字
2. 标识符:程序员声明的单词
3. 文字:程序中直接使用符号表示的数据,包括数字,字符,字符串和布尔文字
4. 操作符:用于实现各种运算的符号
5. 分隔符:用于分隔各个词法记号或程序正文
6. 空白:在程序编译时的词法分析阶段将程序正文分解为词法记号和空白。空白是空格、制表符、换行符和注释的总称。
C++语言概述
C++的产生:基于C。
C++的特点:全面兼容C和支持面向对象
C++既支持面向过程,也支持面向对象。
数据是程序处理的对象。数据类型被分为基本类型和自定义类型。
基本数据类型:
常量
:在程序运行过程中其值始终不变(整型常量,实型常量,字符常量,字符串常量,布尔常量)
变量
:在程序运行过程中其值可以改变。变量是需要用名字来标识的。
声明并不一定引起内存的分配,而定义一个变量意味给变量分配内存。在C++程序中,大多数情况下变量声明也就是变量定义,只有声明外部变量时例外。
值得注意:c++中有字符串常量,但是没有字符串变量。用字符数组来表示。
变量的存储类型:
1.auto存储类型: 采用堆栈方式分配内存空间,属于暂时性存储,其存储空间可以被若干变量多次覆盖使用。
2.register存储类型:存放在通用寄存器中。
3.extern存储类型: 在所有函数和程序段中都可引用
4.static存储类型: 在内存中是以固定地址存放的,在整个程序运行期间都有效。
符号常量:
e.g. const double pi = 3.1415926
运算符与表达式
1.算术运算符与算术表达式
2.赋值运算符与赋值表达式
3.逗号运算与逗号表达式
4.逻辑运算与逻辑表达式
5.条件运算符与条件表达式 (唯一的三元运算符)
6.sizeof 操作符 (用于计算某种类型的对象在内存中所占的字节数)
7.位运算 (高级语言 & 低级语言)
8.强制转换
语句:
程序的执行流程是由语句来控制。
c++语言的语句包括:
声明语句,表达式语句,选择语句,循环语句,跳转语句,复合语句,标号语句
等 (c++中并没有赋值语句也没有函数调用语句,赋值和函数调用都是通过表达式来完成的)
表达式与表达式语句的区别是一个表达式可以作为另一个更复杂表达式的一部分,继续参与计算,而语句则不能。
数据的输入和输出
I/O流:在C++中,将数据从一个对象到另一个对象的流动抽象为“流”。流在使用前要被建立,使用后要被删除。从流中获取数据的操作称为提取操作,向流中添加数据的操作为插入操作。输入和输出是通过I/O流来实现的, cin和cout是预定义的流类对象。cin用来处理标准输入,cout用来处理标准输出。
“<<”为插入符 “>>”为获取符
算法的基本控制结构:
顺序结构,选择结构,循环结构
switch语句
在有的问题中,虽然经过多次判断选择,但是每一次都是判断同一个表达式的值。如果没有找到相等的常量表达式,则从“default”开始执行。
自定义的数据类型:
枚举,结构体,联合, 数组, 类
typedef
枚举类型:
1. 对于枚举类型常常按常量处理,不能对其赋值。
2. 枚举元素具有默认值,0,1,2.
3. 也可以在声明时另行定义枚举元素的值。
联合体:
联合体的优点是
节省空间
。
结构体是把若干个数据类型结合到一体,相当于形成一个结构类型。而联合体是为了节省内存而设置的;若干个不同数据类型共用一组内存单元,在任一时间只有一个active member。