CC++程序设计课件第1章 C程序设计概述_第1页
CC++程序设计课件第1章 C程序设计概述_第2页
CC++程序设计课件第1章 C程序设计概述_第3页
CC++程序设计课件第1章 C程序设计概述_第4页
CC++程序设计课件第1章 C程序设计概述_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1章C/C++程序设计概述问题原由使用计算机求解任何问题都离不开程序设计,程序设计是伴随计算机应用和程序设计语言的发展而形成的一门学科。如何使用C/C++语言进行程序设计?它有哪些功能特点?由哪些基本成分所组成?程序设计有哪些基本步骤?这就是本章所要讨论的问题.程序设计概念、程序设计语言、程序设计方法、程序设计步骤、算法及其描述方法、C/C++的功能特点及基本结构组成和程序的实现等。教学重点能力要求掌握:程序设计的基本概念、基本方法和基本步骤.了解:程序设计语言的发展过程。熟悉:C/C++程序的基本结构组成和程序实现方法。

§1.4C/C++程序的实现

§1.3

C/C++语言程序

§1.2算法及其描述方法本章介绍的知识内容

§1.1

程序设计概念第1章C/C++程序设计概述第1章程序设计概念C/C++程序的实现C/C++语言程序算法的基本概念算法的描述方法算法及其描述方法从C到C++C/C++的性能特点C语言程序实例C/C++程序基本成分构建源程序C/C++的编程规约程序的编辑与编译程序设计方法程序设计语言什么是程序设计程序设计步骤第1章C/C++程序设计概述§1.1

程序设计概念什么是程序设计?人们做任何事情都有一定的方法和步骤,这个方法和步骤就是“程序设计”,而“程序设计”就是规划这个程序,其思想和方法与我们写文章的思想和方法类似。算法+数据结构=程序

(1)算法:是对数据处理准确而完整的具体描述,是由基本运算规则和运算顺序所构成的、完整的解题方法和步骤。

(2)数据结构:是指相互之间存在一种或多种特定关系的数据元素的集合,是计算机存储、组织数据的方式。

(3)程序设计:是为计算机完成特定任务,利用算法并结合合适的数据结构而设计的一系列指令的有序集合。1.1.1

什么是程序设计1.1.2

程序设计语言1、机器语言用二进制代码指令表达的计算机编程序语言。例如在8086/8088兼容机上用机器语言编写求解5+6的程序代码为:

1011000000000101

;将5放进累加器acc中

0010110000000110

;acc中值与6相加,结果仍然在acc中

11110100

;停机结束

2、汇编语言把符号语言中的每一条语句转换为相应的机器指令,这个转换过程称为汇编。例如,用汇编语言编写5+6的程序为:

movax,5

;将5放进ax寄存器中

addax,6

;将ax中的数与6相加,结果仍在ax中

hlt

;停机结束1.1.2

程序设计语言3、高级语言高级语言是与计算机硬件结构无关的程序设计语言,它利用一些数学符号及其有关规则编程,比较接近数学语言,所以又称为算法语言。例如用C++语言编写5+6的程序为:

main()

{intfirst,second,sum;//定义3个变量first=5;//为第一个变量赋值second=6;//为第二个变量赋值sum=first+second;//将结果放在变量sum中cout<<sum;//输出求和的结果}1.1.3程序设计方法

1、面向过程程序设计面向过程程序设计是一种自顶向下、逐步求精的传统方法,其发展经历了以下三个阶段:

⑴流程图程序设计:按算法流程进行设计,其优点是直观。

⑵模块化程序设计:把一个程序分成多个具体任务的程序模块,分别进行编写和调试,最后再把它们连接在一起。

⑶结构化程序设计:是以模块为中心,将待开发的软件划分为若干个相互独立的模块,使得每一模块变得简单和明确。

2、面向对象程序设计面向对象程序设计是一种先进的程序设计方法,是围绕着各类事物进行程序设计的,其本质是把数据和处理数据的过程当成一个整体对象。1.1.4程序设计步骤程序设计的任务是按照相关程序设计设计方法,利用计算机语言把用户提出的任务作出描述并予以实现。程序设计的步骤是根据给出的具体任务,编制一个能够正确完成该任务的计算机程序。具体步骤如下:1、分析问题2、设计算法3、编写程序4、编译程序5、分析测试6、建立文档

1、算法的起源

算法是为解决特定问题所采取的方法和步骤的描述,是指令的有限序列。

2、算法的类型

程序设计中常用的算法有:穷举法、迭代法、递推法、递归法、分治法、回溯法、贪心法、动态规划、模拟等。

3、算法的特征

算法有5个显著的特征:确定性、有效性、有穷性、有零个或多个输入、有一个或多个输出。

4、算法的目标

算法有4个目标:正确可靠、清晰易读、高效工作、通用性好.

§1.2算法及其描述方法

1.2.1

算法的基本概念1.2.2算法的描述方法

1、用自然语言描述算法自然语言是人们日常所使用的语言,如汉语、英语等,是描述算法的最原始的方法。

2、用伪代码描述算法用伪代码描述算法,它为程序员提供了以特定编程语言编写指令的模板。3、用程序设计语言描述算法

用程序语言来表示算法,要求设计者必须熟练掌握程序设计语言及其编程的技巧。

4、用流程图描述算法用图形描述算法的方法有:流程图、N-S图和PAD图3种,它们各有其优缺点。1、C语言

C语言是一种面向过程的语言,具有结构化和模块化的特点,并具有许多工作其他面向过程高级语言不具备的突出特点.至今最新的C语言标准C99,于2000年被国际化标准组织(ISO)接受为(ISO1989~1990)标准。2、C++语言

C++是由美国贝尔实验室的BjarneStroustrup博士及其同事在C语言的基础上,弥补了C语言存在的一些缺陷,增加了面向对象的特征,于1980年开发出来的一种过程性与对象性相结合的程序设计语言。§1.3

C/C++语言程序

1.3.1从C到C++1.3.2

C/C++的性能特点1、C语言的性能特点(1)

结构化程序设计语言(2)

语言简洁、紧凑、使用方便灵活(3)

语言表达能力强(4)

允许直接访问物理地址(5)

具有数据类型构造能力(6)

能产生高质量的代码(7)

可移值性好2、C++语言的性能特点(1)

兼容性(2)

可读性(3)

高效性(4)

利用性(5)

面向对象1.3.3

C语言程序实例/*ThisisasimpleCprogram*/#include<stdio.h>//预处理voidmain()//主函数{//表示函数体开始inta,b,sum;//定义变量a,b,sum,为整型a=123;b=456;//对变量a,b赋初值sum=a+b;//将a,b相加的和送到变量sum中保存printf(“numis%d\n”,sum);//输出变量sum的值}

//表示函数体结束

[实例1-11]编写求两个整数和的程序

从实例可以看出,C语言程序具有以下特点:

(1)C语言程序的顶部一般都使用#include<stdio.h>语句,标识程序中有输入输出语句。(2)C语言程序由函数组成。(3)一个自定义函数由函数首部和函数体两个部分组成。(4)一行内可以写多个语句,一个语句也可以写在多行。其中,分号不是语句间的分隔符,而是代表语句结束。(5)数据的输入和输出操作由函数(通常是库函数)来实现。(6)为了增加程序的可读性,源程序中应加上必要的注释。(7)严格区分大小写。(8)一个C/C++程序是由字符组成的预处理命令、函数、语句、变量、关键字及其语法规则等组成的。1.3.3

C语言程序实例

C/C++用一整套带有严格规定的符号体系来描述C/C++的词法、语法、语义和函数,由这些词法、语法、语义和函数的有机组合。C/C++程序中的基本成份如图1-25所示。

1.3.4

C/C++程序基本成分

1、基本符号

(1)

英文字母:26个大写和26个小写英文字母。严格区分大小写。

(2)

数字字符:指0~9的10个阿拉伯数字

(3)

特殊字符:包括通常使用的标点符号

词法符号基本符号语句函数函数词法规则语法规则功能逻辑有机组合1.3.4

C/C++程序基本成分2、词法符号

(1)

关键字:由编译程序预定义具有固定含义的单词

(2)

标识符:是程序员对程序中的元素命名的有效字符序列的统称。

(3)

运算符:使程序进行数据运算的符号

(4)

分隔符:常称的标点符号

(5)

注释符:用来程序进行说明,提高程序的可读性

3、语句

(1)

用于描述计算机执行操作运算的语句,即表达式语句

(2)

控制程序执行顺序的流程控制语句

(3)

语句是组成程序的基本单元1.3.4

C/C++程序基本成分4、函数

C语言中的函数由两种类型:一种是系统定义的函数语句,例如求正弦函数值;另一种是函数结构体,相当其它高级语言中的子程序。(1)C/C++程序是一种由函数构成的程序

(2)一个函数由函数说明和函数体组成,函数体由数据定义和若干个执行语句组成5、源程序文件

(1)C/C++程序可以由若干个源程序文件组成

(2)一个源程序文件可以由若干个函数和编译预处理命令组成。1.3.5

C/C++的编程规约

1、程序语句的规约

(1)语句行:C/C++程序允许一行写多条语句,也允许将一条语句写成多行。分行的原则是不能将一个单词或连续的符号(如“

”)分开。

(2)缩进格式:不同层次的语句应采用阶梯层次缩进格式来编写,通常每层次缩进4格。

(3)变量定义的语句:为了程序的可读性和查找错误方便,应将变量的定义统一放在函数代码的开始位置,并加上必要的注释。

(4)正确利用括号:最好在源程序中使用括号来明确运算的先后关系。

1.3.5

C/C++的编程规约

2、程序结构的规约

(1)尽量缩小函数规模

(2)尽量使用标准库函数

(3)尽量不要用goto语句

(4)尽量减少全局变量的使用

(5)尽量少用嵌套结构3、程序注释的规约

(1)

程序头的注释:对于函数一般应该从功能、参数、返回值、主要思路、结构类型、调用方法等方面进行注释。

(2)

变量的注释:用于说明变量在函数或程序中的作用及意义。1.3.5

C/C++的编程规约

(3)

文件的注释:可在每一个源文件的开头部分加入注释来说明该文件的用途。

(4)

其它注释:可在主要语句部分添加注释,增加程序的可读性。

4、命令格式的规约

(1)<>:标识必选项。

(2)[]:标识可选项。

(3)():用于描述变量参数、条件等,可能是一项也可能是多项。

(4)

:标识省略后面的内容。

(5)/:标识列举多个可选项。

1、分析问题可将计算五边形内的三角形面积定义成函数,然后在主程序中通过3次调用并相加,即可得到问题的解。

2、算法设计将算法框架中的一些关键算法细化,直到能用具体的程序设计语言表达为止。3、算法细化求精4、算法描述[实例1-14]已知五边形的边及对角线的长度,要求按照程序设计方法,编写出五边形面积的源程序§1.4

C/C++程序的实现

1.4.1构建源程序1.4.2程序的编辑与编译

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论