c语音第一章总结

C语言程序设计第一章总结
引例程序设计语言的发展1.机器语言2.汇编语言3.高级语言(1)非结构化语言(2)结构化语言(3)面向对象的语言1.数据表达2.流程控制程序的算法表示程序的多种描述方法C语言的发展历史C语言的特点C语言的约定C语言的语法成分程序设计的任务运行C程序的步骤与方法引例(1)由上面程序可以看出,C程序是由函数组成的。本程序涉及4个函数:main()、max()、scanf()和printf(),其中,main(函数是程序的主函数,max()是程序中定义的函数,其进作用是求两个数中的最大数, scani()和printf()是系统事先设计好的函数,分别用于输入和输出(2)所有的C程序有且只有一个main(函数。C程序总是从main(函数的第一条语句开始运行,当main()函数结束时,程序也就结束了(3)本程序执行时,首先从调用 printf()函数开始,输出第一个提示,然后调用 scanf()函数从键盘获得一个值,并赋给变量a;接着调用第二个 printf()函数输出第二个提示,再调用第二个scanf(函数从键盘获得一个值,并赋给变量b;求两个数的最大值是由max()函数完成的,所以在程序执行到c=max(a,b)时,会首先调用max()函数,调用时将实际参数a和b的值分别传递给max()函数中的形式参数x和y:然后,开始执行函数max()中的语句;用i语句判断并得到最大值,在执行到“ return 2;”时,函数结束运行并把z的值返回;程序运行回到main()函数调用的地方(即c=max(a,b),变量c得到最大值;最后再次调用 printf()数输出最大值,输出格式中的每个%d对应输出一个十进制整型数,第一个%d对应a,第二个%d对应b,第三个%d对应c。(4)程序中包含了数据表达(变量定义)与数据处理(流程控制)两部分。引例在main()函数中数据表达使用语句“inta,b,c;”,该语句定义了3个整型变量,变量a与b分别存放输入的整数,变量c用于存放函数调用的结果,即a与b的最大值;在max()函数中数据表达使用语句“int z;”,z为一个临时工作变量,它只能在max()函数中使用,其作用是存放形参x与y中的最大值,函数结束时返回给main()函数的调用处。在max()函数中数据处理(流程控制)使用ⅱf语句来实现。程序设计语言的发展自1946年世界上第一台电子计算机问世以来,计算机应用已经渗透到人们生活的方方面面,极大地推动了社会的进步与发展。特别是因特网( Internet)的发展,从根本上改变了人们的生活方式,人们已经难以摆脱对计算机的依赖。计算机能有如此神奇的力量,与构成计算机系统的硬件与软件密不可分。硬件是物质基础,而软件则是计算机的灵魂。几十年来计算机硬件技术在不断地飞速发展着,同时软件技术也没有停止前进的步伐,用来开发软件的程序设计语言经过多年的发展,其技术和方法日臻成熟。其发展经历了几个阶段1.机器语言机器语言属于第一代计算机语言。按照冯·诺依曼原理,计算机内部运算采用的是二进制,也就是说计算机只能识别和接受由0和1组成的指令,人们要使计算机知道和执行自已的意图,就要编写许多条由0和1组成的二进制指令代码。这种计算机能直接识别和接受的二进制代码称为机器指令( machine instruction)。机器指令的集合(即指令系统)就是该计算机的机器语言。用机器语言编写的程序称为目标程序( Object Progran),目标程序可以被计算机直接执行,且运行效率是最高的。但由于不同类型计算机的指令系统存在差异,因而在一种类型计算机上编写的机器语言程序,在另一种不同类型的计算机上也可能不能运行。显然,机器语言与人们习惯用的语言差别太大,由于其难学、难写、难记、难修改,采用机器语言编程,只是极少数人能够完成的工作。2.汇编语言为了减轻使用机器语言编程的困难,人们采用助记符来代替机器指令的二进制串,如用ADD表示加法,SUB表示减法,MOV表示传送数据等。这样就能使运算指令使用符号而不再使用二进制表示。采用这种方法所编写的程序,容易被人读懂,程序的修改与维护也很方便,这种程序设计语言就是汇编语言,也称为第二代计算机语言。汇编语言同样十分依赖于机器硬件,可移植性不好,但运行效率仅次于机器语言。针对计算机特定硬件而编制的汇编语言程序能准确地发挥计算机硬件的功能和特长,程序精炼而且质量高,至今仍有一些专业程序员在使用其开发应用软件。由于机器语言与汇编语言均很“接近”计算机,人们常常称它们为“低级语言”。3.高级语言为了克服低级语言的缺陷,人们在实践中逐渐认识到,应该设计一种这样的语言:接近于数学语言或人的自然语言(英语),同时又不依赖于计算机硬件,编制的程序能在所有的机器上通用。

在这里插入图片描述
伪代码表示
伪代码是一种近似高级语言但又不受语法约束的语言描述方式,它不能在计算机中运行,但可以用来描述算法。程序设计语言表示采用程序设计语言描述一个算法,也会有很多不便。因为按照程序设计语言的语法规定,往往要编写很多与算法无关而又十分繁琐的语句,如变量定义、输入输出格式描述等因此,很多情况下,若要专注于算法设计的话,经常会采用伪代码来描述算法。C语言的发展历史早期的操作系统等系统软件主要是用汇编语言编写的,由于汇编语言可以直接对硬件进行操作,所以汇编语言对硬件的依赖程度较高,用其编写的程序可读性和可移植性都比较差。随后出现的一些高级语言(如 ALGOL60)似乎使软件开发者看到了一丝曙光,但由于高级语言的通用性较强,离硬件比较远,并不适合开发系统软件。所以人们一直在寻找一种既具有高级语言的通用性,又可以直接对硬件进行操作的语言,于是,C语言应运而生了C语言是1972年由工作于美国贝尔实验室的 Dennis Ritchie所设计,取名为C语言,主要是它源于一种称为B的语言,由其演变而来。1963年英国剑桥大学推出了CPL( ombined Programming Language)语言,虽然该语言很接近硬件,但其规模较大,并未在机器上真正实现。1967年剑桥大学的 Martin Richards对CPL语言进行了简化,推出了BCPL( Basic Combined Programming Language)语言。1970年美国贝尔实验室的 Ken Thompson对BCPL语言又做了进一步简化,设计出了更接近硬件的B语言,并用B语言在PDP-7机器上实现了UNIX操作系统。1973年, Dennis Ritchie和 Ken Thompson对UNX操作系统进行了重写,其中90%以上的代码采用的是C语言,很大程度上提高了UNIX操作系统的可移植性和可读性。在以后的若干年中,C语言出现了多个版本,但由于没有一个统一的标,这些C语言之间出现了一些不一致的地方。为了改变这种情况,1983年,美国国家标准协会( AmericanNational Standards Institute,NSD)制定了一套C语言标准,称为 ANSI C。目前使用的如Microsoft c、 Turbo C等版本均以 ANSI C为标准,同时各自分别进行了一些扩充。C语言的特点(1)C语言语句紧凑,使用方便灵活。(2)运算符丰富,表达能力强(3)C语言程序可移植性好。(4)生成的目标代码质量高,运行效率高。(5)语言处理能力强。(6)C语言是一种结构话语言。C语言的约定
(3)用户自定义标识符。
(4)预定义标识符。
(5)分隔符。

C语言的语法成分
(1)常量
(2)变量
(3)运算符
(4)表达式
(5)语句
(6)函数定义与调用
(7)输入与输出

程序设计的任务
1.分析问题、
2.设计算法
3.程序设计
4.运行并调试程序
5.分析程序运行结果
6.编写程序文档

1.编辑源程序
首先将编写的C语言源程序输入到计算机中以文件的形式保存起来,C语言源程序的扩展名为c,如my.c。C语言源程序为文本文件,可以用文本编辑器(如记事本)编辑,也可以用C编译系统提供的集成开发系统进行编辑。2.编译C语言源程序编辑好后,可以开始编译。编译程序所要做的工作就是通过词法分析和语法分析,在确认所有的指令都符合语法规则之后,将其翻译成二进制目标程序文件。编译过程中的错误多为词法和语法错误,如果源程序存在这些错误,则编译系统会给出错误提示信息,应根据错误提示信息查找错误并改正,再次重新编译,直到没有错误。通过编译后,生成二进制目标程序文件,文件扩展名为。obj,如my.obj。3.链接编译生成目标程序后,还要进行链接。将目标程序与系统提供的库函数或是其他目标程序进行链接,得到最终的二进制可执行文件。链接成功后生成可执行文件,文件扩展名为.exe,如my.exe。链接错误多为严重的致命性错误,必须根据错误提示进行修改才能继续链接,直到生成可执行文件4.运行可执行文件运行后,结果会显示在屏幕上。可执行文件运行后,要验证程序的运行结果,如果发现运行结果与设计目的不相符(通常称为逻辑错误),说明程序在设计思路或算法上出现了问题。此时,需要重新检查源程序,找出问题并进行修改然后重新编译、链接、运行,直到得到正确结果。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值