您的位置:首页 > 编程语言 > C语言/C++

C++学习 【3.1】 程序设计初步---算法、结构、赋值语句

2016-01-25 00:00 363 查看
学习《C++程序设计》(第二版) 谭浩强 主编

第三章 程序设计初步

3.1 基于过程的程序设计和算法

3.2 C++的程序结构和C++语句

3.3 赋值操作

3.1 基于过程的程序设计和算法

C++既可以用来进行基于过程的程序设计,也可以用来进行面向对象的程序设计。

基于过程的程序设计又称为过程化的程序设计

它的特点是:程序必须告诉计算机应当具体“怎样做”,也就是要给出计算机全部操作的具体过程。执行完这个过程,就实现了问题的求解。

基于过程的程序设计反映的是事物在计算机中的实现方式,而不是事物在现实生活中的实现方式

在基于过程的程序设计中,程序设计者必须指定数据在计算机中的表现形式,以及怎样对数据进行操作,以得到预期的结果

程序设计者不仅要考虑程序要“做什么”,还要解决“怎么做”的问题

要根据程序要“做什么”的要求,具体设计出计算机执行的每一个具体的步骤,写出一个个语句,安排好它们执行的顺序

怎样设计这些步骤,怎样保证它的正确性和具有较高的效率,这就是算法需要解决的问题

3.1.1算法的概念

一个基于过程的程序应包括以下两个方面内容:

1.对数据的描述,也就是数据结构

2.对操作的描述,也就是算法

总结起来,基于过程的程序可以用如下公式表示:

程序=算法+数据结构

计算机算法可以分为两大类:数值算法和非数值算法

无论基于过程的还是面向对象的程序设计,都离不开算法设计

在面向对象的程序设计中,在一个类中既有对数据的描述,又有对操作的描述,函数就是用来实现对数据操作的

数据时操作的对象,操作的目的是对数据进行加工处理

在考虑操作的过程中,任然要用过程化的方法,因此,必须学习和掌握一些常用的suanfa

对于不熟悉计算机算法的人来说,可以只使用别人已设计好的现成算法,只需要根据算法的要求给以必要的输入,就能得到输出的结果

对他们来说,算法如同一个“黑箱子”一样,他们可以不了解“黑箱子”中的结构,只是从外部特性上去了解算法的作用,即可方便地使用算法

但对程序设计人员来说,应当学会设计一些简单的算法,并且根据算法编写程序

3.1.2 算法的表示

常用的有4中:

1.自然语言

2.流程图

用图的形式表示算法,比较形象直观,但修改算法时不方便,对比较大的、复杂的程序,画流程图的工作量很大,专业人员一般不用流程图表示算法,而喜欢用伪代码表示算法

3.伪代码

4.用计算机语言表示算法

3.2 C++的程序结构和C++语句

一个程序包含一个或者多个程序单位

每一个程序单位由以下3个部分组成:

1. 预处理指令:如#include指令和#define指令

2. 全局声明:在函数外对数据结构、函数以及变量的声明和定义

3. 函数:包括函数首部和函数体

如果一个变量在函数之外进行声明,此变量是全局变量,它的有效范围是从该行开始到本程序单位结束

如果一个变量在函数之内进行声明,此变量是局部变量,它的有效范围是从该行开始到本函数结束

C++程序最小的独立单位是语句(statement)

C++ 语句一般用分号结束,复合语句用右花括号结束

C++语句可以分为以下4种:

1.声明语句

在C中,只有产生实际操作的才称作语句,对变量的定义不作为语句,而且要求对变量的定义必须出现在本块中所有程序语句之前

在C++中,对变量以及其他对象的定义被认为是一条语句

2.执行语句

通知计算机完成一定的操作。共包括:

1.控制语句,共9种:

1. if( )~else~ 条件选择

2. for( ) ~

3. while( ) ~

4. do ~ while( )

5 continue 结束本次循环语句

6. break 中止执行switch或循环语句

7. switch 多分支选择语句

8. goto 转向语句

9. return 从函数返回语句

上面9种语句中的括号()表示其中包括一个判断条件,~表示内嵌的语句

2.函数和流对象调用语句

如:sort(x,y,z);

cout<<x<<endl;

3.表达式语句

3.空语句

只有一个分号的语句 ;

有时用来做被转向点,或循环语句中的循环体 (循环体是空语句,表示循环体什么也不做)

4.复合语句 { }

3.3 赋值操作

C++中的赋值号是一个运算符,可以写成a=b=c=d,而其他大多数语言不是

C++把赋值语句和赋值表达式区别开来,增加了表达式的种类,使表达式的应用几乎“无孔不入”,能实现其他语言中难以实现的功能
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: