版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、程序设计基础(C语言)陈有英答疑邮箱:计算机及程序设计概述计算机和计算机程序3计算机的基本工作原理4计算机硬件和计算机软件n计算机硬件主机外部设备n计算机软件裸机要使计算机解决各种实际问题,必须有软件的支持,计算机软件着重研究如何管理计算机和使用计算机的问题 ,没有软件支持的计算机就是一堆废铁5指令与程序n指令指令就是计算机执行某种操作的命令,是硬件能理解并能执行的语言,是机器语言的一个语句,是程序员进行程序设计的最小语言单位。 n指令的组成指令由操作码和操作数构成nMov 3,reg1nMov 5,reg2nAdd reg1,reg2nEnd6指令与程序n程序程序(program)是为实现特
2、定目标或解决特定问题而用计算机语言编写的、可以连续执行并能够完成一定任务的指令序列的集合。 n程序的开发描述问题(算法)程序设计语言n计算机软件7程序设计语言n机器语言二进制指令与计算机硬件的设计密切相关 n汇编语言汇编语言与机器语言的指令具有一一对应的关系,指令的操作码和操作数地址全部用指定的符号表示 汇编语言依然依赖于计算机系统结构,只能为特定的机器所识别,是面向机器的语言 8程序设计语言n高级语言与具体的计算机指令系统无关的计算机语言n高级语言的分类面向过程的语言nC、Pascal面向对象的语言nC+、Java、.Net面向特定应用的语言nSQL9为什么学习c语言?nC语言是目前实际程序
3、设计工作中使用最广泛的语言之一它包含了程序设计需要理解和使用的基本程序机理和主要机制掌握这些机制就可以理解程序与程序设计的主要问题。n目前有许多软件系统是用C编写的,或基本上是用C编写的学习程序设计的同时也能掌握一种实用的程序设计工具nC语言是一种很灵活的语言既可以在较高层次上做,也可以在较低级的层次上做n很多新型的语言都是衍生自C语言有些本身就是C语言的扩充和发展n程序设计是计算机领域的基础课程C语言适合作为计算机领域许多后续课程的教学语言10授课重点n侧重学习一个具体问题的算法化的过程n学习应该掌握的基本编程技巧以及C编程的风格和艺术n讨论怎样编写出一个好的程序?简单、实用的原则11本课程
4、的组织第一部分第一部分基基 础础第二部分第二部分简单程序设计简单程序设计第三部分第三部分高级程序设计高级程序设计算法概念、编程原理、编程风格、算法概念、编程原理、编程风格、基本数据类型定义、算术运算符及基本数据类型定义、算术运算符及表达式表达式顺序结构、选择结构、循环结构、顺序结构、选择结构、循环结构、数组的定义及应用、程序设计过程数组的定义及应用、程序设计过程函数、变量的存储类别、指针、结函数、变量的存储类别、指针、结构体与共用体、文件构体与共用体、文件12程序设计n什么是程序设计?使用某种程序语言编写程序的过程,就是用计算机语言对所要解决的问题中的数据以及处理问题的方法和步骤所做的完整而准
5、确的描述的过程n怎样进行程序设计?分析问题确定算法编制程序调试程序13程序设计n一个完整的程序数据结构、算法、编程语言和程序设计方法n对数据的描述(数据流)指定数据的类型和数据的结构n对操作的描述(控制流)指定操作的步骤,既算法n程序=数据结构+算法14算法n什么是算法(Algorithm)?就是为了解决一个特定的问题而采取的确定的、有限的、按照一定次序进行的、缺一不可的执行步骤注意n为了有效地利用计算机解决实际问题,在设计算法时不仅要保证计算机执行算法的正确性,还要考虑算法的质量,选择适合于具体问题的算法15算法n通常计算机算法分为两大类:数值运算算法和非数值运算算法数值运算是指对问题求数值
6、解n有确定的数学模型非数值运算是指事务处理过程n种类繁多,很难提供统一规范的算法n更多的是需要用户设计其算法的16算法n例1:猴子吃桃问题。有一堆桃子不知数目,猴子第一天吃掉一半,又多吃了一个,第二天照此方法,吃掉剩下桃子的一半又多一个,天天如此,到第11天早上,猴子发现只剩一只桃子了,问这堆桃子原来有多少个? 数学模型:数学模型:a ai i=2=2* *(a ai+1i+1+1+1) i=9,8,7,1i=9,8,7,1;Step1:peach1=1;i=10; Step2:peach0=2*(peach1+1);); Step3:peach1=peach0; Step4:i=i-1; S
7、tep5:若:若i=1,继续循环执行,继续循环执行Step2;Step6:输出:输出peach0的值。的值。 17算法n输入三个数,然后输出最大的数n算法的两个要素基本功能操作n数据运算和传输控制结构n顺序、选择和循环三种基本控制流程 算法可以写成:算法可以写成:(1)输入)输入A,B,C;(2)若)若AB,则,则A-MAX;若;若AMAX。(3)若)若CMAX,则,则C-MAX。(4)输出)输出MAX,MAX是最大数。是最大数。 18算法的特性n有穷性应含有有限的操作步骤,不能是无限的。有穷性指在 “合理的限度之内”n唯一性每一个步骤都是确定的,只有一个涵义,不可以为二义性n有零个或多个输入
8、在执行算法时需要从外界获取必要的信息n有一个或多个输出算法执行的目的就是为了求解,“解”就是输出的信息没有输出的算法是没有意义的n正确性每一个步骤应当被有效的执行,并得到确定的结果19算法的表示n流程图端点:表示程序的转向,常用端点:表示程序的转向,常用来表示程序的开始和结束。来表示程序的开始和结束。处理:操作的功能处理:操作的功能判断:单入口判断:单入口多出口,表明判断的条件多出口,表明判断的条件流线:表示程序流线:表示程序的执行方向和顺序。的执行方向和顺序。输入输入/ /输出:表示数据的名称、类型和用途等。输出:表示数据的名称、类型和用途等。20算法的表示n流程图开始开始输入输入A,B,C
9、AB?TNMAX=AMAX=BCMAX?NTMAX=C输出输出MAX结束结束21算法的表示nN-S图是适合结构化程序设计方法的图形工具N-S流程图无法表示非结构化的程序T TN N当条件满足当条件满足a1=1a1=1i=9i=9当当i=1i=1时,循环时,循环a0=2a0=2* *(a1+1a1+1)a1=a0a1=a0i=i-1i=i-1输出输出a0a022算法的表示nUML面向对象的分析与设计工具适合于描述复杂系统元素之间的关系,不关注具体算法23程序设计基本步骤 n确定数学模型实际问题的准确描述n算法描述 解决问题的具体步骤n编写程序 将已设计好的算法表达出来 n程序测试 保证程序的正确
10、性 24结构化的程序设计方法n程序的三种基本结构 问题的提出结构化程序设计必须采用的结构n顺序结构、选择结构和循环结构被称为程序设计的三种基本结构n算法的实现过程是由一系列操作组成的,这些操作之间的执行次序就是程序的控制结构n总体结构流程都是自上而下顺序执行的。 25结构化的程序设计方法n程序的三种基本结构顺序结构,顺序结构表示程序中的各操作是按照它们出现的先后顺序执行的 选择结构,表示程序的处理出现了分支,它需要根据某一特定的条件选择其中的一个分支执行 循环结构,程序反复执行某个或某些操作,直到某条件为假(或为真)时才可终止循环 26结构化的程序设计方法n结构化程序设计方法 公认的面向过程编
11、程应遵循的基本方法和原则结构化程序设计特征n采用模块化结构自顶而下的设计方法 便于对问题的分解和模块的划分 程序由三种基本控制结构组成有限制地使用转移语句n采用结构化程序设计语言书写程序结构化程序设计语言书写程序n注意书写风格27其他程序设计方法n面向对象程序设计方法结构化程序设计方法作为一种面向过程的程序设计方法,将解决问题的重点放在了描述实现过程的细节上,尽量保证程序的客观性,避免人对于程序设计的干扰。面向对象方法的基本原则是尽可能地模拟现实世界中人类的思维方式,使开发软件的方法和过程尽可能地接近人类解决问题的方法和过程。 n并行程序设计n基于组件的程序设计28什么是C语言?n1973年由
12、美国贝尔实验室设计发布的 目前是计算机程序设计语言的主流语种是世界上最为广泛使用的语言之一nC语言的流行归功于两个主要因素使用正确的C语言指令几乎可以完成任何任务是可移植的C编译系统的广泛采用nC语言是一种能够让软件工程师与计算机进行有效对话的介于汇编语言和高级语言之间的编程语言29什么是C语言?nC语言标准1978年,正式出版的The C Programming Language书中介绍的c语言,称为标准c语言1983年,美国国家标准化协会(ANSI)根据各种c语言版本对c的扩充和发展,颁布了c语言的新标准ANSI cnANSI c比标准c有了很大的扩充和发展1987年,美国国家标准化协会又
13、颁布新标准,称为87 ANSI C1990年,国际标准化组织ISO接受了87 ANSI C作为ISO C的标准n目前功能最完善、性能最优良的新版本n目前流行的C编译系统都是以它为基础的30什么是C语言?nC语言的特点适合开发系统软件结构化的程序设计语言丰富的数据类型和数据结构运算符多样化可移植性好语句简洁紧凑编程风格灵活,语法限制少,使用灵活具有预处理功能面向对象程序设计的基础31编写一个加法运算程序编写一个加法运算程序#include#includestdio.hstdio.hmainmain()() int a int a,b b;/ /* *定义两个整形变量定义两个整形变量* */ /
14、a=1 a=1;b=5b=5;/ /* *给两个变量赋值给两个变量赋值* */ / printf printf(“%d+%d=%dn”,a,b,a+b%d+%d=%dn”,a,b,a+b); ; / /* *打印打印a a和和b b之和之和* */ / C C语言严格区分大、小写语言严格区分大、小写 英文字母。英文字母。C C语言程序习惯上使用小写英文字语言程序习惯上使用小写英文字母,而大写英文字母通常作为常母,而大写英文字母通常作为常量的宏定义和其他特殊的用途。量的宏定义和其他特殊的用途。什么是C语言?32#include#includestdio.hstdio.hmainmain()()
15、int a int a,b b;/ /* *定义两个整形变量定义两个整形变量* */ / a=1 a=1;b=5b=5;/ /* *给两个变量赋值给两个变量赋值* */ / printf printf(“%d+%d=%dn”,a,b,a+b%d+%d=%dn”,a,b,a+b); ; / /* *打印打印a a和和b b之和之和* */ / C C语言严格区分大、小写语言严格区分大、小写 英文字母。英文字母。什么是C语言? C C语言程序是由一个个的语言程序是由一个个的 语句组成。语句组成。每个语句都具有规定的语法格式每个语句都具有规定的语法格式和特定的功能。和特定的功能。编写一个加法运算程序
16、编写一个加法运算程序33#include#includestdio.hstdio.hmainmain()() int a int a,b b;/ /* *定义两个整形变量定义两个整形变量* */ / a=1 a=1;b=5b=5;/ /* *给两个变量赋值给两个变量赋值* */ / printf printf(“%d+%d=%dn”,a,b,a+b%d+%d=%dn”,a,b,a+b); ; / /* *打印打印a a和和b b之和之和* */ / C C语言严格区分大、小写语言严格区分大、小写 英文字母。英文字母。什么是C语言? C C语言程序是由一个个的语言程序是由一个个的 语句组成。语句
17、组成。 C C语言程序使用语言程序使用“;”作为作为 语句的终止符和分隔符。语句的终止符和分隔符。可以任意书写,即一行中可以书写多可以任意书写,即一行中可以书写多个语句,一个语句也可以占用任意多个语句,一个语句也可以占用任意多行,语句之间必须用行,语句之间必须用“;”分隔。初分隔。初学时建议在一行内书写一条语句。学时建议在一行内书写一条语句。编写一个加法运算程序编写一个加法运算程序34#include#includestdio.hstdio.hmainmain()() int a int a,b b;/ /* *定义两个整形变量定义两个整形变量* */ / a=1 a=1;b=5b=5;/ /
18、* *给两个变量赋值给两个变量赋值* */ / printf printf(“%d+%d=%dn”,a,b,a+b%d+%d=%dn”,a,b,a+b); ; / /* *打印打印a a和和b b之和之和* */ / C C语言严格区分大、小写语言严格区分大、小写 英文字母。英文字母。什么是C语言? C C语言程序是由一个个的语言程序是由一个个的 语句组成。语句组成。 C C语言程序使用语言程序使用“;”作为作为 语句的终止符和分隔符。语句的终止符和分隔符。 C C语言程序中用大括号对语言程序中用大括号对 “ ” “ ”表示程序的结构层表示程序的结构层 次范围。次范围。一个完整的程序模块要用一
19、对花括号括起一个完整的程序模块要用一对花括号括起来,用以表示模块的范围。为了清晰地表来,用以表示模块的范围。为了清晰地表现出程序的结构,建议使用右缩进锯齿型现出程序的结构,建议使用右缩进锯齿型程序书写格式。程序书写格式。编写一个加法运算程序编写一个加法运算程序35#include#includestdio.hstdio.hmainmain()() int a int a,b b;/ /* *定义两个整形变量定义两个整形变量* */ / a=1 a=1;b=5b=5;/ /* *给两个变量赋值给两个变量赋值* */ / printf printf(“%d+%d=%dn”,a,b,a+b%d+%d
20、=%dn”,a,b,a+b); ; / /* *打印打印a a和和b b之和之和* */ / C C语言严格区分大、小写语言严格区分大、小写 英文字母。英文字母。什么是C语言? C C语言程序是由一个个的语言程序是由一个个的 语句组成。语句组成。 C C语言程序使用语言程序使用“;”作为作为 语句的终止符和分隔符。语句的终止符和分隔符。 C C语言程序中用大括号对语言程序中用大括号对 “ ” “ ”表示程序的结构层表示程序的结构层 次范围。次范围。语言程序可以使用注释。语言程序可以使用注释。 注释部分的格式是:注释部分的格式是:注释内容注释部分不参与注释内容注释部分不参与程序的执行,对程序的运
21、行结果没程序的执行,对程序的运行结果没有影响,只是用来提示或助记。有影响,只是用来提示或助记。编写一个加法运算程序编写一个加法运算程序36什么是C语言?C程序为函数模块结构,整个程序都是由一个或多个函数组成函数是由函数说明和函数体两部分组成一个C程序总是从main()函数开始执行被调用的函数可以是系统提供的库函数,也可以是用户根据需要自己编制设计的函数(用户自定义函数)一个C 程序可以由一个文件组成,也可以由若干个文件组成分析下面程序:分析下面程序:#include#include main main ()() int a=1,b=5,c; int a=1,b=5,c; c=add(a,b); c=add(a,b); printf(“c=%dn”,c); printf(“c=%dn”,c); int add(int x int add(int x,int y)int y) return(x+y); return(x+y); 37 C C程序程序源程序文件源程序文件1 1源程序文件源程序文件i i源程序文件源程序文件n n预编译命令预编译命令函数函数1 1函数函数n n函数体函数体函数首部函数首部什么是C语言?38什么是C语言?n标识符每种程序语言都规定了在程序里描述名字的规则n这些名字包括:变量名、常数名、数组名、函数名、文件名、类型名等,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 烟台市福山区2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 白山市江源县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 铜仁地区铜仁市2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 临沂市临沭县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 泉州市金门县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 鄂州市鄂城区2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 山南地区琼结县2025-2026学年第二学期四年级语文第五单元测试卷(部编版含答案)
- 深度解析(2026)《CBT 4463-2016深海潜水器用复合材料轻外壳规范》
- 深度解析(2026)《CBT 4225-2013船舶轴系轴颈直径系列》
- 深度解析(2026)《CBT 3687-1995船用系泊绞车和绞盘修理技术要求》
- 退役军人大病帮扶救助申请书
- 承重墙拆除免责协议书
- 劳务合同模板电子下载
- 个人自我批评和相互批评意见100条
- 三年级下册语文期末复习教案参阅五篇
- 固井质量测井原理
- 维吾尔乐器简介课件
- 株洲科能新材料股份有限公司电子材料建设项目环境影响报告书
- GB/T 24191-2009钢丝绳实际弹性模量测定方法
- GB/T 1420-2015海绵钯
- 焊接技能综合实训-模块六课件
评论
0/150
提交评论