1.编程过程:编辑-编译-链接-调试
2.最小样板程序
#include //-------------1
int main()
{
std::cout<<"hello world.\n"; //---------------2
}
1)#include 是对编译器发出指令,指示先将尖括号中的文件内容在本程序中原地展开。而头文件的内容则声明 从现在开始标准输入输出的流操作可用。
2)cout 是标准输出设备的名称,“<<”是操作指令,指示后面的数据 送到显示器设备中。
std 是“名空间”,程序规模大时有难免有名称冲突,如“A班有张三,B班也有张三”,为了防止员自己也命名一个cout而造成冲突,使用“::”作用域限定符。
3.过程化程序设计与对象化程序设计
将复杂的过程简单地按功能分层从而达到解决问题的目的,这种思想就是过程化程序设计的思想。过程化程序设计以一系列过程的划分和组织来观察、分析和解决问题。它所对应的程序设计也称为结构化程序设计。它描述任何实体的操作序列只需“顺序、选择、循环”三种基本控制结构。各个过程体和组成部分应以模块表示,且其内聚性越强,外联性越少,则模块独立性越好。这种程序设计采用从上到下,逐步细分的方法展开。
随着程序规模不断扩大,模块数呈指数递增,同一程序中模块之间的关系错综复杂,结构化程序设计不能保证程序的正确性、可维护性和重用性。就象使用电视机的人不一定都会安装电视机!恰似电视机的外壳,把电视机的内部和外部使用一分为二,两者都需要一个共同的规范--电视机的按钮操作功能。描述这一共同规范的就是抽象数据类型,它描述数据的组织和相关的操作,反映了问题的抽象模型。因此,面向对象编程要解决的另一个问题就是尽可能抽象地编程。基于抽象数据类型的程序设计,程序的运行不再是一个进程硬要主宰一切那样完成任务,而是面对环境中正在“生活中”的对象,不时地请求其服务 ,以达到完成计算的任务。那些对象也不是为了某个进程发明家活着,而是各司其职充当系统的一个部件而已。
4.基本编程语句有说明语句、赋值语句、表达式语句和过程控制语句。其中过程控制语句又分为条件语句(if-else/条件表达式--(条件)?表达式1:表达式2 /switch)、循环语句(for/while/do-while)和转移语句(break/continue/goto)。
5.在程序中使用"using namespace XXX(如std)"语句后,使得后面的名称若没有现场定义,则会自动 到XXX(std)的名空间去找,这样就省去了“std::”。变量和函数的使用要遵循“先定义后使用”原则。
6.输入输出语句
标准I/O流中常用的流状态:
showpos 在正数(包括0)之前显示 号
showbase 十六进制整数前加0X,八进制整数前加0
uppercase 十六进制格式字母用大写字母表示(默认为小写字母)
...
如cout<
取消流状态操作则在相应前加“no”
带参数的流状态:
cout.width(int) //设置显示宽度
cout.fill(char) //设置填充字符
cout.preciaion(int) //设置有效位数或精度
7.C-串(字符串)的类型为char*,更精确一点,是const char*.事实上所有的字面值类型都是const的。char*为字符指针,它与字符数组虽然类型不同,但操作上是一样的,都表示C-串的起始地址。
8.vector创建向量时,不但可以整体向量复制性赋值,还可以选择其他容器(已初始化的向量)的部分元素来定义向量和赋值。特别的,向量还可以从数组获得初值。如:
int a[7]={1,2,3,4,5,6,7};
vector va(a, a+7);
vector 的四种定义方式:
vector a(10); //定义了10个整数元素的向量,但没初始化
vector b(10, 1) //定义了10个整数元素的向量,且初值全为1
vector c(b); //用现成的一个向量创建一个新的向量
vector d(b.begin(), b.begin()+3); //定义了其值为从b的第0到2个元素的向量
阅读(781) | 评论(0) | 转发(0) |