计算概论AB01感性认识C程序.ppt

上传人:牧羊曲112 文档编号:6343055 上传时间:2023-10-18 格式:PPT 页数:37 大小:750KB
返回 下载 相关 举报
计算概论AB01感性认识C程序.ppt_第1页
第1页 / 共37页
计算概论AB01感性认识C程序.ppt_第2页
第2页 / 共37页
计算概论AB01感性认识C程序.ppt_第3页
第3页 / 共37页
计算概论AB01感性认识C程序.ppt_第4页
第4页 / 共37页
计算概论AB01感性认识C程序.ppt_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《计算概论AB01感性认识C程序.ppt》由会员分享,可在线阅读,更多相关《计算概论AB01感性认识C程序.ppt(37页珍藏版)》请在三一办公上搜索。

1、计算概论A课程 程序设计部分感性认识C+程序,崔 斌,什么是程序?,计算机也是机器!必须“设置”好才能运行;ENIAC采用“手工插线”的方式“编程”;“编程序”=给计算机设置好运行的步骤;程序 人们用来告诉计算机应该做什么的东西;怎么告诉它呢?(程序到底是什么样子?)告诉计算机一些什么东西,它才能运行?以什么形式告诉它,它才能够明白?,问题一,告诉计算机一些什么东西,它才能运行?下面请把你自己的大脑当作一台计算机:,给你一个数列,求最大数:78,56,69,31,36,67,31,47,69,34,45,74,61,82,43,41,76,79,81,66,54,50,76,51,53,28,

2、74,39,45,61,52,41,43,75,78,84,72,51,43,64,75,81,69,55,74,你怎么做的?,哪个数字最大?把上面的数字输入大脑里;在大脑里开辟了一个存储空间存放输入的数字;把某一个数字取出来,当作一个临时的“特别数字”记住,并假设这个数字最大;拿这个临时的“特别数字”与其他数字相比较;如果有其他数字比临时的“特别数字”更大,就把“特别的数字”换成这个更大的数字;重复上述过程直到把所有的数字都比较完毕;那么大脑中这个“特别数字”就记录了最大的数字;,把自己的大脑当作计算机,你做了些什么?在大脑中使用了一片存储空间存放输入的数字;使用了另一个(片)存储空间存放“

3、特别数字”;“反复”选定(按照某种规律)“存储空间中的数字”(与“特别数字”比较);(每次比较时)判断“选定的数字”是否大于“特别数字”;(如果大于)重新“刷新”“特别数字”;(如果“特别数字”与其他数字都进行了比较)说出“特别数字”;,把别人的大脑当作计算机,告诉别人些什么?在你的大脑里开辟一片存储空间存放输入的数字;开辟另一个存储空间存放“特别数字”;从存储空间中的第一个数字开始,直到最后一个数,重复以下操作:比较“存储空间中的数字”与“特别数字”;如果“存储空间中的数字”大于“特别数字”;那么,将“特别数字”换成“存储空间中的数字”;说出“特别数字”;,你能看懂多少?,#includeu

4、sing namespace std;int main()int number45=78,56,69,31,36,67,31,47,69,34,45,74,61,82,43,41,76,79,81,66,54,50,76,51,53,28,74,39,45,61,52,41,43,75,78,84,72,51,43,64,75,81,69,55,74;int max=0;int i=0;for(i=0;i max)max=numberi;coutThe Maximal Number is:max;return 0;,问题来了!,是不是“无论我们在程序里写什么,计算机都能明白?”计算机语言提供了

5、一些具有特定含义的“关键字”、“运算符”等;计算机“只能明白”这些元素的特定含义。(哪些关键字?含义是什么?)是不是“无论什么样的数字、符号都能够在计算机中进行存储”?计算机能够处理的数据的种类是有限制的。(哪些类型?类型的限制是什么?)用有限的几个关键字,能表达“各种各样、纷繁复杂”的处理逻辑吗?程序的控制结构有几种基本的逻辑结构。(哪几种?为什么只有这几种?怎么使用?),计算机认识哪些词?,计算机能够明白的“单词”这些关键词在程序中有特定含义,计算机能够处理哪种类型的数据?,如何表达纷繁复杂的计算逻辑?,分支语句,循环语句,顺序语句,判断语句,关于变量的定义和使用,变量的定义 变量类型 变

6、量名称;int i;float result;,#include void main()int i;couti;cout您输入的整数是:iendl;,程序如何输入/输出?,如何从程序中输出信息?cout x;cin是输入流对象(支持输出的东西)“”(提取操作符),简单程序的组成,/*/*example.cpp*/*#includeusing namespace std;int main()int number45=78,56,69,31,36,67,31,47,69,34,45,74,61,82,43,41,76,79,81,66,54,50,76,51,53,28,74,39,45,61,5

7、2,41,43,75,78,84,72,51,43,64,75,81,69,55,74;int max=0;int i=0;for(i=0;i max)max=numberi;coutThe Maximal Number is:max;return 0;/函数结束返回,注释,预编译:文件包含命令,声明名字空间,函数体,变量定义,循环控制语句,赋值语句,运算表达式,输入输出语句,函数名,很简单的程序(1),/*/*exam1.cpp*/*#include using namespace std;int main()cout I am a student.endl;return 0;,很简单的程序

8、(2),#include using namespace std;int main()int a,b,result;cout a b;result=3*a2*b+1;cout“result is”result endl;return 0;,很简单的程序(3),#includeusing namespace std;int main()int x,y;cinxy;if(xy)coutMax number is:xendl;elsecoutMax number is:yendl;return 0;,最简单的程序,#includeusing namespace std;int main()retur

9、n 0;,#includevoid main(),#include void main()int score;char grade;coutscore;if(score100)cout=90)grade=A;else if(score=80)grade=B;else if(score=70)grade=C;else if(score=60)grade=D;cout输入的成绩是grade级!endl;,关于C+程序的几点说明,关于C+程序本身每个C+程序都由很多个“函数”组成 每个程序都以main()函数开始(程序入口)每个函数的形式都有“输入”和“输出”如 int main();如 doubl

10、e pow(double x,double y)语句分号结尾,一行可以写多个语句,一个语句可以写多行;格式变化不会影响程序运行;程序中的注释可以放在/*.*/之间,或/之后;,#include using namespace std;void swap(int x,int y);/这是函数的声明;int main()int a=30,b=40;couta=a,b=bendl;swap(a,b);/这是函数的调用;couta=a,b=bendl;return 0;void swap(int x,int y)/这是一个函数的定义;int z=x;x=y;y=z;,关于C+程序的几点说明,关于C+程

11、序的运行环境 C+程序均保存在 xxx.cpp 的文件之中;不同的文件之间可以互相“引用”;通过“include”实现 xxx.cpp 文件不能直接执行,必须用一个软件进行“编译”,然后运行 Visual C+6.0 Visual Studio.NET Eclipse+CDT,C+程序的加工和执行,源程序,不能直接执行,必须先把它转换为可执行程序。加工通常分两步:编译编译程序处理源程序,生成机器语言目标文件。目标文件不能执行,缺少必要的C+程序运行系统和库功能。连接把目标模块与运行系统、库模块组合起来,构成完整的可执行程序。,关于C+程序的书写,注意事项:每行程序的书写必须按照逻辑进行缩进;编

12、写如下程序行时,应该提供注释:变量的定义;/说明变量代表的意义或作用;函数的定义;/说明该函数的主要作用;复杂逻辑出现时;/解释一段语句的作用;变量的命名应该尽可能体现变量的含义;,关于高级程序设计语言C+,程序释义,程序计算任务的处理对象和处理规则的描述。计算任务:任何以计算机为处理工具的任务都是计算任务。处理对象是数据(如数字、文字、图形、图像、声音等,它们只是表示,而无含义)或信息(数据及有关的含义)。处理规则一般指处理动作和步骤。计算机科学技术百科全书,程序设计语言的产生,通过何种语言与机器进行沟通 机器语言 汇编语言 高级语言,程序设计语言的分类,低级语言 之一 机器语言机器语言是机

13、器指令形成的语言;形式为二进制编码,机器可直接执行;数据装入寄存器0数据装入寄存器1寄存器0与1的数据乘数据装入寄存器1寄存器0与1的数据加保存寄存器0里的数据难写难读,人使用不便,程序开发效率极低,程序设计语言的分类,低级语言 之二汇编语言汇编语言采用助记符号形式,有利于人阅读和使用。汇编指令与机器指令对应。load 0 a数据装入寄存器0 load 1 b 数据装入寄存器1 mult 0 1 寄存器0与1的数据乘(结果存在寄存器0)load 1 c 数据装入寄存器1 add 0 1 寄存器0与1的数据加 save 0 d 保存寄存器0里的数据 比机器语言好多了,但还不够好用!,程序设计语言

14、的分类,汇编语言的特点:每条指令的意义容易理解。程序粒度太小,细节太多。程序无结构,缺乏组织手段。写大程序仍然很困难。最早时通过手工翻译为机器指令。后来人们开发出“汇编系统”,让计算机去完成程序翻译工作计算机无法直接执行汇编语言程序,执行前需要翻译为机器指令程序。,程序设计语言的分类,高级语言用变量等概念取代低级的存储概念,人摆脱了繁琐的存储安排工作;用类似数学的表达式形式描述基本计算;具有类似文字的表现形式;提供高级操作流程控制手段和程序组织手段。,C语言写同样的程序:d=a*b+c;,我们学的是什么高级语言?,C+语言(面向对象部分),C 语言部分,高级语言的发展历程,1954-1956年

15、 IBM 的John Backus 和他的研究小组研发了FORTRAN(FORmula TRANslation),C程序设计语言,简单历史Algol 60:1960年1月,图灵奖获得者Alan J.Perlis在巴黎举行的由全世界一流软件专家参加的讨论会上,发表了“算法语言Algol 60报告”,确定了程序设计语言Algol 60。(A 语言)1963年,剑桥大学在ALGOL 60的基础上推出了CPL(Combined Programming Language)语言,但规模比较大,难以实现。1967年,剑桥大学的Matin Richards对CPL语言作了简化,推出了BCPL(Basic Co

16、mbined Programming Language)语言。1970年贝尔实验室的Ken Thompson进一步简化,设计出了B语言,并用B语言写第一个UNIX操作系统,在PDP-7上实现。C语言是在1972-1973年间由UNIX的研制者Dennis Ritchie和Ken Thompson在B语言的基础上发展和完善起来的。,C 语言的版本,K&R C在1978年,Kernighan和Ritchie的The C Programming Language第一版出版。在以后的几年里,The C Programming Language一直被广泛作为C语言事实上的规范。在这本书中,C语言通常被表

17、述成“K&R C”。ANSI C和ISO C(1989年)1989年,C语言被ANSI标准化,对 K&R C进行了扩展,包括了一些新的特性,也规定了一套标准函数库。ISO成立 ISO/IEC JTC1/SC22/WG14工作组来规定国际标准的C语言。通过对ANSI标准的少量修改,最终通过了ISO 9899:1990。随后ISO标准被ANSI采纳。ANSI C和ISO C(1995年)作为对标准的维护与更新,WG14工作小组在1995年对1985年颁布的标准做了两处技术修订(缺陷修复)和一个补充(扩展)。C99 在ANSI标准化后,WG14小组继续致力于改进C语言。新的标准很快推出,就是ISO9899:1999(1999年出版)。这个版本就是通常提及的C99。它被ANSI于2000年三月采用。,From C to C+,美国AT&T贝尔实验室的本贾尼(Bjarne Stroustrup)在20世纪80年代初期发明并实现了C+(最初被称作“C with Classes”)。1985年10月,Bjarne博士完成了经典巨著The C+Programming Language第一版;1998年11月ISO颁布了C+程序设计语言的国际标准ISO/IEC 14882-1998。2003年发布一个C+标准的修正版本;每5年视实际需要更新一次标准。,谢 谢!,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号