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

下载本文档

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

文档简介

1、第一单元 C语言概论C 语言程序设计Page 2开始学习前的问题n 为什么要学习C语言程序设计?n 怎样学习C语言程序设计?n 怎样算学好了C语言程序设计?Page 3开始学习前的问题n 为什么要学习C语言程序设计?答:1、计算机语言是利用好计算机的基本途径、是将计算机区别于计算器的途径;2、C语言是一种比较适合于工科应用的计算机语言;3、以后的学习和工作中必定要使用计算机辅助;4、会用C语言是人生的一种技能;5、学好了C语言,学习其他计算机语言会很容易;6、学习新知识本身就应该是一种乐趣。Page 4开始学习前的问题n 怎样学习C语言程序设计?答:1、学好基础2、多多练习3、多思考、多提问、

2、主动使用计算机解决实际问题4、兴趣最重要,要将学习C语言当做一种有趣的行为Page 5开始学习前的问题n 怎样算学好了C语言程序设计?答:1、会看懂C语言程序是已入皮毛2、会写正确的C语言程序是基本入门3、会用C语言程序解决一些实际问题是基本掌握4、用规范的C语言代码写通用算法是掌握了C语言5、用规范的C语言代码写成库供第三人使用算是熟练6、用规范的C语言代码、模块化的思想、遵守软件工程的规范写成商业软件算是精通了。Page 6主要内容n 计算机发展简史(了解)n 计算机组成(了解)n 计算机数值表示(掌握)n 计算机软件系统(了解)n 计算机中的程序语言C(掌握)n 参考教材:杨健霑C语言程

3、序设计n 参考教材:康卓 大学计算机基础 武汉大学出版社n 参考资料:适普公司技术人员内部培训计算机相关知识,其中第六章“计算机运算方式”的6.16.4节Page 71、计算机发展简史Page 81、计算机发展简史硬件技术对计算机更新换代的影响 100 000 000 (亿) 超大规模 集成电路 1978现在10 000 000 (千万) 大规模 集成电路 19721977 1 000 000 (百万) 中小规模 集成电路 19651971 200 000 (20万) 晶体管 19581964 40 000 (4万) 电子管 19461957 速度(次/秒) 硬件技术 时间 代三四二一Page

4、 91、计算机发展简史台式机便携机(笔记本电脑)平板电脑智能手机,PDAPage 102、计算机硬件组成算术运算逻辑运算存放数据和程序将信息转换成机器能识别的形式将结果转换成人们熟悉的形式指挥程序运行冯诺依曼计算机硬件框图存储器输入设备运算器控制器输出设备Page 112、计算机硬件组成现代计算机硬件框图ALUCPU主机I/OCU主存ALU主存辅存CPU主机I/O硬件CU存储器输入设备运算器输出设备控制器Page 122、计算机硬件组成 (1)运算器ALU: Arithmetical and Logical Unit功能:算术运算和逻辑运算。运算器中的数据来自内存,运算的结果又送回内存。(2)

5、 控制器(CU:Control Unit)功能:控制计算机各部件协调地工作。工作过程:从内存中取出指令,译码分析,根据指令的功能发出控制信号。当各部件执行完控制器发来的命令后,都会向控制器反馈执行的情况。运算器和控制器组成中央处理单元,即CPU(Central Processing Unit) 。CPUPage 132、计算机硬件组成(3)存储器(Memory)存放程序和数据的记忆装置。使用时,对存储器有两种操作:读操作:从存储器中取出信息,不破坏原有的内容。写操作:把信息写入存储器,原来的内容被抹掉。存储器通常分为:内存、辅存。板载板载Page 142、计算机硬件组成内存储器:简称内存(又称

6、主存),是计算机中信息交流中心。内存与运算器、控制器和输入、输出设备间直接进行数据交换。 特点:容量小、存取速度快、断电后数据丢失。 Page 152、计算机硬件组成辅存:用来存储大量暂时不参与运算的数据程序及运算结果。外存不与其他部件直接交换数据,只是与内存成批的交换信息。特点:容量大、存取速度慢、断电后数据不丢失。常见的外存设备:软盘、硬盘、U盘、光盘、磁带等。硬盘U盘磁带机Page 162、计算机硬件组成(4)输入设备:键盘、鼠标、扫描仪、触摸屏等。(5)输出设备:显示器、打印机、绘图仪和音响等。显示器打印机耳机Page 172、计算机硬件组成主板主板是微机最基本的也是最重要的部件之一。

7、主板一般为矩形电路板,上面安装了组成计算机的主要电路系统,一般有BIOS芯片、I/O控制芯片、键盘和面板控制开关接口、指示灯插接件、扩充插槽、主板及插卡的直流电源供电接插件等元件。现在很多微机主板也集成了网络芯片、声卡芯片甚至显示芯片Page 182、计算机硬件组成显卡视频卡硬盘内存CPU显示器耳麦键盘鼠标Page 193、计算机数值表示n 计算机内部的数据全部是以二进制表示,这是由于:n 电路简单,物理上容易实现,可靠性高。n 运算简单,通用性强。有电压为有电压为 1 没电压为没电压为 0Page 203、计算机数值表示n 一位二进制加法的硬件实现:101011110000Page 213、

8、计算机数值表示数值表示的有关概念n 数制:数制是以表示数值所用的数字符号的个数来命名的,并按一定进位规则进行计数的方法,是人们利用符号来记数的科学方法。通常引入:二进制、四进制、八进制和十六进制。n 数码:进位计数系统中使用的数字符号。(十进制:09,二进制0,1,八进制07)n 基数:数制中所使用的数码的个数。例如:十进制的基数是10,八进制的基数是8。 Page 223、计算机数值表示n 权:数制每一位所具有的值。例如十进制数3465.032 3 4 6 5 . 0 3 2 10 10 10 10 10-1 10-2 10-3 3位权 2位权 1位权 0位权n 位权与基数的关系:位权的值等

9、于基数的若干次幂n 进位计数制的计数原则:逢基数进一任何一种数制表示的数都可以写成按位权展开的多项式之和Page 233、计算机数值表示书写规则:n 在数字后面加写相应英文字母作为标识:n B(Binary) - 二进制1100可表示为1100Bn O(Octonary) - 八进制172可表示为172On D(Decimal)- 十进制95可表示为95Dn H(Hexadecimal)-十六进制6FA2可写成6FA2Hn 在括号外面加数字下标: (100)2 - 二进制 (100)8 - 八进制 (100)10 - 十进制 (100)16 -十六进制Page 243、计算机数值表示十进制二进

10、制八进制十六进制 数 码(基本符号)0,1,2,3,4,5,6,7,8,90,10,1,2,3,4,5,6,70,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F 基 数R102816 位 权Rk10k2k8k16k计数原则逢十进一逢二进一逢八进一逢十六进一书写规则( )10或D ( )2或B( )8或O( )16或H常用计数制比较Page 253、计算机数值表示在R进位计数中,任意一个数值均可以表示为如下形式: a na n-1a n-2 a 2a 1a 0 . a -1 a -2 a a -m 其值为: N = a n Rn a n-1 Rn-1 a n-2 Rn-2 a 2 R

11、2 a 1 R1a0 R0 a-1 R-1 a-2 R-2 a -m R-mn 每位上的数值 = 该位上的数码 该位的位权n 其数值为多项式的和这种多项式的表示方法称为“位权展开求和”法。Page 263、计算机数值表示例: 十进制数 1 9 9 8 . 2 1 5各位的权 10 10 10 10 10-1 10-2 10-3数值为: (1998.215)10 = 110 + 910 + 910 + 810 + 210-1 + 110-2 + 510-3Page 273、计算机数值表示n 不同进制数间的转换:R进制数与十进制数之间的转换,(R进制包括:二进制、八进制、十六进制) n R进制转换

12、为十进制:使用“位权展开式求和”的方法例如:(1101.011)2 = 12 + 12 + 02 + 12 + 02-1 + 12-2 +12-3 = (13.375)10Page 283、计算机数值表示n 十进制转换为R进制:整数和小数分别进行转换,再组合起来。n 整数部分的转换:采取除R取余法n 小数部分的转换:采取乘R取整法Page 293、计算机数值表示计算机中正负数的表示:数据在内存中是以二进制形式存放的数据在内存中是以二进制形式存放的 例如:例如:3 3 (0000000000000011)2 2要区别:要区别:3 3 和和 3 3 方法是:方法是:将符号也数码化,并且将其放在第一

13、位。将符号也数码化,并且将其放在第一位。正的符号正的符号 用用 0 0 表示表示 负的符号负的符号 用用 1 1 表示表示 数值是以数值是以补码补码表示的。表示的。 正数的补码和其原码的形式相同。正数的补码和其原码的形式相同。 负数的补码负数的补码:将该数的绝对值的二进制形式,按位取反再:将该数的绝对值的二进制形式,按位取反再加加1 1 ,因此有如下表示:,因此有如下表示: 3 3(11111111111111101 ) )2 2Page 304、计算机软件系统软件是指为了运行、管理和维护计算机而编制的各种程序、数据、文档的总称。计算机软件按功能分为系统软件和应用软件。 硬件系统用户系统软件应

14、用软件操作系统Page 314、计算机软件系统n 系统软件:控制计算机的运行,管理计算机的各种资源,为应用软件提供支持和帮助的软件。n 操作系统:操作系统是对计算机的硬件和软件资源进行控制和管理的程序,是系统软件的核心WindowsLINUX-UbuntuDOSMac OS XPage 324、计算机软件系统n 数据库管理程序:利用数据库系统可以有效地保存和管理数据,并利用这些数据得到各种有用的信息。n 工具软件(服务性程序):在系统开发和系统维护时使用的工具。工具软件包括编辑、链接程序,计算机测试和诊断程序,数据库管理软件及网络软件等。n 应用软件:应用软件是为解决某种专门问题而设计的软件。

15、它包括应用软件包和面向问题的应用软件,以及为解决科研及生产中的实际问题而由用户设计的应用程序(如:办公软件、游戏娱乐软件等)均属于应用软件,特别的病毒也是一种恶意的应用软件。Page 335、计算机中的程序语言Cn 计算机语言:n 机器语言:由0、1代码组成、能被机器直接识别。优点是编程质量高,执行速度快;缺点是不易学习和修改,可移植性差、通用性差。指令和数据存于主存单元的地址 指令 注释操作码 地址码 00000010000001000取数x至ACC 10001000000001001乘a得ax存于ACC中 20000110000001010加b得ax+b,存于ACC中 3000100000

16、0001000乘x得(ax+b)x,存于ACC中 40000110000001011加c得ax2 + bx + c,存于ACC 50000100000001100将ax2 + bx + c存于主存单元 60001010000001100打印 7000110停机计算计算 ax2 + bx + c 程序清单程序清单Page 345、计算机中的程序语言Cn 计算机语言:n 汇编语言:采用助记符代替机器语言中的指令和数据。面向机器,速度快;占用存储空间小,但是必须通过汇编程序翻译成机器语言。缺点同样是通用性和可移植性差。 mov ax,1 mov bx,1 add ax,bxn 高级语言:接近自然语言

17、,由各种意义的“词”和“数学公式”按照一定的“语法规则”组成。优点是面向问题,而不是面向机器;同时易学易改、通用性、可移植性强;常见的高级语言如C+、Java、C#等。Page 355、计算机中的程序语言Cn 语言处理:将高级语言编写的程序翻译成机器语言的翻译程序。n 将高级语言程序翻译成与之等价的机器语言程序时,前者称为“源程序”,后者称为“目标程序”。n 翻译有两种方式:编译方式、解释方式。n 编译方式:将高级语言源程序通过编译程序翻译成机器语言目标代码,再连接装配得到执行程序并运行。n 解释方式:通过解释程序对高级语言源程序进行逐行解释,解释一句执行一句,不产生机器语言目标代码Page

18、365、计算机中的程序语言C高级语言源程序编译程序机器语言目标代码链接执行(编译) 图 编译过程 高级语言源程序解释程序执行(解释) 图 解释过程 便于对源程序进行调试和修改,但处理过程较慢。Page 375、计算机中的程序语言C计算机高级语言计算机高级语言 “C语言语言”n 语言的诞生与发展n(1)在C语言诞生以前,系统软件主要是用汇编语言编写的。由于汇编语言程序依赖于计算机硬件,其可读性和可移植性都很差;但一般的高级语言又难以实现对计算机硬件的直接操作(这正是汇编语言的优势),于是人们盼望有一种兼有汇编语言和高级语言特性的新语言。n(2)语言是贝尔实验室于70年代初研制出来的,后来又被多次

19、改进,并出现了多种版本。80年代初,美国国家标准化协会(ANSI),根据语言问世以来各种版本对语言的发展和扩充,制定了ANSI C标准(1989年再次做了修订)。n本课程以ANSI C新标准来讲解。Page 385、计算机中的程序语言C年份语言名语言特点1960ALGOL 60面向问题,离硬件远,不易写系统程序1963CPL(组合程序设计语言)接近硬件,但规模较大,难以实现 (剑桥大学)1967BCPL(基本CPL)对CPL的简化(剑桥大学,Matin Richards)1970B进一步简化CPL,并在PDP/7上实现。(贝尔实验室)1972C汲取了BCPL和B优点,克服了缺点。用C编写了UN

20、IX系统90%的代码198787ANSI C这是国际标准化组织87年公布的C语言标准( 1989年再次做了修订)Page 395、计算机中的程序语言Cn(3)在微机上通常使用的语言编译系统有Turbo C 、Borland C、Visual c+等。n 为了易于以后的c+过渡,本课程上机采用vc+6.0环境。Page 405、计算机中的程序语言CC语言的特点语言的特点 C语言同时具有汇编语言和高级语言的优势。(1)语言简洁、紧凑,使用方便、灵活。(2)运算符极其丰富。(3)生成的目标代码质量高,程序执行效率高。(4)可移植性好(较之汇编语言)。(5)可以直接操纵硬件。Page 41C语言程序的

21、基本结构简单的简单的C语言程序介绍语言程序介绍【例例】在屏幕上显示一行文字:在屏幕上显示一行文字:“Hello World!”。 /* 在屏幕上显示在屏幕上显示Hello World!,(ex1-2.c)*/#include void main() /* 定义主函数定义主函数 */ printf(Hello World!n); 5、计算机中的程序语言CPage 42简单的简单的C语言程序介绍语言程序介绍【例例】在屏幕上显示一行文字:在屏幕上显示一行文字:“Hello World!”。 /* 在屏幕上显示在屏幕上显示Hello World!,(ex1-2.c)*/#include void ma

22、in() /* 定义主函数定义主函数 */ printf(Hello World!n); 注释部分注释部分以增加程序的可读性。以增加程序的可读性。5、计算机中的程序语言CPage 43简单的简单的C语言程序介绍语言程序介绍【例例】在屏幕上显示一行文字:在屏幕上显示一行文字:“Hello World!”。 /* 在屏幕上显示在屏幕上显示Hello World!,(ex1-2.c)*/#include void main() /* 定义主函数定义主函数 */ printf(Hello World!n); 预处理命令预处理命令 程序中包含某一文件内容。程序中包含某一文件内容。 “stdio.h”为标

23、准输入输出函数为标准输入输出函数头文件名。头文件名。5、计算机中的程序语言CPage 44简单的简单的C语言程序介绍语言程序介绍【例例】在屏幕上显示一行文字:在屏幕上显示一行文字:“Hello World!”。 /* 在屏幕上显示在屏幕上显示Hello World!,(ex1-2.c)*/#include void main() /* 定义主函数定义主函数 */ printf(Hello World!n); 函数函数 C程序由函数组成;一个程序由函数组成;一个C程序至程序至少有一个主函数(少有一个主函数(main函数)。函数)。5、计算机中的程序语言CPage 45简单的简单的C语言程序介绍语

24、言程序介绍【例例】在屏幕上显示一行文字:在屏幕上显示一行文字:“Hello World!”。 /* 在屏幕上显示在屏幕上显示Hello World!,(ex1-2.c)*/#include void main() /* 定义主函数定义主函数 */ printf(Hello World!n); 函数说明函数说明 说明函数类型、函数名和函数参数。说明函数类型、函数名和函数参数。5、计算机中的程序语言CPage 46简单的简单的C语言程序介绍语言程序介绍【例例】在屏幕上显示一行文字:在屏幕上显示一行文字:“Hello World!”。 /* 在屏幕上显示在屏幕上显示Hello World!,(ex1

25、-2.c)*/#include void main() /* 定义主函数定义主函数 */ printf(Hello World!n); 函数体函数体 包括变量说明和语句执行部分。包括变量说明和语句执行部分。5、计算机中的程序语言CPage 47简单的简单的C语言程序介绍语言程序介绍【例例】在屏幕上显示一行文字:在屏幕上显示一行文字:“Hello World!”。 /* 在屏幕上显示在屏幕上显示Hello World!,(ex1-2.c)*/#include void main() /* 定义主函数定义主函数 */ printf(Hello World!n); 函数调用语句函数调用语句 格式输出

26、函数格式输出函数printf( )。 输出输出“Hello world!”。程序运行结果:程序运行结果:Hello World!5、计算机中的程序语言CPage 481. 函数是语言程序的基本单位。函数是语言程序的基本单位。main()函数的作用,相当于其它高级语言中的主程序;其它函数的作用,相当于子程序。 2. C语言程序总是从语言程序总是从main()函数开始执行。函数开始执行。 一个语言程序,总是从main()函数开始执行,而不论其在程序中的位置。当主函数执行完毕时,亦即程序执行完毕。 习惯上,将主函数main()放在最前头。5、计算机中的程序语言CPage 493 3、源程序书写格式、

27、源程序书写格式1.所有语句都必须以分号;结束,函数的最后一个语句也不例外。2.程序行的书写格式自由既允许1行内写几条语句,也允许1条语句分写在几行上。3.允许使用注释C语言的注释格式为: /* */(1) /* 和 */ 必须成对使用,且 / 和 * 、以及*和/之间不能有空格,否则都出错。5、计算机中的程序语言CPage 50技巧:技巧:1)为避免遗漏必须配对使用的符号,例如注释符号、函数体的起止标识符(花括号)、圆括号等等,在输入时,可连续输入这些起止标识符,然后再在其中进行插入来完成内容的编辑。在起止标识符嵌套时,以及相距较远时,这样做更有必要。2)注释的位置,可以单占一行,也可以跟在语

28、句的后面。3)如果一行写不下,可另起一行继续写。4)注释中允许使用汉字。在非中文操作系统下,看到的是一串乱码,但不影响程序运行。5)使用/可以在一行内注释。例如: printf(max=%d,c); / 输出c的值 5、计算机中的程序语言CPage 51C C语言的语句和关键字语言的语句和关键字(一)(一) C C语言的语句语言的语句 语言也是利用函数体中的可执行语句,向计算机系统发出操作命令。按照语句功能或构成的不同,可将语言的语句分为五类。1.控制语句控制语句控制语句完成一定的控制功能。语言只有条控制语句,又可细分为三种:( 1)选择结构控制语句 if()else, switch()(2)

29、循环结构控制语句 dowhile(), for(), while(), break, continue(3)其它控制语句 goto, return5、计算机中的程序语言CPage 52 2. 函数调用语句函数调用语句 函数调用语句由一次函数调用加一个分号(语句结束标志)构成。例如,printf(This is a C function statement.);3. 表达式语句表达式语句表达式语句由表达式后加一个分号构成。最典型的表达式语句是,在赋值表达式后加一个分号构成的赋值语句。例如,num=5 是一个赋值表达式,而num=5;却是一个赋值语句。4. 空语句空语句空语句仅由一个分号构成。显然

30、,空语句什么操作也不执行。 5、计算机中的程序语言CPage 535. 复合语句复合语句复合语句是由大括号括起来的一组(也可以是1条)语句构成。例如: main() /*复合语句。注意:右括号后不需要分号。*/ 复合语句的性质: (1)在语法上和单一语句相同,即单一语句可以出现的地方,也可以使用复合语句。(2)复合语句可以嵌套,即复合语句中也可出现复合语句。 5、计算机中的程序语言CPage 54(二)(二) 关键字关键字 C语言的关键字共有32个,根据关键字的作用,可分其为数据类型关键字、控制语句关键字、存储类型关键字和其它关键字四类。 (1)数据类型关键字(12个):char, doubl

31、e, enum, float, int, long, short, signed, struct, union, unsigned, void (2)控制语句关键字(12个):break, case, continue, default, do, else, for, goto, if, return, switch, while (3)存储类型关键字(4个):auto, extern, register, static (4)其它关键字(4个):const, sizeof, typedef, volatile5、计算机中的程序语言CPage 555、计算机中的程序语言C应用程序开发过程:应用程序开发过程:分析解决问题的性质、特点、目标以及数据来分析解决问题的性质、特点、目标以及数据来源及其特征等。源及其特征等。需求分析需求分析确定解决问题的方法和步骤,建立数学模型和确定解决问题的方法和步骤,建立数学模型和确定相应的求解方法。确定相应的求解方法。确定算法确定算法确定应用程序结构,设计模块的数据结构和算确定应用程序结构,设计模块的数据结构和算法,画出流程图等。法,画出流程

温馨提示

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

评论

0/150

提交评论