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

下载本文档

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

文档简介

1、第一秦e本章要点-C8的给构茸法及其H述 CH盲字杆集、标1R肖与关字 在廿算机上运行C程序的方法 M-l C语言出现的历史背景、| 邑国际上广泛流行的高级语言.w C语言是国际上广泛流行的高级语言.卞、C语吉是在B语吉的星础上发良起来的.VB (BCPL )语言是1970年由美国贝尔实验室设计的.并用干编写了 4第一个UNIX操作系统在PDP 7上实现.优点:精练,接近硬件.块点: 过于简单,数据无类型. 1973年贝尔实验壹的D.M. Ritchie在B语言的基础上设计出了C语言. 对B取长补短.并用之改写了原来用汇编编写的UNIX,(即UNIX第5 版).但仅在贝尔实脸室使用.SM-1C

2、语言出现的历史背景 1983年.美国国家标准化协会(ASSI)根抿C语吉各种版本对C的发展充制定了祈的标准ANSI C,比标准C有了很大的发展.V: 1988年K & R按照ANSI C修改了他们的The C Programming 耳 Language. 1987年,ANSI公布了新标准87 ANSI C. 1990年.国际标准化俎织接受了 87 ANSI C为ISO C的标准(1S09899 1990) e 1994年、ISO又修订了C语言标准.目前流行的C语吉编译系统大多是以ANSI C为恳础进行开发的.1-1.1C语言出现的历史背景说明:不同版本的C編译系统所实现的涪雷功能和语仏规则乂

3、略仃芜 别,因此读者应了解所用的C语吉編译系统的特点(可以参阅冇关 手册)。本书的叙述展本上以AMS1 C为宰础。(1) 语言简洁.紧凑使用方便.灵活.32个关峨字.9种控制语句. 序形式自由(2) 运算符丰富.34种运算符(3) 数按类型丰富,具有现代语言的各种数据结构.(4) 具有结枸化的控制语句,是完全模块化和结构化的语言.(5) 语法限制不太严格,程序设计自由度大.1-1-2 C语言的特点(6 )允许直接访问物理地址,能进行位機作,能实现汇编语言的大 部分功能,可直接对皎件进行操作.兼有髙级和低级语言的特(7)目标代吗质量高程序执行效率高.只比汇编程序生成的目标 代码效率低】0%20%

4、 bl-2 C语言的特点(8)程序可移植性好(与汇编语言比).思衣上不做修改就能用于 &种型号的计算机和&种操作系统.1#include void main()说本程序的作用是輸出一行信息: This is a C progran件巴貿/*主函数*/*函数体开始 printf (This is a C program.nn); /*输出语句 */厶函数体结束、/说明:悶讪-上函数名void-除数类空毎个C程序必须存-个I汹数main()是曲数开始和结柬的标志,不町省毎个C语句以分号结束使川标准库两数时应在程序开头行写:冷include 说明城汨勺仁息:ssf列I 上刁鬥姒厶THttinclud

5、e void main( )/*求两数之和水/int a, b, sum; /*声明,定义变量为整型*/*以下3行为C语句*/a=123; b=456;sum=a+b;printf (“ sum is %dn , sum);i 2虑程怪运行悄况如下i心5_/(输入8和5賦给a和b)#incl Bax=8 偏出C萌值)void mdin / - _. niax:y) z=x; else z=y; return (z); 1-2简单的C语言程序介绍戶:(1) C程序是由用数构成的。这便紂程序容易实现模块化.(2) 一个函数由两部分组成:旳数的杵部;例13中的max换数il漏int ma

6、x(int xint y )函数体:花括号内的部分.若一个函数/纟个花括赛则最外层的-对尼括号为 换数体的范国函址体何括两肌分:声明部分:int at ba c.对缺齐 执彳亍部分:由廿个语句组成叫缺笛1-2简单的C语言程序介绍换故启声明郁分和执行部分郁可缺省,例如:void dump ()这是个空函数,什么也不做但是合法的函数. 1-2简单的C语言程序介绍小结:(3) C程序总是从nmin禹数开始执行的与main函戟的位JL无关.(4) C程序书写格式自由,一行内可以写几个语句.一个祷句可以分写在多行上.C 程序没有行号(5) 每个语句和数据声明的聂后必须有一个分号.(6) C语言本身没有綸

7、入檢出语句。綸入和紛出的操作是由4J34 直加到100加99次方法2: 100(199卩(2+98.(49 *51)+50=100 + 49X100 *50 加51 次 131算法的概念为了有效地进行解题,不仅需要保证算法正确.还要考虑舜法点 质量,选择合适的算法.希望方法简单运算步骤少.计算机算法可分为两大类别:数值运算算法:求数值解、例如求方程的根.求函数的定积分等.非数值运算:包括的面十分广泛.最常见的是用于事务管理领域. 例如图书松索、人爭管理.行车调度管理等.例 14 求 1X2X3步骤1:先411x2.得到结果2步猱2:将步驟1碍到的来积2再套以3舟到结果6步骤3:将6再来以4碍2

8、4步骤4:将24再乘以,.得120如果要求1其2* 1000,则要写999个步骤可以设两个变童:一个变量代表破柬数,一个变量代表来数。不另谡 变量存放乘积结果,而克接将每一步骤的乘积放在被乘数变量中. 设P为被柬戟,i为乘戟.用循环算法来求结疑,耳法可改写:S1:使p=lS2:使i=2S3:使pXi,乘积仍放在变虽p屮,可农示为:pXi - pS4:使i的值加1,即i+1-i。S5:如果i不人于5,返回电新执行步骤S3以及其后的步骤S4和S5:否则,算法结束。址后得到p的值如果題目改为:求1 x3x5xx 1000算法只需化很少的改动:SI: I fPS2: 3-iS3: pXj -pS4:

9、i+2-iS5:若i5输出t0例1.8用N-S图表示1 + 一一 +一. - + 23 499100l=sum2=deno l=sign(1) * sign =signsign * 1 /deno =termsum +term = sum deno + 1 =deno 直到 deno100 输岀sumN-S图表示算法的优点 比文字描述直观、形象、易于理解:比传统沁准图紧凑势画。 尤其是它废除了流程线、整个算法结构是由各个恳本结构按顺 序组成的,NS流程图中的上下顺序就是执行时的顺序.用N-S图表示的算法都是结枸化的算法,因为它不可能出现流程无 规律的跳转.而只能自上而下地顺序执行.-个结构化的

10、算法是由一些居本结构顺序组成的。在居本结构之冈 不存在向前或向后的妮转,流程的转移只存在于一个恳本结构范围 之内(如循环中流程的跳转);一个非结构化的算法可以用一个等 价的结构化算法代替其功能不变如果一个茸法不能分解为若 干个恳本结构则它必然不足一个结构化的算法。4用伪代码农示算法沁伪代码是用介于自然语言和计算机语言之间的丈字和苻号束描述耳法.特点:它如同一篇文章一样自上而下地写下来.每一行(或几行) 表示一个基本操作.它不用图形符号.因此书写方便.格式紧凑. 也比校好懂,也便于向计算机语吉算法(即程序)过渡.用处:适用于设计过程中需要反复修改时的流程描述.例:44打印x的绝对位?的算法可以

11、用伪代码表示为:IF x is positive THEN print x ELSE print -x也可以用汉字伪代码表示: 若X为正 打印* 否则 打印X也可以中英文混用.如:IF x为正 print x ELSE print -x例1.9求5L用伪代码表示算法:也可以写成以下形式: BEGIN 算法开始 l-*t2 T i while i5(tXi 卄id t i print tEND 算法结束开始置丫的初值为1置i的初值为2当执行下面操作: 使 t=tXi 使 i=i循环体到此结東 输出t的值结束5用讣算机语言农示算法槪令:用计算机实现算法计耳机是无法识别沆程图和伪代码的。p 只有用计算机语言编写的程序才能被计算机执行.因此在用流程图、 或伪代码描述出一个算法后,还要将它转换成计算机语言程序。轴川二用计算机语言表示算法必须严恪遵循所用的语言的语法规則. 这是和伪代码不同的.用处:要丸成一件工作.包括设计算法和实现算法两个部分设计 算法的目的是为了实现算法.#include 例1.10 (求51)用C语言表示.void rnair)() nt i,t;t=l;i=2; while(i=5) i=i*l;应当强调说明:写出了C程序.仍然只是描迷了算法.并未 实现算法.只有运行程序才是实现算法.应该说、用计算 机语言表示的算法是计算机能够执行的算法.1.4 C语言字符集、标识符

温馨提示

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

评论

0/150

提交评论