欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    第12章C语言概述课件.ppt

    • 资源ID:69572644       资源大小:713.01KB        全文页数:54页
    • 资源格式: PPT        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第12章C语言概述课件.ppt

    1第第1 1章章 语言概述语言概述本章主要介绍本章主要介绍C语言程序的结构和书写,语言程序的结构和书写,以及以及Turbo C V2.0的基本操作。的基本操作。2本章内容本章内容1.1 C语言的发展简史语言的发展简史1.2 C语言的特点语言的特点1.3 简单的简单的C程序介绍程序介绍1.4 Turbo C V2.0的基本操作的基本操作1.5 程序设计与算法程序设计与算法1.6 如何学习本课程如何学习本课程31.1 C语言的发展简史语言的发展简史1.1.C C语言诞生的语言诞生的历史背景历史背景2.C2.C语言的语言的诞生及发展诞生及发展3.3.在微机上使用的语言编译系统有在微机上使用的语言编译系统有Microsoft CMicrosoft C、Turbo C Turbo C、Borland CBorland C等。虽然它等。虽然它们的基本部分都是相同的,但还是有一些差异,们的基本部分都是相同的,但还是有一些差异,所以请大家注意自己所使用的编译系统的特点所以请大家注意自己所使用的编译系统的特点和规定(参阅相应的手册)。和规定(参阅相应的手册)。本课程选定的上机环境是本课程选定的上机环境是TC V2.0TC V2.0。4C语言诞生的历史背景语言诞生的历史背景 在在C语言诞生以前,系统软件主要是用语言诞生以前,系统软件主要是用汇编汇编语言语言编写的。由于汇编语言程序依赖于计算机硬编写的。由于汇编语言程序依赖于计算机硬件,其可读性和可移植性都很差;但一般的高级件,其可读性和可移植性都很差;但一般的高级语言又难以实现对计算机硬件的直接操作(这正语言又难以实现对计算机硬件的直接操作(这正是汇编语言的优势),于是人们盼望有一种兼有是汇编语言的优势),于是人们盼望有一种兼有汇编语言汇编语言和和高级语言高级语言特性的新语言。特性的新语言。56许多著名的系统软件许多著名的系统软件,如如DBASE PLUS、DBASE 都是由都是由C 语言编写的。到上世纪语言编写的。到上世纪90年代,年代,C已经成为计算机专业学生的已经成为计算机专业学生的首选教学语言首选教学语言,并成,并成为一代程序员主要工作语言。为一代程序员主要工作语言。90年代中期,随着年代中期,随着PC的普及和的普及和C+等面向对象等面向对象语言的出现,人们渐渐把视线转移到语言的出现,人们渐渐把视线转移到PC应用软件应用软件上,上,程序员们也开始习惯用面向对象这种更高级方式思程序员们也开始习惯用面向对象这种更高级方式思考和解决问题。大家对考和解决问题。大家对C强大的强大的底层控制底层控制能力失去能力失去兴趣,因为那些复杂的代码已经可以交给编译器去兴趣,因为那些复杂的代码已经可以交给编译器去实现,底层的操作已经完全可以交给实现,底层的操作已经完全可以交给类库类库和操作系和操作系统统API去进行,去进行,C语言逐渐失去了主流编程语言的位语言逐渐失去了主流编程语言的位置。置。7进入进入21世纪,随着世纪,随着个人电子消费产品个人电子消费产品和和开源软开源软件件的流行,的流行,C语言再次焕发生机。由于语言再次焕发生机。由于C在底层控制在底层控制和性能方面的优势,使之成为芯片级开发(嵌入式)和性能方面的优势,使之成为芯片级开发(嵌入式)和和Linux平台开发的首先语言;在通信、网络协议、平台开发的首先语言;在通信、网络协议、破解、破解、3D引擎、操作系统、驱动、单片机、手机、引擎、操作系统、驱动、单片机、手机、PDA、多媒体处理、实时控制等领域,、多媒体处理、实时控制等领域,C正在用一正在用一行行代码证明它从行行代码证明它从应用级应用级开发到开发到系统级系统级开发的强大开发的强大和高效。和高效。8C语言的诞生及其发展语言的诞生及其发展 语言是语言是贝尔实验室贝尔实验室于上世纪于上世纪70年代初研制年代初研制出来的,后来又被多次改进,并出现了多种版本。出来的,后来又被多次改进,并出现了多种版本。80年代初,美国国家标准化协会(年代初,美国国家标准化协会(ANSI),根),根据语言问世以来各种版本对语言的发展和扩据语言问世以来各种版本对语言的发展和扩充,制定了充,制定了ANSI C标准(标准(1989年再次做了修订)年再次做了修订)。本课程以本课程以ANSI C新标准来介绍。新标准来介绍。91.2 语言程序的特点语言程序的特点C语言同时具有汇编语言和高级语言的优势。语言同时具有汇编语言和高级语言的优势。(1)语语言言简简洁洁、紧紧凑凑,使使用用方方便便、灵灵活活(共共只有只有32个关键字,个关键字,9种控制语句)。种控制语句)。(2)运算符极其丰富。)运算符极其丰富。(3)数数据据结结构构丰丰富富,具具有有现现代代化化语语言言的的各各种种数据结构。数据结构。(4)具具有有结结构构化化的的控控制制语语句句,用用函函数数实实现现程程序的模块化。序的模块化。程序演示程序演示1程序演示程序演示2程序文本程序文本1程序文本程序文本210(5)语语法法限限制制不不太太严严格格,程程序序设设计计自自由由度度大大,所所以以,程程序序员员应应仔仔细细检检查查程程序序保保证证其其正正确确性,而不要过分依赖性,而不要过分依赖C编译系统去查错。编译系统去查错。如如:对对数数组组下下标标越越界界不不作作检检查查,整整型型数数据据与与字符型数据可以通用。字符型数据可以通用。11(6)C语语言言允允许许直直接接访访问问物物理理地地址址,能能进进行行位位(bit)操操作作,能能实实现现汇汇编编语语言言的的大大部部分分功功能能,可以直接对硬件进行操作。可以直接对硬件进行操作。所所以以,C语语言言兼兼有有高高级级语语言言和和低低级级语语言言的的特特点点,又又称称为为“中中级级语语言言”,既既可可用用来来编编写写应应用用软软件件,又又可可用用来来编编写写系系统统软软件件。对对操操作作系系统统和和系系统统实实用用程程序序以以及及需需要要对对硬硬件件进进行行操操作作的的场场合合,用用C明显优越于其他高级语言。明显优越于其他高级语言。12(7)生生成成的的目目标标代代码码质质量量高高,程程序序执执行行效效率高。率高。(8)可可移移植植性性好好(较较之之汇汇编编语语言言),基基本本上上不不作作修修改改就就能能用用于于各各种种型型号号的的计计算算机机和和各各种种操操作系统。作系统。以以上上现现在在还还不不能能深深刻刻理理解解,待待本本课课程程学学完完相相信大家就会有比较深的体会。信大家就会有比较深的体会。131.3 简单的简单的C程序介绍程序介绍1.简单简单C程序程序举例举例 2.通过以上例子,可以总结出:通过以上例子,可以总结出:(1)C程序是由函数程序是由函数构成构成的。的。(2)一一个个函函数数由由函函数数的的说说明明部部分分(函函数数首首部部)和和函函数数体体组成。组成。(3)一个一个C程序总是从程序总是从main函数开始函数开始执行执行。14(4)程程序序行行的的书书写写格格式式自自由由,既既允允许许1行行内内写写几几条条语语句,也允许句,也允许1条语句分写在几行上。条语句分写在几行上。(5)所所有有语语句句都都必必须须以以分分号号“;”结结束束,函函数数的的最最后一个语句也不例外。后一个语句也不例外。(6)C语语言言本本身身没没有有I/O语语句句,I/O实实行行“函函数数化化”。(7)可可用用/*/对对C程程序序中中的的任任何何部部分分作作注注释释。“/*”和和“*/”必必须须成成对对使使用用,且且“/”和和“*”、以以及及“*”和和“/”之间不能有空格,否则都出错。之间不能有空格,否则都出错。3.程序的书写技巧程序的书写技巧15程序的书写技巧程序的书写技巧技巧:技巧:在在源源程程序序中中,很很多多符符号号都都是是成成对对匹匹配配出出现现的的,为为避避免免遗遗漏漏必必须须配配对对使使用用的的符符号号,例例如如注注释释符符号号、函函数数体体的的起起止止标标识识符符(花花括括号号)、圆圆括括号号等等等等,在在输输入入时时,可可连连续续输输入入这这些些起起止止标标识识符符,然然后后再再在在其其中中进进行行插插入入来来完完成成内内容容的的编编辑辑。在在起起止止标标识识符嵌套时,以及相距较远时,这样做更有必要。符嵌套时,以及相距较远时,这样做更有必要。16C程序是由函数构成的程序是由函数构成的1.一个一个C源程序至少包含一个函数(源程序至少包含一个函数(main函数),也可以函数),也可以包含一个包含一个main函数和若干其它函数。因此,函数是函数和若干其它函数。因此,函数是C程程序的基本单位。序的基本单位。2.main()函数的作用,相当于其它高级语言中的主程序;函数的作用,相当于其它高级语言中的主程序;其它函数的作用,相当于子程序。其它函数的作用,相当于子程序。3.main函数由程序员自己定义,函数由程序员自己定义,main函数中使用的函函数中使用的函数可以使自己编写的(如数可以使自己编写的(如max案例中的函数),也可以案例中的函数),也可以是系统提供的(库函数,如是系统提供的(库函数,如printf函数、函数、scanf函数)。函数)。4.C的函数库十分丰富,可参见课本的附录了解。的函数库十分丰富,可参见课本的附录了解。Return17函数的说明部分(函数首部)函数的说明部分(函数首部)例如,案例例如,案例1.2中的函数中的函数max(),其函数说明各部分如下所示。,其函数说明各部分如下所示。函数类型函数类型 函数名函数名 函数参数表函数参数表 int max (int x,int y )Return18函数体函数体在在函函数数说说明明部部分分的的下下面面、大大括括号号(必必须须配配对对使使用用)内的部分。内的部分。函数体的构成:函数体的构成:(1)说明部分)说明部分说明语句部分由变量定义、变量说明等组成。说明语句部分由变量定义、变量说明等组成。(2)可执行语句部分)可执行语句部分 一一般般由由若若干干条条可可执执行行语语句句构构成成。案案例例1.2的的main()函数体如下所示。函数体如下所示。19main()int n1,n2;变量定义部分变量定义部分 printf(“Input the first number:”);scanf(“%d”,&n1);printf(“Input the second number:”);可执行语句部分可执行语句部分 函数体函数体 scanf(“%d”,&n2);printf(“max=%dn”,max(n1,n2);Return20程序的执行程序的执行 一一个个语语言言程程序序,总总是是从从main()函函数数开开始始执执行行,而而不不论论其其在在程程序序中中的的位位置置。当当主主函函数数执执行行完完毕毕时时,亦即程序执行完毕。亦即程序执行完毕。Return21 一一个个完完整整的的语语言言程程序序,是是由由一一个个main()函函数数(主主函函数数)和和若若干干个个其其它它函函数数结结合合而而成成的的,或或仅仅由由一一个个main()函数构成。函数构成。例1.1 仅由仅由main()函数构成的语言程序。函数构成的语言程序。main()printf(“This is a C program.n”);程序演示程序演示程序运行结果:程序运行结果:This is a C program.22案例1.2 由由main()函数和函数和1个其它函数个其它函数max()构成的语言程序。构成的语言程序。int max(int x,int y)int z;if(xy)z=x;else z=y;return(z);main()int num1,num2,c;printf(“Input the first integer number:”);scanf(“%d”,&num1);printf(“Input the second integer number:”);scanf(“%d”,&num2);c=max(num1,num2);printf(“max=%dn”,c);程序演示程序演示程序运行情况:程序运行情况:Input the first integer number:6Input the first integer number:6 Input the second integer number:9 Input the second integer number:9 max=9 max=9 23改改写写案案例例1.2,交交换换main()函函数数和和max()函函数数的的前前后后位位置置,源程序略。源程序略。程序演示程序演示程序运行情况:程序运行情况:Input the first integer number:6 Input the second integer number:9 max=9说说明明:C语语言言程程序序总总是是从从main()函函数数开开始始执执行行,而而不不论论main函数在整个程序中的位置如何。函数在整个程序中的位置如何。ReturnReturn 241.4 Turbo C V2.0的基本操作1.运行一个语言程序的一般过程运行一个语言程序的一般过程 2.TC的启动、退出与命令菜单的启动、退出与命令菜单 3.编辑并保存一个语言源程序编辑并保存一个语言源程序 4.编译、连接编译、连接单个源程序文件单个源程序文件 5.运行与查看结果运行与查看结果 6.编辑下一个新的源程序编辑下一个新的源程序 251.运行一个语言程序的一般过程运行一个语言程序的一般过程 urbo 是是一一个个集集源源程程序序编编辑辑、编编译译、连连接接、运运行行与与调试于一体、调试于一体、用菜单驱动的集成软件环境。用菜单驱动的集成软件环境。运行一个语言程序的一般过程:运行一个语言程序的一般过程:(1)启动)启动TC,进入,进入TC集成环境。集成环境。(2)编编辑辑(或或修修改改)源源程程序序,源源程程序序文文件件后后缀缀一一般般为为*.c,注意文件的保存。,注意文件的保存。(3)编编译译。由由编编译译程程序序将将源源程程序序编编译译成成机机器器指指令令程程序序,即即目目标标程程序序。目目标标程程序序的的文文件件名名与与相相应应的的源源程程序序同同名名,但但后缀为后缀为*.obj。如如果果编编译译成成功功,可可进进行行下下一一步步操操作作;否否则则,返返回回(2)修改源程序,再重新编译,直至编译成功。修改源程序,再重新编译,直至编译成功。26(4)连接。将目标程序和库函数或其它目标程序连接)连接。将目标程序和库函数或其它目标程序连接成了可执行的文件,文件名与相应的源程序同名,后缀为成了可执行的文件,文件名与相应的源程序同名,后缀为*.exe。如如果果连连接接成成功功,则则可可进进行行下下一一步步操操作作;否否则则,根根据据系系统统的错误提示,进行相应修改,再重新连接,直至连接成功。的错误提示,进行相应修改,再重新连接,直至连接成功。(5)运运行行。通通过过观观察察程程序序运运行行结结果果,验验证证程程序序的的正正确确性性。如如果果出出现现逻逻辑辑错错误误,则则必必须须返返回回(2)修修改改源源程程序序,再再重新编译、连接和运行,直至程序正确。重新编译、连接和运行,直至程序正确。(6)退出)退出TC集成环境,结束本次程序运行。集成环境,结束本次程序运行。ReturnReturn 272.TC的启动、退出与命令菜单的启动、退出与命令菜单(1)启动启动Turbo C(2)命令菜单的)命令菜单的使用使用(3)退出退出Turbo C ReturnReturn 28启动Turbo C启动启动Turbo C:tc 画面演示画面演示(1)启启动动Turbo C后后,其其主主菜菜单单条条横横向向排排列列在在屏屏幕幕顶顶端端,并被激活,其中并被激活,其中File菜单成为当前项。菜单成为当前项。(2)主主菜菜单单的的下下面面,是是Edit(编编辑辑)窗窗口口和和Message(消消息息)窗窗口口。两两个个窗窗口口中中,顶顶端端横横线线为为双双线线显显示示的的,表表示示该该窗口是活动窗口。窗口是活动窗口。29(3)编辑窗口的顶端为状态行,其中:)编辑窗口的顶端为状态行,其中:Line 1 Col 1:显显示示光光标标所所在在的的行行号号和和列列号号,即即光光标标位位置。置。Insert:表表示示编编辑辑状状态态处处于于“插插入入”。当当处处于于“改改写写”状状态时,此处为空白。态时,此处为空白。D:NONAME.C:显显示示当当前前正正在在编编辑辑的的文文件件名名。显显示示为为“NONAME.C”时,表示用户尚未给文件命名。时,表示用户尚未给文件命名。(4)屏屏幕幕底底端端是是7个个功功能能键键的的说说明明,以以及及Num Lock键键的的状状态态(显显示示“NUM”时时,表表示示处处于于“数数字字键键”状状态态;空空白白,表表示示“控制键控制键”状态)。状态)。ReturnReturn 30命令菜单的使用命令菜单的使用(1)按按下下功功能能键键F10,激激活活主主菜菜单单。如如果果主主菜菜单单已已经经被被激激活,则直接转下一步。活,则直接转下一步。(2)用用左左、右右方方向向键键移移动动光光带带,定定位位于于需需要要的的主主项项上上,然然后再按回车键,打开其子菜单。后再按回车键,打开其子菜单。(3)用用上上、下下方方向向键键移移动动光光带带,定定位位于于需需要要的的子子项项上上,回回车即可。执行完选定的功能后,系统自动关闭菜单。车即可。执行完选定的功能后,系统自动关闭菜单。注意:菜菜单单激激活活后后,又又不不使使用用,可可再再按按F10Esc键键关关闭闭,返回原来状态。返回原来状态。ReturnReturn 31退出Turbo C退出退出TC有两种方法:有两种方法:(1)菜单法:)菜单法:File|Quit先选择先选择File主项,再选择并执行主项,再选择并执行Quit子项子项(2)快捷键法:)快捷键法:Alt+“X”先按下先按下Alt键并保持,再按字母键,然后同时放开键并保持,再按字母键,然后同时放开 ReturnReturn 323.编辑并保存一个语言源程序(1)激激活活主主菜菜单单,选选择择并并执执行行File|Load项(快捷键键:项(快捷键键:F3)。)。(2)在在“Load File Name”窗窗口口,输输入入源源程程序序文文件件名名。文文件件名名的的输输入入有有两两种种方方法法:直直接接输输入入和选择输入。和选择输入。(3)常用编辑操作 ReturnReturn 33文件名的输入文件名的输入1)直接输入)直接输入按照文件名的组成字符串,逐个字符输入即可。按照文件名的组成字符串,逐个字符输入即可。a.如如果果是是已已经经存存在在的的文文件件,系系统统就就在在编编辑辑窗窗口口显显示示该该文文件件的的内内容容,可可供供编编辑辑、修修改改。如如果果是是新新文文件件,则则给给出出一一个个空空白白编编辑辑窗窗口口,可供输入新的源程序。可供输入新的源程序。b.如果该文件不在当前目录下,则需要冠以路径名和(或)盘符。如果该文件不在当前目录下,则需要冠以路径名和(或)盘符。2)选择输入(仅适用于已经存在的源程序文件)选择输入(仅适用于已经存在的源程序文件)a.回车,打开当前目录下后缀为回车,打开当前目录下后缀为.的所有文件的文件名窗口。的所有文件的文件名窗口。b.用上、下、左、右方向键,将光标定位于所需的文件名上。用上、下、左、右方向键,将光标定位于所需的文件名上。b.按回车键。按回车键。ReturnReturn 34常用编辑操作常用编辑操作(1)在在编编辑辑源源程程序序过过程程中中,随随时时都都可可以以按按F2键键(或或File|Save),将将当当前前编编辑辑的的文文件件存存盘盘,然然后后继继续续编编辑辑。这这是是一一个个良良好的习惯!好的习惯!(2)关于帮助:)关于帮助:在任何窗口下,按在任何窗口下,按F1键激活活动窗口(或状态)的帮助:键激活活动窗口(或状态)的帮助:35在任何窗口下,按在任何窗口下,按F1键激活活动窗口(或状态)的帮助:键激活活动窗口(或状态)的帮助:下一页下一页PageDown,返回上一页,返回上一页PageUp关闭在线帮助、返回原窗口(或状态)关闭在线帮助、返回原窗口(或状态)Esc返返回回前前一一个个在在线线帮帮助助屏屏Alt+F1(无无论论在在线线帮帮助助是是否否被被激激活)活)返返回回在在线线帮帮助助索索引引F1:激激活活在在线线帮帮助助后后,再再按按F1,则则返返回在线帮助索引,以便查询其它类别在线帮助信息。回在线帮助索引,以便查询其它类别在线帮助信息。查查询询库库函函数数的的在在线线帮帮助助信信息息F1:将将光光标标移移到到需需要要查查询询函函数数名名的的首首字字符符上上,然然后后键键入入F1,即即可可获获得得该该库库函函数数的的在在线线帮帮助信息。助信息。注:为为 简简 化化 描描 述述,用用“”代代 表表“Ctrl”键键。Fn就就 是是Ctrl+Fn,下同。,下同。ReturnReturn 36 4.编译、连接编译、连接单个源程序文件单个源程序文件 选选择择并并执执行行Compile|Make EXE File项项(快快捷捷键键:F9),则则TC将将自自动动完完成成对对当当前前正正在在编编辑辑的的源源程程序序文文件的编译、连接,并生成可执行文件。件的编译、连接,并生成可执行文件。如如果果源源程程序序有有语语法法错错误误,系系统统将将在在屏屏幕幕中中央央的的“Compiling”(编编译译)窗窗口口底底端端提提示示“Error:Press any key”(错误:按任意键)。(错误:按任意键)。此此时时,按按空空格格键键,屏屏幕幕下下端端的的“Message”(消消息息)窗窗口口被被激激活活,显显示示出出错错(或或警警告告)信信息息,光光带带停停在在第第一一条条消消息息上上。这这时时“Edit”(编编辑辑)窗窗口口中中也也有有一一条条光光带带,它总是停在编译错误在源代码中的相应位置。它总是停在编译错误在源代码中的相应位置。注意:当当用用上上、下下键键移移动动消消息息窗窗口口中中的的光光带带时时,编编辑辑窗窗口口中中的的光光带带也也随随之之移移动动,始始终终跟跟踪踪源源代代码码中中的的错错误误位置!位置!ReturnReturn 37 5.运行与查看结果运行与查看结果(1)运行当前正在编辑的源程序文件)运行当前正在编辑的源程序文件 选选择择并并执执行行Run|Run项项(快快捷捷键键:F9),程程序运行结束后,序运行结束后,仍返回到编辑窗口。仍返回到编辑窗口。当当你你认认为为自自己己的的源源程程序序不不会会有有编编译译、连连接接错错误误时时,也也可可直直接接运运行行(即即跳跳过过对对源源程程序序的的编编译译、连连接接步步骤骤)。这时,这时,TC将一次完成从编译、连接到运行的全过程。将一次完成从编译、连接到运行的全过程。(2)查看运行结果)查看运行结果 选选择择并并执执行行Run|User Screen项项(快快捷捷键键:Alt+F5)。查看完毕后,按任一键返回编辑窗口。)。查看完毕后,按任一键返回编辑窗口。如如果果发发现现逻逻辑辑错错误误,则则可可在在返返回回编编辑辑窗窗口口后后,进进行行修改;然后再重新编译、连接、运行,直至正确为止。修改;然后再重新编译、连接、运行,直至正确为止。ReturnReturn 38 6.编辑下一个新的源程序编辑下一个新的源程序 选择并执行选择并执行File|New项即可。项即可。如果屏幕提示如下确认信息:如果屏幕提示如下确认信息:NONAME.C not saved.Save?(Y/N)如如果果需需要要保保存存当当前前正正在在编编辑辑的的源源程程序序,则则键键入入“”,进进入操作(入操作(1);否则,键入;否则,键入“”(不保存),跳转到(不保存),跳转到(2)。)。(1)系统提示换名:)系统提示换名:NONAME.C 直接输入你给源程序文件起的名字即可。直接输入你给源程序文件起的名字即可。(2)系系统统给给出出一一个个空空白白的的编编辑辑窗窗口口,可可以以开开始始编编辑辑下下一一个个新的源程序。新的源程序。ReturnReturn 391.5 程序设计与算法程序设计与算法1.程序程序 2.算法算法 3.结构化程序设计结构化程序设计 4.C语言程序设计的主要过程语言程序设计的主要过程 40程序程序 程序(程序(program)是为解决特定问题而用计)是为解决特定问题而用计算机语言编写的命令序列的集合。算机语言编写的命令序列的集合。执行程序时,由程序控制计算机完成相应的执行程序时,由程序控制计算机完成相应的操作,得到相应的结果。程序应包括:操作,得到相应的结果。程序应包括:对数据的描述:数据的类型,数据的组织形式对数据的描述:数据的类型,数据的组织形式(数据结构数据结构,做什么),做什么)对操作的描述:操作步骤(对操作的描述:操作步骤(算法算法,怎么做),怎么做)所以:数据结构所以:数据结构+算法算法=程序(沃思)程序(沃思)ReturnReturn 41算法算法l定义:为了解决一个问题而采用的方法和步骤称定义:为了解决一个问题而采用的方法和步骤称为算法。为算法。l同一问题,有不同的解题方法和步骤;我们关心同一问题,有不同的解题方法和步骤;我们关心的仅限于计算机能执行的算法。的仅限于计算机能执行的算法。l计算机算法的分类:计算机算法的分类:数值运算算法数值运算算法 非数值运算算法非数值运算算法42算法的特性算法的特性l有穷性:有限的操作步骤(合理的范围之内)有穷性:有限的操作步骤(合理的范围之内)l确定性:每一步都应当是确定的,不应含糊不清确定性:每一步都应当是确定的,不应含糊不清l可行性:每一步应当正确的执行,得到确定的结果可行性:每一步应当正确的执行,得到确定的结果 l有零个或多个输入有零个或多个输入l有一个或多个输出:算法的目的是为了求解有一个或多个输出:算法的目的是为了求解 “解解”就是输出就是输出 没有输出的算法是没有意义的没有输出的算法是没有意义的43算法举例算法举例判断整数判断整数n n是否为素数是否为素数素数:除了素数:除了1 1和该数本身,不能被其它任何整数整除和该数本身,不能被其它任何整数整除的数。的数。S1S1:输入输入n n的值。的值。S2S2:i=2:i=2S3S3:r=n%i:r=n%iS4S4:若若r=0r=0,输出,输出“n n不是素数不是素数”,算法结束。,算法结束。否则,继续否则,继续S5S5。S5S5:i=i+1:i=i+1S6S6:若若i=n-1i=n-1,返回,返回S3S3;否则,输出否则,输出“n n是素数是素数”,算法结束。,算法结束。44(判断素数算法的改进)(判断素数算法的改进)S1S1:输入输入n n的值。的值。S2S2:i=2:i=2,flag=1flag=1S3S3:r=n%i:r=n%iS4S4:若若r=0r=0,flag=0flag=0S5S5:i=i+1:i=i+1S6S6:若若i=n-1i=n-1并且并且flag=1flag=1,返回,返回S3S3;否则,继续否则,继续S7S7。S7S7:若若flag=1flag=1,输出,输出“是素数是素数”;否则,输出否则,输出“不是素数不是素数”,算法结束。,算法结束。45课后思考题课后思考题设计一算法,判断任意设计一算法,判断任意3 3位数位数n n是否为水仙花数。是否为水仙花数。定义:水仙花数是指一个定义:水仙花数是指一个 n 位数位数(n3),它的,它的每个位上的数字的每个位上的数字的 n 次幂之和等于它本身。(例次幂之和等于它本身。(例如:如:13+53+33=153)ReturnReturn 46结构化程序设计结构化程序设计结构化程序设计的实质是控制编程的复杂性。结构化程序设计的实质是控制编程的复杂性。其基本思想是像搭积木一样,只要有几种简单的结其基本思想是像搭积木一样,只要有几种简单的结构即可构成任意复杂的程序。构即可构成任意复杂的程序。三种基本结构三种基本结构顺序结构顺序结构 选择结构选择结构 循环结构循环结构47顺序结构顺序结构先先A,后,后B顺序执行顺序执行 A B ab48选择结构选择结构必有一个判断框必有一个判断框选择的执行选择的执行A或或B之一之一A,B中可有一个是空的中可有一个是空的 成立成立 条件条件 不成立不成立 A Bab49循环结构循环结构当型循环结构当型循环结构 A 条件条件直到型循环结构直到型循环结构 A 条件条件不成立不成立不成立不成立成立成立成立成立aabb50传统流程图的表示传统流程图的表示 起止框起止框 I/OI/O框框 判断框判断框 处理框处理框 流程线流程线 连接点连接点(避免流程线交叉或过长,使流程图清晰)(避免流程线交叉或过长,使流程图清晰)注释框注释框(不是必要部分)(不是必要部分)51三种基本结构的三种基本结构的N-SN-S流程图流程图注:注:A A,B B可以是一个简单的操作,也可以是可以是一个简单的操作,也可以是3 3个基本结构之一。个基本结构之一。A B条件条件不成立不成立成立成立当条件成立当条件成立直到条件成立直到条件成立 A A B A52结构化程序设计方法结构化程序设计方法三种基本结构构成的程序必然是结构化的程序;结构化三种基本结构构成的程序必然是结构化的程序;结构化程序设计方法强调程序设计风格和程序结构的规范化;结构程序设计方法强调程序设计风格和程序结构的规范化;结构化程序设计方法提倡清晰的结构。化程序设计方法提倡清晰的结构。基本思路基本思路:复杂问题的求解过程可分阶段进行:复杂问题的求解过程可分阶段进行具体采用以下方法:具体采用以下方法:自顶向下自顶向下,逐步细化逐步细化,模块化设计模块化设计(程序复杂时,更有必要),(程序复杂时,更有必要),结构化编码结构化编码(用高级语言语句(用高级语言语句正确的实现三种基本结构)正确的实现三种基本结构)ReturnReturn 53C语言程序设计的主要过程语言程序设计的主要过程提出并分析问题提出并分析问题设计设计算法算法(画出算法流程)(画出算法流程)编写程序编写程序编译调试程序编译调试程序 ReturnReturn 541.6 如何学习本课程如何学习本课程学习的内容:学习的内容:C语言的语法规则语言的语法规则程序设计基本技术程序设计基本技术“先读先读(读程序),(读程序),再模仿再模仿,再实战再实战”上机环节的重要性上机环节的重要性

    注意事项

    本文(第12章C语言概述课件.ppt)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开