第1章 计算机与计算机程序概述_第1页
第1章 计算机与计算机程序概述_第2页
第1章 计算机与计算机程序概述_第3页
第1章 计算机与计算机程序概述_第4页
第1章 计算机与计算机程序概述_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

程序设计基础教师:

叶晓霞E_mail:xiaoxia7761@Tel课程的内容第一部分基础第二部分简单程序设计第三部分高级程序设计算法概念、编程原理、编程风格、基本数据类型定义、算术运算符及表达式顺序结构、选择结构、循环结构、数组的定义及应用、程序设计过程函数、变量的存储类别、指针、结构体与共用体、文件课程的要求、课时安排与考核课程要求:通过学习能在VC6.0环境下编程、调试C语言程序(编辑、编译、连接、运行程序)。侧重学习一个具体问题的算法化的过程,掌握基本编程技巧以及C编程的风格和艺术。课时安排:上课40学时,上机24学时。上机时间安排:周五晚上(第7周开始)周二上午(第9周开始)考核方法:期末全院统考(统一命题、统一时间、统一阅卷)。成绩:考勤(10%)+作业和实验(20%)+考试(70%)第1章计算机及程序设计概述计算机和计算机程序计算机的基本工作原理冯·诺依曼体系结构计算机硬件和计算机软件计算机硬件主机:CPU+主存外部设备计算机软件裸机要使计算机解决各种实际问题,必须有软件的支持,计算机软件着重研究如何管理计算机和使用计算机的问题,没有软件支持的计算机就是一堆废铁指令与程序指令指令就是计算机执行某种操作的命令,是硬件能理解并能执行的语言,是机器语言的一个语句,是程序员进行程序设计的最小语言单位。指令的组成指令由操作码和操作数构成Mov3,reg1Mov5,reg2Addreg1,reg2End指令与程序程序程序(program)是为实现特定目标或解决特定问题而用计算机语言编写的、可以连续执行并能够完成一定任务的指令序列的集合。程序的开发描述问题(算法)程序设计语言计算机软件指令与程序

程序是计算机完成某一任务的指令或语句的有序集合(由某种语言来完成),由数据和处理数据的操作组成的。数据是被操作的对象,操作的目的是对数据进行加工处理,以得到期望的结果。操作步骤也就是算法,即求解问题的方法和步骤。我们编写程序的过程就是程序设计。计算机程序设计语言:

简称为编程语言,是人与计算机之间传递信息的媒介,具有特定的词法和语法规则,用于描述解决问题的方法,共计算机阅读和执行。机器语言汇编语言高级语言面向过程面向对象CPU指令系统,由0、1序列构成的指令码组成如:10000000加

10010000减用助记符号描述的指令系统如ADDA,B面向机器的语言程序设计是数据被加工的过程客观世界可以分类,对象是类的实例对象是数据和方法的封装对象间通过发送和接受消息发生联系程序设计关键是定义类,并由类派生对象

程序设计语言计算机程序设计语言的发展难理解难记忆不使用符号语言难记忆执行效率高使用少接近自然语言易记忆(词/数学公式)易使用更接近自然语言人对客观事物更高层次的抽象程序设计语言高级语言与具体的计算机指令系统无关的计算机语言高级语言的分类面向过程的语言C、Pascal面向对象的语言C++、Java、.Net面向特定应用的语言SQL翻译程序

编译方式:

是指利用事先编好的一个称为编译程序的机器语言程序,作为系统软件存放在计算机内,当用户将高级语言源程序输入计算机后,编译程序便把源程序整个地翻译成用机器语言表示的与之等价的目标程序,然后计算机再执行该目标程序,以完成源程序要处理的运算并取得结果。解释方式:

是指源程序输入计算机后,解释程序对源程序边扫描边解释,解释一句,计算机执行一句,并不产生目标程序。程序设计语言为什么学习C语言?C语言是目前实际程序设计工作中使用最广泛的语言之一它包含了程序设计需要理解和使用的基本程序机理和主要机制掌握这些机制就可以理解程序与程序设计的主要问题。目前有许多软件系统是用C编写的,或基本上是用C编写的学习程序设计的同时也能掌握一种实用的程序设计工具C语言是一种很灵活的语言既可以在较高层次上做,也可以在较低级的层次上做很多新型的语言都是衍生自C语言有些本身就是C语言的扩充和发展程序设计是计算机领域的基础课程C语言适合作为计算机领域许多后续课程的教学语言程序设计什么是程序设计?使用某种程序语言编写程序的过程,就是用计算机语言对所要解决的问题中的数据以及处理问题的方法和步骤所做的完整而准确的描述的过程怎样进行程序设计?分析问题:对数据的描述(数据流)。指定数据类型和数据结构确定算法:对操作的描述(控制流)。指定操作的步骤编制程序:使用某种程序语言描述算法。调试程序:通过某个软件运行程序。算法什么是算法(Algorithm)?就是为了解决一个特定的问题而采取的确定的、有限的、按照一定次序进行的、缺一不可的执行步骤。注意为了有效地利用计算机解决实际问题,在设计算法时不仅要保证计算机执行算法的正确性,还要考虑算法的质量,选择适合于具体问题的算法。算法通常计算机算法分为两大类:数值运算算法和非数值运算算法数值运算是指对问题求数值解有确定的数学模型非数值运算是指事务处理过程种类繁多,很难提供统一规范的算法更多的是需要用户设计其算法的算法的特性有穷性应含有有限的操作步骤,不能是无限的。有穷性指在“合理的限度之内”唯一性每一个步骤都是确定的,只有一个涵义,不可以为二义性有零个或多个输入在执行算法时需要从外界获取必要的信息有一个或多个输出算法执行的目的就是为了求解,“解”就是输出的信息没有输出的算法是没有意义的正确性每一个步骤应当被有效的执行,并得到确定的结果算法举例例1:猴子吃桃问题。有一堆桃子不知数目,猴子第一天吃掉一半,又多吃了一个,第二天照此方法,吃掉剩下桃子的一半又多一个,天天如此,到第11天早上,猴子发现只剩一只桃子了,问这堆桃子原来有多少个?

数学模型:ai=2*(ai+1+1)i=9,8,7,…1;Step1:peach1=1;i=10;Step2:peach0=2*(peach1+1);Step3:peach1=peach0;Step4:i=i-1;Step5:若i>=1,继续循环执行Step2;Step6:输出peach0的值。

算法举例例2:输入三个数,然后输出最大的数。算法的两个要素基本功能操作数据运算和传输控制结构顺序、选择和循环三种基本控制流程算法可以写成:(1)输入A,B,C;(2)若A>B,则A->MAX;若A<B,则B->MAX。(3)若C>MAX,则C->MAX。(4)输出MAX,MAX是最大数。算法的表示流程图端点:表示程序的转向,常用来表示程序的开始和结束。处理:操作的功能判断:单入口多出口,表明判断的条件流线:表示程序的执行方向和顺序。输入/输出:表示数据的名称、类型和用途等。算法的表示流程图开始输入A,B,CA>B?TNMAX=AMAX=BC>MAX?NTMAX=C输出MAX结束算法的表示N-S图是适合结构化程序设计方法的图形工具N-S流程图无法表示非结构化的程序TN当〈条件〉满足a1=1i=10当i>=1时,循环a0=2*(a1+1)a1=a0i=i-1输出a0算法的表示UML面向对象的分析与设计工具适合于描述复杂系统元素之间的关系,不关注具体算法程序设计基本步骤确定数学模型实际问题的准确描述算法描述解决问题的具体步骤编写程序将已设计好的算法表达出来程序测试保证程序的正确性程序设计方法面向过程程序设计方法面向对象程序设计方法1.自顶向下、逐步求精:结构化程序设计的主要思想是功能分解并逐步求精。当一些任务复杂以至无法描述时,可以将它拆分为一系列较小的功能部件,直到这些完备的子任务小到易于理解的程度。这种方法叫“自顶向下,逐步求精”。2.模块化设计:在拿到一个程序模块(实际上是程序模块的任务书)以后,根据程序模块的功能将它划分为若干个子模块。这个过程采用自顶向下方法来实现。3.结构化编码:在设计好一个结构化的算法之后,还要善于进行结构化编码。即用高级语言语句正确地实现顺序、选择、循环三种基本结构。结构化程序设计结构化程序设计结构化程序设计中的程序结构结构化的程序设计方法程序的三种基本结构顺序结构,顺序结构表示程序中的各操作是按照它们出现的先后顺序执行的选择结构,表示程序的处理出现了分支,它需要根据某一特定的条件选择其中的一个分支执行循环结构,程序反复执行某个或某些操作,直到某条件为假(或为真)时才可终止循环

面向对象程序设计将数据及对数据的操作放在一起,作为一个相互依存、不可分割的整体来处理,它采用了数据抽象和信息隐藏技术。在面向对象程序设计中可以用下面的式子表示程序:程序=对象+对象+…+对象对象=算法+数据结构+程序设计语言+语言环境面向对象程序设计面向对象程序设计面向对象程序设计中的程序结构C语言C语言的特点适合开发系统软件结构化的程序设计语言丰富的数据类型和数据结构运算符多样化可移植性好语句简洁紧凑编程风格灵活,语法限制少,使用灵活具有预处理功能面向对象程序设计的基础例1.1】编写程序,输出“HelloWorld!”字符串。#include<stdio.h> /*编译预处理命令*/voidmain() /*主函数*/{

printf(“HelloWorld!\n”); }C程序的结构

C语言源程序(扩展名为.c)包括编译预处理命令、注释和函数等内容。

编译预处理命令:以“#”号开头的行都是编译预处理行,且在一行中,只能写一行编译预处理指令。编译预处理命令不是C语句,不能以分号结尾,而是以换行结尾。#include〈stdio.h〉voidmain(){

inta,b;/*定义两个整形变量*/a=1;b=5;/*给两个变量赋值*/

printf(“%d+%d=%d\n”,a,b,a+b);/*打印a和b之和*/}

C语言严格区分大、小写英文字母。什么是C语言?

C语言程序是由一个个的语句组成。

C语言程序使用“;”作为语句的终止符和分隔符。可以任意书写,即一行中可以书写多个语句,一个语句也可以占用任意多行,语句之间必须用“;”分隔。初学时建议在一行内书写一条语句。编写一个加法运算程序#include〈stdio.h〉main(){

inta,b;/*定义两个整形变量*/a=1;b=5;/*给两个变量赋值*/

printf(“%d+%d=%d\n”,a,b,a+b);/*打印a和b之和*/}

C语言严格区分大、小写英文字母。什么是C语言?

C语言程序是由一个个的语句组成。

C语言程序使用“;”作为语句的终止符和分隔符。

C语言程序中用大括号对“{}”表示程序的结构层次范围。一个完整的程序模块要用一对花括号括起来,用以表示模块的范围。为了清晰地表现出程序的结构,建议使用右缩进锯齿型程序书写格式。编写一个加法运算程序#include〈stdio.h〉main(){

inta,b;/*定义两个整形变量*/a=1;b=5;/*给两个变量赋值*/

printf(“%d+%d=%d\n”,a,b,a+b);

/*打印a和b之和*/}

C语言严格区分大、小写英文字母。什么是C语言?

C语言程序是由一个个的语句组成。

C语言程序使用“;”作为语句的终止符和分隔符。

C语言程序中用大括号对“{}”表示程序的结构层次范围。

C语言程序可以使用注释。注释部分的格式是:/*注释内容*/注释部分不参与程序的执行,对程序的运行结果没有影响,只是用来提示或助记。编写一个加法运算程序函数C程序结构组成C程序为函数模块结构,整个程序都是由一个或多个函数组成.函数是C程序的基本单位。函数是由函数说明和函数体两部分组成一个C程序总是从main()函数开始执行.有且仅有一个主函数main(),被调用的函数可以是系统提供的库函数,也可以是用户根据需要自己编制设计的函数(用户自定义函数)一个C程序可以由一个文件组成,也可以由若干个文件组成#include<stdio.h>voidmain(){

inta=1,b=5,c;c=add(a,b);

printf(“c=%d\n”,c);}

int

add(intx,inty){return(x+y);}

C程序源程序文件1源程序文件i源程序文件n预编译命令函数1函数n函数体函数首部C程序结构组成C语言1.C程序的书写格式比较自由,一般一行写一条语句。对于短语句也可一行写多个,中间用“;”分隔。对于长语句也可将一条语句分写在多行上,分行原则是不能将一个单词分开,也不要将双撇号引用的一个字符串分开。2.为了程序书写得清晰,提高程序的可读性,一般采用缩进格式。即同一层次语句要对齐,不同层次语句要缩进若干个字符(2~4个)。例如循环体中的语句和选择体中的语句要缩进对齐。3.花括号的书写方法较多,常用的是每个花括号占一行,并与使用花括号的语句对齐,花括号内的语句采用缩格书写的方式;另有一种形式是花括号与所括内容占一行。C程序的书写格式习惯用小写字母,大小写敏感不使用行号,无程序行概念可使用空行和空格常用锯齿形书写格式main(){……………….………………

…………..…………..

……………….

………………………….……………

温馨提示

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

评论

0/150

提交评论