版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第一章第一章 C语言概述语言概述1.1 C语言出现的历史背景语言出现的历史背景1 广泛流行,写系统软件,写应用软件广泛流行,写系统软件,写应用软件 ALGOL60- 面向问题面向问题 CPLcombined programming language63 BCPL-67剑桥剑桥 Matin Richard B语言语言-70贝尔实验室贝尔实验室Ken Thompson C语言语言-7273Dennis.M.Ritchie 73,用,用C语言把语言把UNIX改写改写5, 75 UNIX6引起注意引起注意1.1 C语言出现的历史背景语言出现的历史背景2 78以后,移植到大、中、小、微型机以后,移植到大
2、、中、小、微型机 78发表发表?The C Programming Language?Brian W. Kernighan 和和Dennis M. Ritchie 83美国国家标准局美国国家标准局 ANSI 称为称为 ANSI C 87ANSI公布了新标准称公布了新标准称 87 ANSI C 90国际标准组织国际标准组织ISOISO C 的标准的标准ISO9899-1990 Borland公司的公司的Turbo C和和Borland C/C+,微软微软的的Microsoft C和和Visual C/C+ Unix和和Linux,C语言是其标准系统开发语言语言是其标准系统开发语言1.2 C语言的
3、特点语言的特点1C语言的主要特点如下:语言的主要特点如下:语言表达才能强语言表达才能强 运算符丰富,表达式类型多样化运算符丰富,表达式类型多样化2. 构造化好构造化好 while语句构造化语句等,函数为单位语句构造化语句等,函数为单位3. 具有较强的数据类型构造才能具有较强的数据类型构造才能 4. 语言精练语言精练 i+=2; i=i+2; if e s ; FORTRANBASICCDo 10 i=0,99,1i=0 fori=0;i100;i+DO WHILE iy z=x; else z=y; returnz ; 程序运行情况:Please input two integers:8,5m
4、ax=8通过以上例子可以看出:通过以上例子可以看出:1.C程序是由函数构成的。每个程序由一个或多个函数组程序是由函数构成的。每个程序由一个或多个函数组成,其中必须成,其中必须有且仅有一个有且仅有一个主函数主函数main 。函数容。函数容易实现程序的模块化易实现程序的模块化.2.一个可执行的一个可执行的C语言程序语言程序总是从总是从main函数开场执行函数开场执行,而,而不管其在整个程序中的位置如何。不管其在整个程序中的位置如何。3.每条语句或数据定义的最后必须有一个分号每条语句或数据定义的最后必须有一个分号“;。 说明:说明:在以下三种情况下不允许有分号:在以下三种情况下不允许有分号: a.在
5、右花括号在右花括号“后面不使用分号后面不使用分号; b.所定义的函数的名称后面不使用分号;所定义的函数的名称后面不使用分号;大括号之后whiletotal=2000limit+; total=total+limit; ;函数定义语句之后int max ; c.预处理语句后面不使用分号。预处理语句后面不使用分号。4.C对输入输出实行函数化。对输入输出实行函数化。5.C程序书写格式自由,一行内可以写几个语句,一个语句程序书写格式自由,一行内可以写几个语句,一个语句也可以分写在多行上。也可以分写在多行上。6.可用可用/*/对对C程序中的任何部分作注释,注释可以写程序中的任何部分作注释,注释可以写在程
6、序的任何位置上,在程序的任何位置上,“/*与与“*/也可不在同一行上。也可不在同一行上。7.也可用也可用“/。 本行中、本行中、“/之后的文字都视为注释。之后的文字都视为注释。8.在在C语言中,大小写字母是有语言中,大小写字母是有区别区别的。的。C语言习惯用小语言习惯用小写字母写字母导入库函数语句之后#include “stdio.h ;1.4 C程序的上机步骤程序的上机步骤1.编辑:选择适当的编辑程序编辑:选择适当的编辑程序,将将C语言源程序语言源程序通过键盘输入到计算机中通过键盘输入到计算机中,并以文件的并以文件的形式存入到磁盘中形式存入到磁盘中.C2.编译:即将源程序翻译成机器语言程序的
7、过编译:即将源程序翻译成机器语言程序的过程。编译出来的程序称为目的程序程。编译出来的程序称为目的程序.OBJ3.连接:编译后生成的目的文件经过连接后生连接:编译后生成的目的文件经过连接后生成最终的可执行程序成最终的可执行程序.EXE 编 辑编 译 出 错?连 接出 错?执 行结果正确? .C源程序 .OBJ目的程序 .EXE可执行 程序开场完毕YYNYNN库函数和其它目的程序main printf“* n; printf“n; printf“ Very good!n; printf“ n; printf“* n;运行 结果:* Very good!*main int a,b,c,max; pr
8、intf“input number a,b,c: n; scanf“%d,%d,%d,&a,&b,&c; max=a; ifmaxb max=b; /ife s; ifmax0 num1=num1+1; else num2=num2+1; scanf%d,&x; printf Num of positive is: %dn,num1; printf Num of negative is: %dn,num2; 2 3 4 5 10 89 20 66 0请读出该程序的功能main int num1=0,num2=0; printfinput num; scanf%d
9、,&x; whilex!=0 ifx0 num1=num1+1; else num2=num2+1; scanf%d,&x; printfPositive num is: %dn,num1; printfNegative num is: %dn,num2; x程序有错吗?第二章第二章 算法简介及程序的根本构造算法简介及程序的根本构造本章要点:本章要点: 理解算法的根本概念理解算法的根本概念 掌握程序的根本构造掌握程序的根本构造 程序程序= =数据构造数据构造+ +算法算法+ +程序设计方法程序设计方法+ +编程语言编程语言对特定问题求解步骤的一种描绘对特定问题求解步骤的一种描绘
10、algorithmalgorithm计算机算法:计算机算法: 数值算法,有模型,比较成熟,数学程序库数值算法,有模型,比较成熟,数学程序库 非数值算法,种类繁多,难以标准非数值算法,种类繁多,难以标准2.1 算法的概念算法的概念例例2.1 有有50个学生个学生 ,要求将他们之中成绩在,要求将他们之中成绩在80分以分以上者打印出来。用上者打印出来。用n1代表第一个学生学号,代表第一个学生学号,ni代表代表第第i个学生学号。用个学生学号。用gi 代表第代表第i个学生成绩,算法可个学生成绩,算法可表示如下:表示如下:S1:1i S2:假如:假如gi 80 ,那么打印,那么打印 ni 和和gi ,否那
11、么不打印,否那么不打印S3: i+1 i S4: 假如假如 i 50, 返回返回S2, 继续执行;继续执行; 否那么,算法否那么,算法完毕。完毕。 2.2 简单算法举例简单算法举例 用自然语言描绘法用自然语言描绘法例例2.2 将将120名学生百分成绩按分数段分级的程序。名学生百分成绩按分数段分级的程序。 该算法的核心部分是对输入的每一个数进展比较该算法的核心部分是对输入的每一个数进展比较判断,以确定所属的级别。第一种算法描绘如下:判断,以确定所属的级别。第一种算法描绘如下:S1:1i S2: a60 a70 a80 a90 不及格不及格中等中等良好良好优秀优秀及格及格YNYNYNYNS3:输出
12、所属级别;输出所属级别; i+1 i;S4:假如假如i 120, 返回返回S2; 否那么,算法完毕。否那么,算法完毕。转S3转S3转S3转S3转S3分数分数0596069707980899099比例比例0.050.150.40.30.10 不及格不及格Y a90 a80 a70 aii50输出gi 和 nii+1=ii50结束YNN输入ni和和gi i+1=igi=80N1=iY2.4.3 2.4.3 程序的三种根本构造和程序的三种根本构造和改进的流程图改进的流程图N-SN-S构造流程图构造流程图一、顺序构造一、顺序构造Sequence Structure BA (a)AB (b)先执行A操作
13、,再执行B操作,两者是顺序执行关系。N-S构造流程图二、选择构造二、选择构造Selection Structure 当P条件为真时,执行A模块,否那么执行B模块。APB真假(a)P真假AB(b)三、循环构造三、循环构造当P条件成立时,反复执行A,直到P为假。1. .当型循环构造当型循环构造While LoopWhile LoopPA假真(a)当P为真A(b)当P为真2.2.直到型循环构造直到型循环构造Until LoopUntil Loop先执行A操作,再判断P是否为假,假设P为假,再执行A,直到P为真为止。AP假真 (a) A直到P为真 (b)1=i输入ni和和gii+1=i直到i501=i
14、 gi =80真假输出ni和和gii+1=i直到i50开始1=ii50输出gi 和 nii+1=ii50结束YNN输入ni和和gi i+1=igi=80N1=iY2.4.5 用伪代码表示算法:用介于自然语言和计算机语用伪代码表示算法:用介于自然语言和计算机语言之间的文字和符号来描绘算法言之间的文字和符号来描绘算法pseudo code BEGIN 1 =i whilei 50 input ni和和gi i+1=i 1 =i whilei 50 if gi =80 print ni和和gi i+1=i END 2.4.6 用计算机语言表示算法 例2.5 求 1-1/2 + 1/3 1/4 + 1
15、/99 1/100。S1: 1 signS2: 2 deno S3: 1 sumS4: -1*sign signS5: sign*1/deno termS6: sum+term sumS7: deno+1 denoS8: 假设假设deno 100 返回返回S4;否那么算法;否那么算法完毕。完毕。main int sign=1; float deno=2.0 , sum=1.0, term; while deno=100 sign= -sign; term=sign/deno; sum=sum+term; deno=deno+1; printf“%f,sum; 2.4 构造化程序设计方法自顶向下自顶向下Vs自下而上,逐步积累自下而上,逐步积累2. 逐步细化逐步细化3. 模块化设计模块化设计分而治之分而治之4. 构造化编码构造化编码用高级语言正确地实现
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年城市照明项目LED路灯购销合同
- 2024年建筑工程分包协议书
- 2024年云计算服务互操作性测试合同
- 2024广告发布委托合同模板样本
- 2024年工程质量检测合同标准
- 2024年度物业服务合同:日常房屋租住过程中的管理与维护
- 2024年度旅游开发项目合同
- 2024年度影视制作与发布协议
- 儿子结婚上父亲致辞
- 习惯为主题的演讲稿3篇
- 护坡、阻滑体、齿墙、混凝土施工工艺
- DB13T 1349-2010 超贫磁铁矿勘查技术规范
- 垃圾填埋场工艺流程
- 人教版新起点一年级下册英语-Unit 3 Lesson 3教案
- 思想道德与法治全册教案
- T∕CECA-G 0074-2020 T∕CAAMTB 23-2020 质量分级及“领跑者”评价要求 纯电动汽车 (含2022年第1号修改单)
- 中文报告boc it operations isae3402report中文版v1.0.zw dh
- 家具生产企业安全生产标准化规范
- 2022年河北唐山中考语文试题及答案
- 端正恋爱动机正确对待失恋《大学生恋爱心理健康辅导》课件
- CMG软件组分模型操作手册
评论
0/150
提交评论