第1章 C语言程序设计概述_第1页
第1章 C语言程序设计概述_第2页
第1章 C语言程序设计概述_第3页
第1章 C语言程序设计概述_第4页
第1章 C语言程序设计概述_第5页
已阅读5页,还剩48页未读, 继续免费阅读

下载本文档

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

文档简介

1、主讲教师:郭永宁E-MAIL:,高级语言程序设计,2,预修课程:计算机一级课程性质:专业必修基础课周学时:5(理论授课)+2(上机实践)教材:黄翠兰等.高级语言程序设计(修订版).福建:厦门大学出版社,2009.参考书:谭浩强.C程序设计(第四版).北京:清华大学出版社,2010.,3,程序设计语言是计算机学科领域中不可缺少的知识组成。ACM和IEEE/CS把计算机学科领域知识划分为九个主科目:算法与数据结构、计算机体系结构、人工智能与机器人学、数据库与信息检索、人机通信、数值与符号计算、操作系统、程序设计语言、软件方法学与工程。,4,课程目标,掌握C语言的基本概念、语法、句法。熟悉Turbo

2、C上机操作环境。会阅读、会编写、会调试C程序。学会进行常用算法的分析和设计。初步的程序设计能力。,5,第1章C语言程序设计概述,6,计算机发展史及发展方向,ENIAC,世界上第一台电子计算机ENIAC:它使用了18000个电子管,10000个电容,7000个电阻,功率150千瓦,占地170m2,重量约30吨,运算速度为每秒5000次加减运算。,第一台电子数字计算机ENIAC,7,计算机发展史及发展方向,IBM在1981年生产的第一台计算机IBMPC_XT,8,计算机发展史及发展方向,当今的个人计算机,9,计算机发展史及发展方向,Intel公司的三巨头:巴瑞特、摩尔、葛洛夫,10,计算机发展史及

3、发展方向,摩尔定律图表,11,计算机发展史及发展方向,小鬼当家:美国Microsoft公司的前总裁Bill.Gates与APPLE公司的创始人乔布斯,12,计算机发展史及发展方向,DELL公司创始人DELL,13,计算机发展史及发展方向,计算机发展方向:巨型化:用于军事、科学计算微型化:手持电脑HPC多媒体:声、图、文、动画、音频、视频智能化:模拟人的功能,识别声音、文字、图像,各种语言互译,使计算机具有推力联想等功能。网络化:使世界成为一体,无种族、无货币、无国界。,14,计算机发展史及发展方向,多种多样的计算机产品,15,计算机发展史及发展方向,的大小与人的指甲一样大小,CPU,16,学计

4、算机学什么,什么是“会计算机”?会打字?会编程?会DIY?会上网?会“黑客”?懂原理、能应用、有创新。,17,计算机科学的奠基人图灵计算机行业的梦想:让计算机能像人一样地思考,与人自然交流。AI(ArtificialIntelligence,人工智能)能实现吗?会有那么一天,人与计算机的位置互换吗?计算机是用来延伸人的能力的工具,需要人来驾驭。我们的职责是让它更容易被驾驭。,18,计算机与人工智能,1997年,IBM公司研制的深蓝超级计算机在一场“人机大战”中打败了国际象棋大师卡斯帕罗夫。被誉为“人工智能的一大胜利”深蓝的主要研制者之一许峰雄博士:“胜利靠的只是不知疲倦地高速运算,并不是什么智

5、能”,19,人与计算机的对话,两个说不同母语的人的对话方式:一方学另一方的语言双方都学习一种第三方语言人与计算机的对话方式:计算机学习人的语言(自然语言)人学习计算机的语言学习第三方语言,20,常见的流行语言,应用编程语言:机器语言汇编语言BasicPascalCC+JavaC#专项编程语言:LotusNotesPowerBuilder,Web编程语言:HTMLXMLPHPASPJSPJavaScriptVBScript其他:perlpythonVBA,21,一起来复习,计算机硬件系统的组成:,冯.诺依曼结构:,硬件,运算器,控制器,内存储器,主机:,I/O设备:键盘、显示器等,外存储器,22

6、,计算机基本工作过程,大脑,记忆装置,眼睛和耳朵,23,第一代语言:机器语言,计算1+1:,101110000000000100000000000001010000000100000000,24,第二代语言:汇编语言(符号语言),数据传送,相加,25,第三代语言:高级语言,PRINT1+1,#includemain()printf(%dn,1+1);,26,C语言的发展历程,CPLBCPLBCCPL(CombinedProgrammingLanguage),1963,英国剑桥BCPL(BasicCombinedProgrammingLanguage),1967,英国剑桥B语言,1970,美国贝

7、尔C语言,1972,美国贝尔(D.Ritchie)1973,K.Thompson与D.Ritchie合作,用C语言重写了UNIX,从而奠定了操作系统的地位。1978年后,C先后被移植到大、中、小、微型机上。1983年美国国家标准化协会(ANSI)根据C语言自问世以来的各种版本,对C语言的发展和扩充制定了新的标准,称为ANSIC。,27,由此看出,C语言最初是为描述和实现UNIX操作系统而设计的,现在已成为一种成熟的通用编程语言,并被广泛应用于多种机型(如个人计算机、工作站和大型机)和操作系统(如DOS、Windows、Linux和UNIX)上。C语言既可以处理数据库、网络、图形、图像等,又适合

8、在工业控制、自动检测等方面的应用。就目前来说,最主要的应用是在嵌入式软件的开发方面。,28,C语言的设计者DennisM.Ritchie,29,Ritchie漫画像,Cisquirky,flawed,andanenormoussuccess.,30,Ritchie和Thompson在开发UNIX,31,和Unix的设计者KenThompson接受美国国家技术勋章,32,语言的特点,(1)语言简洁、紧凑,使用方便、灵活。32个关键字(保留字)、9种控制语句,程序形式自由。(2)运算符丰富(34种表达式)。(3)数据类型丰富,具有现代语言的各种数据结构。(整型、实型、字符型、枚举型、指针类型、文件

9、等,以及由上述类型构造的类型,如数组、结构体、共用体等)(4)具有结构化的控制语句,是完全模块化和结构化的语言。(5)语法限制不太严格,程序设计自由度大。(6)允许直接访问物理地址,能进行位操作,能实现汇编语言的大部分功能,可直接对硬件进行操作。兼有高级和低级语言的特点。(7)目标代码质量高,程序执行效率高。只比汇编程序生成的目标代码效率低1020。(8)程序可移植性好(与汇编语言相比)。基本上不做修改就能用于各种型号的计算机和各种操作系统。,33,32个关键字:(由系统定义,不能重作其它定义)autobreakcasecharconstcontinuedefaultdodoubleelsee

10、numexternfloatforgotoifintlongregisterreturnshortsignedsizeofstaticstructswitchtypedefunsignedunionvoidvolatilewhile,34,9种控制语句:if()elsefor()while()dowhile()continuebreakswitchgotoreturn,35,1:C语言本身特点及应用。2:C+是由于开发大型应用软件的需要而产生的,并不是所有的人都要去编写大型软件。3:面向对象的基础是面向过程。C+是面向对象的语言,C是面向过程的,C+学起来比C语言困难得多;要完成底层的、占用资

11、源少的程序,Java无能为力。4、入门语言:为学习数据结构、C+/VC、JAVA等打基础。,问题:既然有了面向对象的C+、Java等语言,为什么还要学习C语言?,36,简单的C语言程序介绍例1:,#includevoidmain()printf(ThisisaCprogram.n);,/*预处理,文件包含*/*主函数*/*函数体开始*/*输出语句*/*函数体结束*/,说明:main-主函数名,void-函数类型每个C程序必须有一个主函数main。是函数开始和结束的标志,不可省。每个C语句以分号结束。使用标准库函数时应在程序开头一行写:#include,说明:本程序的作用是输出一行信息:This

12、isaCprogram.,37,例2:求两数之和#includevoidmain()/*求两数之和*/inta,b,sum;/*声明,定义变量为整型*/*以下3行为C语句*/a=123;b=456;sum=a+b;printf(sumis%dn,sum);,说明:/*/表示注释。注释只是给人看的,对编译和运行不起作用。所以可以用汉字或英文字符表示,可以出现在一行中的最右侧,也可以单独成为一行,但不能嵌套,如/*Thisisthemain/*ofexample1.1*/*/,说明:输出一行信息:sumis579,38,例3(1):由键盘输入任意两个整数,输出其中较大的数。#includevoid

13、main()/*主函数*/inta,b,c;/*声明部分,定义变量*/printf(Pleaseinputtwonumbers:n);/*输出提示信息*/scanf(%d,%d,/*输出c的值*/程序运行情况如下:Pleaseinputtwonumbers:(输出提示信息)8,5(输入8和5赋给a和b)max=8(输出c的值),39,例3(2):#includevoidmain()/*主函数*/inta,b,c;/*定义变量a、b、c*/scanf(d,d,/*输出c的值*/,程序运行情况如下:8,5(输入8和5赋给a和b)max=8(输出c的值),intmax(intx,inty)intz;

14、if(xy)z=x;elsez=y;returnz;,说明:本程序包括main和被调用函数max两个函数。max函数的作用是将x和y中较大者的值赋给变量z。return语句将z的值返回给主调函数main。,40,(1)C程序是由函数构成的。这使得程序容易实现模块化。(2)一个函数由两部分组成:函数的首部:如max函数首部intmax(intx,inty)函数体:花括号内的部分。若一个函数有多个花括号,则最外层的一对花括号为函数体的范围。函数体包括两部分:声明部分:inta,b,c;(可缺省)执行部分:由若干个语句组成。(可缺省)例:voiddump()这是一个空函数,什么也不做,但却是合法的函

15、数。,41,(3)C程序总是从main函数开始执行的,与main函数的位置无关。(4)C程序书写格式自由,一行内可以写几个语句,一个语句可以分写在多行上,C程序没有行号,可使用空行和空格,常用锯齿形书写格式。习惯用小写字母,对大小写敏感。(5)每个语句和数据声明的最后必须有一个分号。(6)C语言本身没有输入输出语句。输入和输出的操作是由库函数scanf和printf等函数来完成的。C对输入输出实行“函数化”。,42,从键盘上输入三个数,求出这三个数的最大数。思路:输入三个数num1、num2、num3之后,先求出三个数中两个数num1和num2的较大数max2,再把这个较大数max2与第三个数

16、num3比较,求出最大数max3。,思考,43,#include/*Cprog1.CByZhaoShaoka*/*Thisprogramisdesignedtoseekthemaximumfromthreenumbers*/*2011-2-21*/voidmain()intnum1,num2,num3,max2,max3;/*定义存放三个数及较大值的变量*/printf(Pleaseinputthreenumbers:);/*输入变量值的提示信息*/scanf(%d%d%d,/*输出三个数及其最大值*/,intseek_max(intx,inty)/*求两个数的较大数的函数定义*/intz;/

17、*定义中间变量z*/if(xy)z=x;/*如果xy,那么把x赋给z*/elsez=y;/*否则,把y赋给z*/returnz;/*函数返回x,y的较大值*/,运行情况:Pleaseinputthreenumbers:234533TheMaximumamong23,45and33is45.,44,C程序开发步骤,file.exe,程序代码的录入,生成源程序*.c,语法分析查错,翻译生成目标程序*.obj,与其它目标程序或库链接装配,生成可执行程序*.exe,45,常用的有MicorsoftC、QuickC和TurboC等多种版本。这些不同的C语言版本,基本部分是相同的,但在有关规定上又略有差异

18、。本课程以TurboC2.0的环境对C语言进行介绍。,46,TurboC集成开发环境配置要求:UNIX,PC-DOS,MS-DOS,UCDOS操作系统硬盘容量约2M,448KRAM运行空间安装TurboC:创建子目录Install若不是可安装盘,将文件拷贝到对应的目录下,47,进入TurboC2.0集成开发环境中后,屏幕上显示:FileEditRunCompileProjectOptionsDebugBreak/watchEditLine1Col1InsertIndentTabFileUnindentc:NONAME.CMessageF1-HelpF5-ZoomF6-SwitchF7-Trac

19、eF8-StepF9-MakeF10-Menu其中顶上一行为TurboC2.0主菜单,中间窗口为编辑区,接下来是信息窗口,最底下一行为参考行。这四个窗口构成了TurboC2.0的主屏幕,以后的编程、编译、调试以及运行都将在这个主屏幕中进行。,48,主菜单:主菜单在TurboC2.0主屏幕顶上一行,显示下列内容:FileEditRunCompileProjectOptionsDebugBreak/watch以上八个菜单项分别代表:文件操作、编辑、运行、编译、项目文件、选项、调试、中断/观察等功能。主菜单进入方式有二种:1.按F10光标定位在主菜单,然后可用光标键移动色棒进行选择,也可用每一项的第一个大写字母直接选择。2.除Edit外,其它各项均有子菜单,只要用Alt加上某项中第一个字母(即大写字母),就可进入该项的子菜单中。如:要进入编辑窗口:1.按F10,选”Edit”2.按+,49,利用TurboC2.0来运行C程序可以按以下步骤进行:启动TC后:1通过选择“File”中的“Load”(或F3)或“New”子功能进入编辑器。2编辑后,用SAVE(F2)存盘,然后按RUN(+)完成编译、链接、运行全过程。3可用USERSCREEN(+)(从TC主屏切换至用户屏)查看结果。按任意键返回至主屏幕。4用QUIT(+)退出TC环境(若未存盘,提醒用户存盘),50,基本操作:F10-调用

温馨提示

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

评论

0/150

提交评论