《《C语言初步知识》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《C语言初步知识》PPT课件.ppt(36页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C语言程序设计语言程序设计授课教师:李群授课教师:李群个人邮箱:个人邮箱:学习邮箱:学习邮箱:c_ 密码:密码:cisfun第一讲第一讲 C语言程序设计初语言程序设计初步步2022/10/291u程序设计的基本概念,基本方法;程序设计的基本概念,基本方法;u在在 C语言的环境下,学会如何针对问题进行分语言的环境下,学会如何针对问题进行分析,得出数学模型,理出算法并编程实现;析,得出数学模型,理出算法并编程实现;u有条有理有根有据的编程实践;有条有理有根有据的编程实践;u养成良好的编程风格与习惯;养成良好的编程风格与习惯;u重在思维方法的学习,鼓励创新。重在思维方法的学习,鼓励创新。C语言程序设
2、计语言程序设计 教学重点教学重点2022/10/292几个问题的探讨几个问题的探讨l计算机?计算机?用来计算的机器用来计算的机器 为实现特定目标或解决为实现特定目标或解决特定问题而用特定问题而用计算机语言计算机语言编写的编写的命令序列的集合命令序列的集合引入引入程序?程序?计算机如何工作?计算机如何工作?冯冯诺依诺依曼曼2022/10/293计算机(计算机(Computer)l计算机是用来延伸人的能力的工具,需要人计算机是用来延伸人的能力的工具,需要人来驾驭来驾驭lAI能实现吗?(能实现吗?(AI,Artificial Intelligence,人工智能人工智能)l会有那么一天,人与计算机的位
3、置互换吗?会有那么一天,人与计算机的位置互换吗?l我们的职责是让它更容易被驾驭我们的职责是让它更容易被驾驭2022/10/294 计算机系统的组成计算机系统的组成 1.组成组成2.软、硬件之间的关系软、硬件之间的关系 计算机中用到的数制计算机中用到的数制 1.计算机中常用数制?计算机中常用数制?2.为什么用二进制?为什么用二进制?2022/10/295计算机基本工作过程计算机基本工作过程l整个过程的执行者是硬件,但硬件是受软件控制的整个过程的执行者是硬件,但硬件是受软件控制的l编程,就是编写软件,使硬件按照人的意图工作编程,就是编写软件,使硬件按照人的意图工作2022/10/296 计算机的语
4、言系统计算机的语言系统 1.1.语言的分类语言的分类:操作系统操作系统机器语言、汇编语言、高级语言机器语言、汇编语言、高级语言2.翻译方式翻译方式:编译方式、解释方式编译方式、解释方式2022/10/297一、用计算机来解决问题一、用计算机来解决问题 计算机对于实际问题的描述都使用计算机对于实际问题的描述都使用计算机对于实际问题的描述都使用计算机对于实际问题的描述都使用符号符号符号符号表示,处理过表示,处理过表示,处理过表示,处理过程机械化、严格化。计算机解决问题与数学有着密切的关系。程机械化、严格化。计算机解决问题与数学有着密切的关系。程机械化、严格化。计算机解决问题与数学有着密切的关系。程
5、机械化、严格化。计算机解决问题与数学有着密切的关系。计算机与数学的关系,我们可以从两计算机与数学的关系,我们可以从两个方面来认识个方面来认识:计算机系统是利用数学原理制造和工作的计算机系统是利用数学原理制造和工作的计算机系统是利用数学原理制造和工作的计算机系统是利用数学原理制造和工作的 -二进制数学二进制数学二进制数学二进制数学解决分析实际问题使用数学和逻辑的方法解决分析实际问题使用数学和逻辑的方法解决分析实际问题使用数学和逻辑的方法解决分析实际问题使用数学和逻辑的方法 -数学模型数学模型数学模型数学模型2022/10/298一个数学问题的求解一个数学问题的求解100!的尾零共有多少个?!的尾
6、零共有多少个?2022/10/299#include main()int i,count=0;for(i=5;i=100;i+=5)count+;if(!(i%25)count+;printf(the end of 100!is%d n,count);2022/10/2910实际问题的求解实际问题的求解1、长、长120cm,宽,宽80cm长方形布匹长方形布匹裁成大小相等的正方形,不能有裁成大小相等的正方形,不能有剩余布,至少裁多少片?剩余布,至少裁多少片?2022/10/2911实际问题的求解实际问题的求解2、拖拉机的前轮周长、拖拉机的前轮周长210cm,后轮周长,后轮周长330cm,拖拉机开
7、动一段距离,前后,拖拉机开动一段距离,前后轮所转周数都是整数,问拖拉机至少轮所转周数都是整数,问拖拉机至少应该开多远应该开多远?2022/10/2912欧几里德经典算法欧几里德经典算法 若若ab,则交换,则交换a和和b 令令r为为a除以除以b的余数的余数 若若r=0,令,令t=b算法终止,否则令算法终止,否则令a=b,b=r,转转 求出最大公约数求出最大公约数t后,最小公倍数可用后,最小公倍数可用(ab)t求出。求出。2022/10/2913二、程序设计相关概念二、程序设计相关概念1 1、程序设计语言、程序设计语言:通常简称为:通常简称为编程语言编程语言,是一组用来定义计算机程序的语法规则。是
8、一组用来定义计算机程序的语法规则。它是一种被标准化的交流技巧,用来它是一种被标准化的交流技巧,用来向计算机发出指令。向计算机发出指令。一种计算机语言让程序员能够准确地一种计算机语言让程序员能够准确地定义计算机所需要使用的数据,并精确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动。定义在不同情况下所应当采取的行动。2022/10/2914人与计算机的对话人与计算机的对话l两个说不同母语的人的对话方式:两个说不同母语的人的对话方式:l一方学另一方的语言一方学另一方的语言l双方都学习一种第三方语言双方都学习一种第三方语言l人与计算机的对话方式:人与计算机的对话方式:l计算机学
9、习人的语言(自然语言理解)计算机学习人的语言(自然语言理解)l人学习计算机的语言人学习计算机的语言l学习第三方语言学习第三方语言2022/10/29152 2、程序设计语言的发展、程序设计语言的发展l机器语言机器语言 :是用是用二进制代码二进制代码表示的表示的计算机能直接识别计算机能直接识别和执行和执行的一种机器指令的集合。它是计算机的的一种机器指令的集合。它是计算机的设计者通过计算机的硬件结构赋予计算机的操设计者通过计算机的硬件结构赋予计算机的操作功能。作功能。机器语言具有灵活、直接执行和速度快等机器语言具有灵活、直接执行和速度快等特点。特点。编写程序花费的时间往往是实际运行时间编写程序花费
10、的时间往往是实际运行时间的几十倍或几百倍。而且的几十倍或几百倍。而且,编出的程序全是些编出的程序全是些0 0和和1 1的指令代码的指令代码,直观性差直观性差,还容易出错还容易出错 2022/10/2916机器语言机器语言l计算计算1+11011100000000001000000000000010100000001000000002022/10/29172 2、程序设计语言的发展、程序设计语言的发展l汇编语言汇编语言 :人们用与代码指令实际含义相近的英文人们用与代码指令实际含义相近的英文缩写词、字母和数字等符号来取代指令代码,于是就缩写词、字母和数字等符号来取代指令代码,于是就产生了汇编语言。
11、所以说产生了汇编语言。所以说,汇编语言是一种用汇编语言是一种用助记符助记符表表示的仍然示的仍然面向机器面向机器的计算机语言。汇编语言亦称符号的计算机语言。汇编语言亦称符号语言。语言。用汇编语言书写好的符号程序称用汇编语言书写好的符号程序称源程序源程序,运行运行时汇编程序要将源程序时汇编程序要将源程序翻译翻译成成目标程序目标程序。使用起来还是比较繁琐费时使用起来还是比较繁琐费时,通用性也差。但通用性也差。但是是,汇编语言用来汇编语言用来编制系统软件和过程控制软件编制系统软件和过程控制软件,其目标程序占用内存空间少其目标程序占用内存空间少,运行速度快运行速度快,有着高有着高级语言不可替代的用途。级
12、语言不可替代的用途。2022/10/2918汇编语言汇编语言MOV AX,1101110000000000100000000ADD AX,10000010100000001000000002022/10/29192 2、程序设计语言的发展、程序设计语言的发展l算法语言算法语言 :面向算法过程面向算法过程的程序设计语言。的程序设计语言。它与人类自然语言相接近且能为计算机所接它与人类自然语言相接近且能为计算机所接受的语意确定、规则明确、自然直观和通用受的语意确定、规则明确、自然直观和通用易学易学 。计算机并不能直接地接受和执行用高级计算机并不能直接地接受和执行用高级语言编写的语言编写的源程序源程序
13、,源程序在输入计算机时源程序在输入计算机时,通过通过“翻译程序翻译程序”翻译成机器语言形式的翻译成机器语言形式的目目标程序标程序,计算机才能识别和执行。这种计算机才能识别和执行。这种“翻翻译译”通常有两种方式通常有两种方式,即编译方式和解释方即编译方式和解释方式。式。PASCAL、FORTRAN、COBOL、C2022/10/2920BASIC语言语言PRINT 1+12022/10/2921C语言语言#include main()printf(%dn,1+1);2022/10/29222 2、程序设计语言的发展、程序设计语言的发展l面向对象的程序设计语言面向对象的程序设计语言OOPOOP:是
14、一种将物体对象化的程序设计语言是一种将物体对象化的程序设计语言 ,主要主要概念就是类的各种概念,类就是一种结构体,它概念就是类的各种概念,类就是一种结构体,它是物体的抽象表示方法,它主要包括属性和方法是物体的抽象表示方法,它主要包括属性和方法两个重要内容。两个重要内容。l“做什么做什么”lc+vb delphi java c#2022/10/2923流行语言流行语言 应用编程语言应用编程语言应用编程语言应用编程语言机器语言机器语言机器语言机器语言汇编语言汇编语言汇编语言汇编语言BasicBasicPascalPascalC CC+C+JavaJavaC#C#专项编程语言专项编程语言专项编程语言
15、专项编程语言Lotus NotesLotus NotesPower BuilderPower Builder Web Web编程语言编程语言编程语言编程语言HTMLHTMLXMLXMLPHPPHPASPASPJSPJSPJavaScriptJavaScriptVBScriptVBScript 其他其他其他其他perlperlpythonpythonVBAVBA2022/10/2924三、三、C语言的创世纪语言的创世纪一切从一个叫一切从一个叫“Space Travel”的电子游戏开始的电子游戏开始l为了让他的游戏能在为了让他的游戏能在PDP-7上运行,上运行,Ken Thompson用汇用汇编语
16、言给编语言给PDP-7写了一个操作系统写了一个操作系统UNIX汇编太不好用了,Thompson需要高级语言试验了一些高级语言,包括Fortran,都不理想l他在他在BCPL基础上,自己设计了一个基础上,自己设计了一个B语言语言UNIX开始发展,B也不够用了l1972年年-1973年间,贝尔实验室的年间,贝尔实验室的Dennis Ritchie加入,加入,把把B改造成改造成C,开始用,开始用C重写重写UNIXl1973年,年,K.Thompson和和D.M.Ritchie把把UNIX的的90%用用C语言改写,即语言改写,即UNIX第第5版版,运行于,运行于PDP上。上。2022/10/2925R
17、itchie和和Thompson在开发在开发UNIX2022/10/2926接受美国国家技术勋章接受美国国家技术勋章2022/10/2927C语言的祖师爷语言的祖师爷Dennis M.Ritchie2022/10/2928l1978年以后,年以后,C语言先后移植到大、中、语言先后移植到大、中、小、微型计算机上。小、微型计算机上。l在微机上使用的有在微机上使用的有Microsoft C、Turbo C、Quick C、BORLAND C等等。2022/10/2929C程序设计语言程序设计语言l是一种高级语言是一种高级语言l高级语言并不是高级语言并不是“高级高级”,只是相对低级语言,在一个高的级,
18、只是相对低级语言,在一个高的级别上进行编程别上进行编程l历史悠久,战勋卓著历史悠久,战勋卓著l诞生于上世纪诞生于上世纪70年代初,成熟于年代初,成熟于80年代(年代(C89),修订与),修订与90年年代(代(C99)l很多重量级软件都是用很多重量级软件都是用C写的写的l上天入地,无所不能上天入地,无所不能l几乎没有不能用几乎没有不能用C写出来的软件,没有不支持写出来的软件,没有不支持C的系统的系统l很多流行语言、新生语言都借鉴了它的思想、语法很多流行语言、新生语言都借鉴了它的思想、语法l从从C+,到,到Java,再到,再到C#,还有,还有php等等2022/10/2930学习方法学习方法动手动
19、脑,理论指导下的实践有条有理的实践。实践出真知“自学、动手、应用、上网”在编写大量程序之后,才能感到运用自如2022/10/2931学习心态学习心态“自立、自信、自尊、自强”,要求做到越学越会充满信心。2022/10/2932计算机的层次计算机的层次硬件(硬件(Hardware)操作系统(操作系统(OS)应用程序应用程序(Application)应用应用应用应用平台平台平台平台基于基于基于基于平台的平台的平台的平台的应用应用应用应用程序程序程序程序低级语言低级语言低级语言低级语言的地盘的地盘的地盘的地盘高级语言高级语言高级语言高级语言的地盘的地盘的地盘的地盘C C语语语语言言言言的的的的地地地
20、地盘盘盘盘2022/10/2933编译运行编译运行l编译过程编译过程l程序员(程序员(Programmer)编写程序源代码()编写程序源代码(Source Code)l编译器(编译器(Compiler)把源代码转换为可被计算机理解)把源代码转换为可被计算机理解的机器代码(的机器代码(Machine Code),并把机器代码以可),并把机器代码以可执行文件(执行文件(Executable File)的形式保存在磁盘上)的形式保存在磁盘上l软件的运行软件的运行l计算机把机器代码读入到内存(计算机把机器代码读入到内存(Memory),由),由CPU运行这些代码,读取输入(运行这些代码,读取输入(In
21、put),产生输出),产生输出(Output),完成程序员预定的功能),完成程序员预定的功能2022/10/2934编译语言编译语言l一种编译语言对应一种编译器一种编译语言对应一种编译器l程序员按照该语言的语法编写程序源代码,把程序员按照该语言的语法编写程序源代码,把自己的意图融入到代码中自己的意图融入到代码中l编译器读入源代码,把程序员的意图转换成可编译器读入源代码,把程序员的意图转换成可执行程序,供他人使用执行程序,供他人使用C C语言语言语言语言可执行程序可执行程序可执行程序可执行程序编译器编译器编译器编译器2022/10/2935解释运行解释运行l解释运行过程解释运行过程l程序员编写程序源代码程序员编写程序源代码l解释器读入源代码,并执行源代码解释器读入源代码,并执行源代码l解释运行的语言特点解释运行的语言特点l执行速度慢执行速度慢l好学易用好学易用l先编译、后解释先编译、后解释l把源代码编译成更容易解释的中间代码,然后再解把源代码编译成更容易解释的中间代码,然后再解释运行释运行2022/10/2936
限制150内