第1章 计算机和C编程入门.ppt

上传人:创****公 文档编号:3899176 上传时间:2020-11-18 格式:PPT 页数:38 大小:157KB
返回 下载 相关 举报
第1章 计算机和C编程入门.ppt_第1页
第1页 / 共38页
第1章 计算机和C编程入门.ppt_第2页
第2页 / 共38页
点击查看更多>>
资源描述

《第1章 计算机和C编程入门.ppt》由会员分享,可在线阅读,更多相关《第1章 计算机和C编程入门.ppt(38页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、2020/11/17,1,第1章 计算机和C编程入门,2020年11月17日星期二,2020/11/17,2,1.1 计算机系统 1.2 编程和问题求解 1.3 C编程入门 1.4 测试和调试 1.5 学习程序设计 1.6 Visual C+ 集成开发环境 1.7 C语言的起源,2020/11/17,3,1.1 计算机系统,一个完整的计算机系统是由硬件系统和软件系统两部分组成的。 硬件系统是组成计算机系统的各种物理设备的总称,是计算机系统的物质基础。 软件包括各种编译器、转换器以及管理器等等。 硬件是计算机的躯体,而软件是灵魂。,2020/11/17,4,1.1.1 硬件 大多数计算机系统的硬

2、件由5个主要组件构成:输入设备、输出设备、中央处理器(也称为CPU)、主存储器以及辅助存储器。,图1.1 计算机的主要组件,2020/11/17,5,输入设备:是允许用户将信息发送给计算机的设备。主要的输入设备是键盘和鼠标。 输出设备:是允许计算机将信息输出给用户的设备。 有时可将键盘和显示器视为一个单元,并统称为终端。 主存 :准备执行的程序在主存中。主存储器由一个很长的编号位置列表构成,这些位置称为存储位置或者内存位置。每个内存位置包含一系列0和1。大多数计算机的内存位置都包含8位(或者8位的倍数)。每8位都称为一个字节(byte),所以我们可将这些编号的内存位置称为字节。对一个字节进行标

3、识的编号称为该字节的地址。,2020/11/17,6,辅助存储器 :辅助存储器用于持久性保存数据。在辅助存储设备中,信息以文件为单位来保存。最常见的辅助存储设备包括硬盘、软盘和CD。 中央处理器 :是一块芯片。处理器遵循一个程序的指令进行操作,并执行程序要求的计算。不同的计算机可能采用不同的处理器指令。现代计算机的处理器通常都支持几百个指令。,2020/11/17,7,1.1.2 软件 用户通常不是直接与计算机沟通,而是通过一个操作系统和它交互。操作系统将计算机的资源分配给计算机。操作系统实际是一个程序,或者多个相互协作的程序,但更好的方法或许是把它视为一个家庭的管家。 对于大多数用户来说,操

4、作系统就是计算机。没有操作系统,大多数用户根本无法使用计算机。一些常用的操作系统有UNIX, DOS, Linux, Windows, Macintosh和VMS。,2020/11/17,8,1.1.3 高级语言 许多语言都可以用来写程序,本书将讨论C编程语言,用它来写程序。C是一种高级语言,Java、Pascal、Visual Basic、FORTRAN、COBOL、Lisp、Scheme和Ada等等也是高级语言。 计算机能理解的语言称为低级语言。 最重要的是机器语言和高级语言区别:用高级语言编写的所有程序都必须转换成机器语言版本,以便计算机理解并遵照执行。,2020/11/17,9,1.1

5、.4 编译器 编译器是一种特殊的程序,它能将高级语言转换成机器语言程序,使计算机能直接理解和执行。计算机能理解的语言称为低级语言。,图1.4 编译和运行C程序(基本过程),2020/11/17,10,1.1.5 历史回顾 第一台真正可编程的计算机是由英国数学家和物理学家查尔斯巴贝奇(Charles Babbage)发明的。 其中说明了非常重要的一点:计算程序的核心技术在于重复。计算机不具备魔法,不能(至少目前不能)为我们遇到的所有问题都自动给出复杂的解决方案。计算机只能做程序员要求它做的事情。虽然问题的解决方案最终由计算机来执行,但方案本身是由程序员自己制定的。所以,当我们讨论计算机编程时,首

6、先要讨论的就是程序员怎样制定自己的解决方案。,2020/11/17,11,1.2 编程和问题求解,本节主要讲述设计和编写程序时的一些常用规则。这些原则并不是C特有的,它们适用于任何编程语言。,2020/11/17,12,1.2.1 算法 用计算机来解决问题时,最困难的就是找出问题的解决方案。只要有了一个解决方案,就能像例行公事那样将方案转换成需要的语言。 为解决方案制定的一系列准确的指令称为一个算法,通常也称为方法、指示、过程或例程等等。,2020/11/17,13,以下用中文描述了一个算法。该算法判断一个指定的名字在一个名单中出现的次数。如果名单中包含上个赛季的获胜者,而你希望查找的是你喜爱

7、的球队,那么这个算法就判断你的球队赢了多少场。这个算法非常短,也非常简单,但非常典型。 判断一个名字在名单中出现的次数: 1. 获取名单。 2. 获取要检查的名字。 3. 将一个计数器设为零。 4. 为名单中每个名字都采取以下操作: 将名单中的当前名字与要检查的名字比较; 如果两个名字相同,就在计数器上加1。 5. 宣布答案是计数器指定的数字。,2020/11/17,14,图1.7展示的是理想情况下程序设计的过程。它是程序设计者应该记住的一个基本流程,但在实际应用中,设计过程也许要复杂一些。实际编程时,错误和缺陷会不定期显现出来,而更糟糕的是可能退回去,重做以前的步骤。,2020/11/17,

8、15,1.2.3 软件生存期 大型软件系统(比如编译器和操作系统)的设计者将软件开发过程划分为6个阶段,这6个阶段统称为软件生存期,包括: (1)任务分析和规范化(问题定义): (2)软件设计(对象与算法设计); (3)实现(编码); (4)测试; (5)维护和系统进化; (6)废弃。,2020/11/17,16,1.3 C编程入门,C语言的特殊性在于,它虽然是一种高级语言,但它包含了低级语言的大量特点。语言其实处在一种非常高级的语言和一种低级语言之间,优点和缺点都很突出。类似于(低级)汇编语言,语言程序可直接操纵计算机的内存。另一方面,语言又具有高级语言的许多特点,所以比汇编语言更容易理解和

9、编写。这使语言成为编写系统程序的理想选择,但对于其他程序(有时甚至包括一些系统程序),语言并不像其他语言那样容易理解;另外,它不像另外一些高级语言那样提供了自动检查的完善支持。,2020/11/17,17,1.3.2 一个C示范程序 【例1.1】在显示器上显示短语“Hello, world!”。 /* The traditional first program in honor of Dennis Ritchie who invented C at Bell Labs in 1972 */ #include int main( ) printf(Hello,world!n ); return

10、0; ,注释行,预处理命令,每一个程序都有且仅有一个main函数。,输出函数调用。分号是C语言语句的结束标志。,向操作系统返回整数值0。,2020/11/17,18,1.3.3 变量、表达式和赋值 【例1.2】将一个英寻表示的深度转化为英尺或英寸表示。 #include int main( ) int inches, feet, fathoms; fathoms = 7; feet = 6 ; inches = 12; feet = feet*fathoms; inches = inches*feet*fathoms; printf(Wreck of the Hesperus:n ); pri

11、ntf(Its depth at sea in different units:n ); printf(%d fathomsn , fathoms); printf(%d feetn, feet); printf(%d inchesn , inches); return 0; ,变量,赋值,表达式,2020/11/17,19,在C语言中,所有的变量用于表达式和语句之前都必须声明。简单程序的一般形式为: preprocessing directives /* 预处理命令 */ int main(void) declarations; /* 声明部分 */ statements; /* 执行语句部

12、分 */ ,2020/11/17,20,【例1.3】简单的对字符数据处理。 #include int main( ) char c; c = A ; printf(%cn , c); /* the letter A is printed */ return 0; 程序解析: 这个程序输出字母A,后跟一个换行符。首先声明变量c是char类型的, c被赋以值 A ,然后printf( )语句输出该字符。注意在printf( )的参数表中的控制串含有格式%c,这使得在第二个参数中的变量c以字符的格式被显示。,2020/11/17,21,【例1.4】简单的对浮点型数据处理。 #include int

13、main( ) float x, y; x=1.0; y=2.0; printf(The sum of x and y is %f , x+y); return 0; 运行结果如下: The sum x and y is 3.000000 程序解析: 首先变量x和y被声明为float类型,然后分别被赋值为1.0和2.0。这些常量为double类型,变量为float类型,此时会自动进行数据类型的转换。printf( )中的第一个参数含有格式%f,这使得第二个参数中的表达式x+y的值按在小数点的后边有个数字的浮点数格式被显示。,2020/11/17,22,1.3.4 初始化 在声明变量时,变量也可

14、以被初始化。 例如: char c = A ; int i = 1;,2020/11/17,23,1.3.5 include及其用法 在调用C编译器时,预处理器先工作。在进行编译之前,预处理器先对源代码进行修改。例如,可能要引入文件,源代码中的指定字符串可能被转换成其他字符串。程序中向预处理器发命令的行称为预处理命令,这样的命令用磅字符“#”开始。 #include :这使得预处理器用给定文件的内容的拷贝替代该行。 #define LIMIT 100 :如果这些预处理命令出现在正在编译的文件的顶部,预处理器将会把程序中出现的所有LIMIT变为100,标识符LIMIT 被称为符号常数 。,202

15、0/11/17,24,1.3.6 printf( ) 和 scanf( ) 函数printf用于显示格式化的输出。类似地,函数scanf用于读取格式化的输入。向printf和 scanf传递控制串和其它待输出的参数列表。控制串是一个包含一些格式说明的串。格式说明用格式“%”字符开始,并用一个格式字符结束。,2020/11/17,25,1printf() 的简单用法 “%d”:用于按十进制整数显示表达式的值。 “%c”:用于按字符显示表达式的值。 “%f”:用于显示浮点表达式的值。 “%s”:用于显示串。 例如: printf(Get set:%s%d%f%c%c n , one , 2, 3.

16、33, G , 0 ); printf()的参数用逗号分开。在这个例子中有6个参数: Get set:%s%d%f%c%c n , one , 2, 3.33, G , 0 第一个参数是控制串。控制串中的格式与其他参数相匹配。在本例中,%s与 one 对应,%d与2对应,%f与3.333对应,第一个%c与 G 对应,第二个%c 与 0 对应。控制串中的各个格式说明了如何显示对应的参数的值。当执行时,上述的printf()语句产生如下的输出: Get set:one 2 3.330000 G 0,2020/11/17,26,2scanf()的简单用法 函数scanf() 的第一个参数是一个带有格

17、式的控制串,该格式和输入流中解释字符的各种方式相符合。在控制串后面的其他参数是地址。一个变量的地址是该变量在内存中存储的位置。符号 格式%d使得在键盘上输入的字符被解释成十进制整数,并把此十进制整数值存储到变量a中。,2020/11/17,27,1.3.7 while语句 正常情况下要一条接一条地执行程序中的语句,这被称为顺序的控制。为了执行重复的操作,C语言提供了while语句。 计数、累加、查找、排序和一些其他的工作经常涉及到重复的做一些事情。在本节中将说明怎样用while语句完成重复的操作。,2020/11/17,28,【例1.5】用while语句累加从1到10这些连续的整数。 #inc

18、lude int main( ) int i = 1, sum = 0; while(i = 10) sum = sum + i i = i + 1; printf(Sum=%dn , sum); return 0; 运行结果如下: Sum= 55,2020/11/17,29,1.3.8 问题求解 编程就是在计算机的帮助下解决问题。很多问题需要使用特定的问题解决模式或技术,才能得到解决。在下面的程序中,我们用迭代解决我们的问题。迭代是一种重复的行为。计算机最合适于做迭代工作,可快速地完成上千万次的循环。 【例16】编写一个重复累加用户从键盘上输入的数字的程序。 计算总和的算法: (1)对变量c

19、nt和sum初始化 (2)提示用户输入 (3)重复地读数据,对cnt加1,对sum进行累加。 (4)显示cnt和sum的值,2020/11/17,30,1.3.9 编码风格 好的编码风格对编程艺术来说是必要的,这样做易于阅读、编写和维护程序。 (1)使用空格和注释以使代码更容易阅读和理解,并且在视觉上更吸引人。 (2)适当地缩进非常重要,例如: while(表达式) 语句; (3)注意变量命名,变量名应该表达出变量在程序中的用途,以便进一步辅助理解程序。,2020/11/17,31,1.3.10 常见的编程错误 1.丢失了标识串结束的一个双引号 :Unterminated string or

20、character constant 例如:printf(Input some numbers:); 2. 另一个常见的错误是变量拼写错误,或忘记声明变量。 3.在使用scanf()读入double型数据忘记了用“%lf”是一个常见的错误。,2020/11/17,32,1.4 测试和调试,程序中的错误通常称为bug,消除bug的过程称为调试或者除错(debug)。 1.4.1 程序错误类型 1.语法错误 :编译器将会报告程序中含有语法错误 。 2.逻辑错误:运行时的错误 。 1.4.2 陷阱:错误地假定程序正确 为了测试新程序中的逻辑错误,你应该使用几个有代表性的数据集来运行程序,并检查它在各

21、种输入下的表现。,2020/11/17,33,1.5 学习程序设计,从初学者的角度看,在这门课程中需要学习的内容涉及的东西很多,包括知识的记忆和灵活掌握,解决问题的思维方法,具体处理的手段和技巧,还有许多实际的工作、操作技能问题等,这里列举说明几个重要方面: (1)分析问题的能力 (2)掌握所用的程序语言 (3)学会写程序 (4)检查程序错误的能力 (5)熟悉所使用的工具和环境,2020/11/17,34,学习写好程序的方法就像学习写文章,我们建议 第一,去模仿别人写出好程序,在模仿中体会其中的优点(当然也要注意其中的缺点); 第二,加强实践,不但要去写能完成工作的程序,还要努力将程序写好。

22、在开始写小程序时就努力去写好它们,使之更加清晰有效。只有写好小程序,才可能写出好的大的程序,逐渐提高自己的程序设计能力和应用计算机解决问题的能力。,2020/11/17,35,1.6 Visual C+ 集成开发环境,1.6.1Visual C+可视化集成开发环境 Visual C+是微软公司推出的目前使用极为广泛的基于Windows平台的可视化集成开发环境,它和Visual Basic等其它软件构成了Visual Studio(又名Developer Studio)程序设计软件包。Developer Studio是一个通用的应用程序集成开发环境,包含了一个文本编辑器、资源编辑器、工程编译工具

23、、一个增量连接器、源代码浏览器、集成调试工具,以及一套联机文档。使用Developer Studio,可以完成创建、调试、修改应用程序等的各种操作。,2020/11/17,36,一般来说,基于VC开发环境的实验操作步骤如下: 启动VC 建立控制台工程 编辑C程序 编译源程序 执行程序 调试程序,2020/11/17,37,1.6.2 有关联机帮助 Visual C+6.0提供了详细的帮助信息,用户通过选择集成开发环境中的“Help”菜单下的“Contents”命令就可以进入帮助系统。在源文件编辑器中把光标定位在一个需要查询的单词处,然后按F1键也可以进入Visual C+6.0的帮助系统。,2020/11/17,38,1.7 C语言的起源,C语言问世于20世纪70年代,发明人是AT&T贝尔实验室的DennisRitchie。它最初用于编写和维护UNIX操作系统(在此之前,UNIX系统程序要么只能用汇编语言来编写,要么只能用语言来编写。语言由KenThompson发明,他是UNIX的缔造者)。是一种常规用途的语言,可用来写任何形式的程序,但UNIX操作系统直接促成了它的成功与普及。如果你想维护UNIX操作系统,就需要使用。和UNIX的配合是如此天衣无缝,以至于不久以后,不仅系统程序,就连UNIX下运行的几乎所有商业程序都开始用语言编写。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

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

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