书签 分享 收藏 举报 版权申诉 / 78
上传文档赚钱

类型程序设计基础课件.ppt

  • 上传人(卖家):三亚风情
  • 文档编号:2882149
  • 上传时间:2022-06-07
  • 格式:PPT
  • 页数:78
  • 大小:2.15MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《程序设计基础课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    程序设计 基础 课件
    资源描述:

    1、1程序设计基础Introduction to Computer Programming2教学安排课程名称: 程序设计基础(Introduction to Computer Programming)教学对象: 计算机软件专业的新生教学目标: 目标有二:掌握一种编程工具(C语言);掌握程序设计的基本思路和方法,提高分析问题、解决问题的能力。3教学安排教学方法:课堂讲解:基本概念、C语言的语法、语句,编程解题的基本思路、方法。每堂课要带上纸、笔,进行课题练习。鼓励创新、鼓励上台讲解自己的方法;上机实践:实践性极强的课程,将有大量的编程练习,“赶鸭子上架”。每周有一次固定上机时间,其余自由上机;4教学

    2、安排参考书:考核方式:1. “程序设计基础”,吴文虎2. “C 程序设计”,谭浩强;3. The C Programming Language(Kernighan & Ritchie)上机练习 期中考试 期末考试 (20%) (20%) (60%)教 材:“计算机语言与程序设计”,谌卫军 清华大学出版社,20075教学安排教学日历:1. 程序设计概述2. 数据类型与表达式3. 顺序结构程序设计、选择结构程序设计4. 循环控制5. 数组6. 作业讲评(编程规范、程序调试)7. 函数8. 期中考试6教学安排教学日历(续):9.指针10. 结构体11. 链表12. 算法引论13. 基于分治策略的递归

    3、算法14. 基于回溯策略的递归算法15. 习题课,总复习7教学安排http:/ door is always open for you.9教学安排COPY若发现两份相同的程序,均记0分。10小调查 编程基础 参加过程序设计类比赛(省、市、全国); 使用过C语言或其他编程语言,编写过一些小程序; 熟悉电脑操作,熟悉Windows操作系统,熟悉各种应用软件的使用; 没有接触过太多的计算机。11两个特别计划 编程非常强的学生 可以申请免修; 做一个大作业,自己选题,教师批准; 编程基础弱的学生 随时到办公室找我问问题。12教学安排Any question?13第 一 章 程序设计概述14第一章 程序

    4、设计概述1. 计算机、问题与程序2. C语言简介3. 一个例子4. C程序的上机步骤151.1 计算机、问题与程序1.1.1 这是一个计算机的时代16计算机能够做哪些事情? 琴:电脑合成的音乐; 棋:1997年5月,IBM公司的“深蓝”战胜国际象棋世界冠军卡斯帕罗夫; 书:电脑能够打印出各种字体的文字:宋体、楷体、隶书,等等; 画:在计算机控制下,能够在布匹上刺绣、甚至能编织任意图案的毛线衣!17计算机能够做哪些事情?(续) 听:语音识别技术,文档录入,识别率较高,已有相关的产品,如IBM的ViaVoice; 说:语音合成技术,Text-To-Speech(TTS),新闻阅读、霍金,自然度较好

    5、,也有相关产品; 读:自然语言理解,机器翻译、Internet网上基于内容的智能搜索; 写:电脑“写”的作文。18计算机的本质 计算机是一个超级计算器,是一种用来处理数据的通用途机器; 计算机以一种确定的方式来执行指令:F执行的是一组确定的指令序列;F执行的结果取决于系统的当前状态和输入的数据;19计算机硬件的体系结构中央处理器内存程序的执行过程20What makes computers so powerful? 速度快:F537 ?F人:1秒钟?FPentium III:10亿分之1秒! 精度高:F计算机:读取磁盘时,每隔10亿bits可能发生一个错误;F人:清华有多少个学生食堂?211.

    6、1.2 这是一个充满问题的世界 中东问题; 国际恐怖主义、毒品问题; 环境卫生问题; 家庭矛盾; 青少年早恋的问题; 22 本课程关心的是:计算机能够解决的问题。 计算机能够解决很多的问题:数学计算、模拟、数据分析、机器人控制、文本编辑、企业管理、,等等; 遗憾的是,这些问题的描述方式一般是自然语言的形式,而不是机器指令的形式。231.1.3 计算机程序 通过编写程序来让计算机帮助我们解决问题; 何为程序?一个程序即一组计算机指令! 如何编写程序? 接受一个问题; 分析这个问题; 设想一种方法来解决这个问题; 在计算机上,用某种计算机语言来描述该解决方案,即编码; 测试和调试程序(debug)

    7、。24 编程就象厨师烧菜,以红烧茄子为例; 原料(数据):茄子750克、肉片50克、葱姜蒜50克、酱油、盐、糖、鸡粉适量,水淀粉适量。 制作过程(算法): 将茄子切成块,葱姜蒜切末待用; 起油锅,待油热至八、九成时放入茄子,炸至茄子由硬变软时取出,将油沥干待用; 另起锅,锅中放油三汤匙,油热后,先爆香葱姜蒜,下肉片炒散,烹入酱油,加入少量水和鸡粉,放入茄子、盐、糖,大火煮开后改用小火煮至茄子入味,最后用淀粉勾芡。 程序 数据结构 算法25编程需要哪些技能? 编程既需要高层的创造性思维,又需要低层的细节处理; 一个好的程序员必须学会:F创造性地分析问题、解决问题;F小心翼翼地仔细编码。26计算机

    8、语言 机器语言: 机器硬件执行的是用机器语言描述的指令; 指令的格式一般为: 由0、1组成,难以理解和编写,工作效率极低,正确性难以保证。1111011000000110100000000001010000000010011101001010100110000000111111000011001110001001000111101110110000000101101000011000011000000101101000111111010000000101101000111111001000001001操作码OP 地址码AD27 汇编语言: 用符号来表示指令的操作码和数据单元,使用较为方便,如a

    9、dd ax,0; 汇编语言程序不能直接执行,需专门的汇编系统把它翻译成机器指令的形式,然后运行。 层次仍然太低,程序开发效率较低。mov eax, dword ptr ebp-4cmp eax, dword ptr ebp-8jle main+36h (00401046)mov ecx,dword ptr ebp-4mov dword ptr ebp-0Ch,ecxjmp main+3Ch (0040104c)mov edx,dword ptr ebp-8mov dword ptr ebp-0Ch,edx28 高级语言: 用一种更自然、更接近于人类语言习惯的符号形式(如数学公式)来编写程序,这

    10、样写出来的程序更容易理解和使用; 高级语言程序也不能直接运行,需专门的编译器把它翻译为机器指令的形式,然后运行;if(x y) z = x; else z = y;29 高级语言的发展历史: 1950s:Fortran, Lisp 1960s:Cobol, Algol, APL 1970s:Basic, Pascal, C 1980s:Smalltalk, C+, Modula, Ada, Prolog 1990s:Java301.2 C语言简介1.2.1 C语言的历史C 语言Unix 操作系统管理和分配计算机的软硬件资源,合理地组织计算机的工作流程,并向用户提供各种服务功能。计算机系统示意图

    11、CPU、内存、I/O设备(显示器、键盘、软盘机等)。(Word)31 1963年,MIT、贝尔实验室和GE决定联合开发MULTICS操作系统,该系统庞大而复杂,研制的难度远远超出人们的预料,因此贝尔实验室和GE先后退出了该项目; 1969年,贝尔实验室的Ken Thompson在MULTICS上编写了一个叫着“太空旅行”(Space Travel)的游戏,模拟一个飞行员驾驶一艘宇宙飞船在太阳系当中遨游,并且可以在各种星体上着陆。后来他们对MULTICS的访问被关闭了,因此Thompson在贝尔实验室找了一台无人使用的PDP-7计算机,然后和Dennis Ritchie在一台GE-635计算机上

    12、,利用其GECOS所提供的一个交叉汇编器,把空间旅行游戏用PDP-7汇编语言重新编写,然后用穿孔纸带把它转移到PDP-7上;32 后来,Thompson和Ritchie等人开始为PDP-7编写一个新的操作系统。在写好了文件系统和一组基本的软件工具以后,他们编写了一个PDP-7的汇编器,这样他们就能够直接在PDP-7上编程了。到了1970年,操作系统的基本元素都已经完成了,他们给系统起了一个名字UNIX; 1970年夏,研究小组得到了一台新机器PDP-11,因此把Unix系统从PDP-7移植到PDP-11,这项工作非常繁琐,因为整个系统都是用汇编语言来编写的。研究小组开始考虑用高级语言来重写整个

    13、系统,以提高可移植性和可懂性。33Algol 60Algol 68CPL BCPL B C Simula 67C+196019631967197019721983剑桥大学Matin RichardsKen ThompsonRitchieBjarne Stroustrup可移植C197788 ANSI C1988ANSIANSI C1983ANSI离硬件较远规模太大简单、接近硬件过于简单、数据无类型简化的CPL用C语言重写Unix系统不依赖具体机器341.2.2 C语言的特点 简单。C语言的语法简洁、紧凑,是一个比较小的语言。32个关键字,9种控制语句; 实用。“by programmer,fo

    14、r programmer”; 高效。C语言程序生成的目标代码的效率只比汇编语言低10; 可移植性好; 根据一项统计,在企业招聘的软件工程师职位当中,有22.7%的职位要求使用C/C+编程,在所有的编程语言中排名第二。351.2.3 C语言的应用领域 操作系统:Unix、Linux、Windows等; 系统软件:嵌入式系统软件(81%采用C语言)、设备驱动程序、数据库管理系统、病毒程序、磁盘管理工具等; 商业应用:媒体播放软件、游戏软件、专家系统软件、绘图软件等; 教学领域:Matlab、信号处理、数据结构。361.3 一个例子问题:判断一个数是奇数还是偶数?1.3.1 问题描述37 问题分析

    15、这个数必须是何种类型? 这个数如何获得? 什么叫“奇数”,什么叫“偶数”?如何来判断? 如何把判断的结果通报给大家?38 接受来自于键盘输入的一个整数; 如果这个数是一个偶数,那么在屏幕上显示“偶数”; 如果这个数是一个奇数,那么在屏幕上显示“奇数”。更准确的问题描述39 输入一个整数; 把该整数除以2; 如果余数等于0,表明这是一个偶数,在屏幕上显示“偶数”;否则的话,表明这是一个奇数,因此在屏幕上显示“奇数”。 例如:92543; 其他方法:判断最低位。解决该问题的算法401.3.2 C语言程序/* 输入一个整数,判断它是奇数还是偶数 */#include void main( ) int

    16、 num;/* 输入的整数 */ int rem;/* 除2以后的余数 */ /* 从用户处得到该整数. */ printf( “请输入一个整数:”); scanf( “%d”, &num); 41 /* 计算除2以后的余数并输出结果 */ rem = num % 2; if (rem = 0) printf(“偶数n”); else printf(“奇数n”); 请输入一个整数:17奇数421.3.3 C程序组成/* 输入一个整数,判断它是奇数还是偶数*/#include void main( ) int num;/* 输入的整数 */ int rem;/* 除2以后的余数 */ /* 从用

    17、户处得到该整数. */ printf( “请输入一个整数:”); scanf( “%d”, &num); /* 计算除2以后的余数并输出结果 */ rem = num % 2; if (rem = 0) printf(“偶数n”); else printf(“奇数n”); 位于/*和*/之间的文字,称为注释。用来帮助读者理解程序;在程序运行时会被忽略掉。/ 43/* 输入一个整数,判断它是奇数还是偶数*/#include void main( ) int num; /* 输入的整数 */ int rem; /* 除2以后的余数 */ /* 从用户处得到该整数. */ printf( “请输入一

    18、个整数:”); scanf( “%d”, &num); /* 计算除2以后的余数并输出结果 */ rem = num % 2; if (rem = 0) printf(“偶数n”); else printf(“奇数n”); 以符号“#”开头的行, 称为编译预处理行;“#include”称为文件预处理命令;“#include ” 是让文件“stdio .h”的内容包含到程序中去;44/* 输入一个整数,判断它是奇数还是偶数*/#include void main( ) int num; /* 输入的整数 */ int rem; /* 除2以后的余数 */ /* 从用户处得到该整数. */ pri

    19、ntf( “请输入一个整数: ”); scanf( “%d”, &num); /* 计算除2以后的余数并输出结果 */ rem = num % 2; if (rem = 0) printf(“偶数n”); else printf(“奇数n”); C程序是由函数构成的;main( ) 是每个C程序都必须有的,称为主函数;可以把主函数看成是程序的入口; 和 分别表示函数的开始和结束。45/* 输入一个整数,判断它是奇数还是偶数*/#include void main( void ) int num;/* 输入的整数 */ int rem;/* 除2以后的余数 */ /* 从用户处得到该整数. */

    20、 printf( “请输入一个整数:”); scanf( “%d”, &num); /* 计算除2以后的余数并输出结果 */ rem = num % 2; if (rem = 0) printf(“偶数n”); else printf(“奇数n”); 变量的声明部分,定义所用到的变量,指明它们的名字和类型。46/* 输入一个整数,判断它是奇数还是偶数*/#include void main( void ) int num; /* 输入的整数 */ int rem; /* 除2以后的余数 */ /* 从用户处得到该整数. */ printf( “请输入一个整数:”); scanf( “%d”,

    21、&num); /* 计算除2以后的余数并输出结果 */ rem = num % 2; if (rem = 0) printf(“偶数n”); else printf(“奇数n”); 函数的执行部分,由若干个语句组成,每一条语句指明了程序即将执行的某一个操作。每一条语句后面必须有一个分号结尾。471.3.4 从C到机器语言 用C语言编写的程序称为C语言的“源程序”(source code); 计算机的处理器CPU只能看懂用它自己的机器语言来编写的“可执行程序”(executable program) 0、1序列; 不同的CPU系列有不同的机器语言,如X86, PowerPC, SPARC, AR

    22、M, .; 如何让CPU来执行用C语言编写的程序?48 需要两个步骤,使用两个工具软件,把一个C源程序转换为相应的可执行程序: 使用一个C 编译器(compiler)把C源程序转换等价的、用机器语言来表示的程序(即01序列); 使用一个链接器(linker)把这个转换后的程序与它所引用的库文件(如printf, scanf)链接在一起,生成最终的可执行程序(即 .exe 文件); 类似于Visual Studio 之类的编程环境,可以把这两个步骤合二为一。49从源程序到可执行程序的转换501.4 C程序的上机步骤1.4.1 上机环境 操作系统:Windows系列,如Windows XP 或Vi

    23、sta等; 编程工具:Visual C+ 6.0 或以上的版本。511.4.2 上机步骤一、打开Visual C+ 编程环境;二、创建工程;三、创建源文件,编辑源程序;四、编译和链接,生成可执行文件。52一、打开Visual C+ 编程环境进入VC编程环境主要有两种方法: 在Windows系统的桌面双击 VC 图标; 从Windows系统的“开始菜单”进入。53方法1:用鼠标双击“桌面”上的VC图标,进入环境54方法2:从“开始菜单”进入1. 用鼠标点击“开始” 菜单2. 鼠标上移至“程序(p)”3. 将鼠标水平右移至下一级菜单中的“Visual Studio 6.0”4. 点击“VC 6.0

    24、”5556File 菜单:文件操作等57Edit 菜单:编辑查找58View 菜单:窗口设置等59Insert 菜单:资源加入等60Project 菜单:工程管理等61Build 菜单:编译链接调试62Tools 菜单:调试工具、系统配置等63Window 菜单:窗口管理64Help 菜单:帮助信息65二、创建一个新的工程 工程(Project)的概念: 由一组相关的文件(源文件、头文件、资源文件、配置文件等)所构成,用来生成一个最终的二进制文件(例如可执行文件EXE、动态链接库DLL等); 每一个程序都需要一个相应的工程,工程名即为生成的程序的名字(而非源文件名)。 工作空间(Workspa

    25、ce)的概念: 每个工程都存在于一个工作空间中,在创建一个新的工程时,相应的工作空间也被创建; 一个工作空间可以包含若干个相关的工程。661. 单击“File” “New”或者按快捷键Ctrl+N67创建新工程的界面682. 指定工程的类型、存放位置和名称(a) 类型:控制台程序(b)存放位置(c) 工程名称选择路径693. 指定控制台程序的类型选择空的工程。70确认信息71新工程已创建72三、创建源文件,编辑源程序(a)文件类型:C+源文件(b) 源文件名称test.c1. 创建源文件(方法1:单击“File” “New” )731. 创建源文件(方法2:鼠标右击Source Files)74输入文件名test.c752. 编辑源文件main ( ) printf(“Hello, world! n”);763. 经常性地存盘存盘的方法: 单击“File” “Save” 按快捷键Ctrl+S 在工具栏上点击图标 。77四、编译链接、调试程序(1)单击“Build” “Build” 或者按F7进行编译链接(2)单击“Build” “Execute” 或者按Ctrl+F5运行程序78 END

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:程序设计基础课件.ppt
    链接地址:https://www.163wenku.com/p-2882149.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库