版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第一章第一章 C语言概述语言概述1.1 C语言出现的历史背景语言出现的历史背景(1) 广泛流行,写系统软件,写应用软件广泛流行,写系统软件,写应用软件 ALGOL60- 面向问题面向问题 CPL(combined programming language)(63) BCPL-67(剑桥剑桥 Matin Richard) B语言语言-70(贝尔实验室(贝尔实验室Ken Thompson) C语言语言-7273(Dennis.M.Ritchie) 73,用,用C语言把语言把UNIX改写(改写(5),), 75 UNIX(6)引起注意引起注意1.1 C语言出现的历史背景语言出现的历史背景(2) 78
2、以后,移植到大、中、小、微型机以后,移植到大、中、小、微型机 78发表发表The C Programming Language(Brian W. Kernighan 和和Dennis M. Ritchie) 83美国国家标准局美国国家标准局 ( ANSI )称为)称为 ANSI C 87(ANSI)公布了新标准称)公布了新标准称 87 ANSI C 90国际标准组织(国际标准组织(ISO)ISO C 的标准的标准ISO9899-1990 Borland公司的公司的Turbo C和和Borland C/C+,微软微软的的Microsoft C和和Visual C/C+ Unix和和Linux,C
3、语言是其标准系统开发语言语言是其标准系统开发语言1.2 C语言的特点(语言的特点(1)C语言的主要特点如下:语言的主要特点如下:1.语言表达能力强语言表达能力强 运算符丰富,表达式类型多样化运算符丰富,表达式类型多样化2. 结构化好结构化好 while语句结构化语句等,函数为单位语句结构化语句等,函数为单位3. 具有较强的数据类型构造能力具有较强的数据类型构造能力 4. 语言精练语言精练 i+=2; (i=i+2); if (e) s ; FORTRANBASICCDo 10 i=0,99,1i=0 for(i=0;i100;i+)DO WHILE iy) z=x; else z=y; ret
4、urn(z ); 程序运行情况:Please input two integers:8,5max=8通过以上例子可以看出:通过以上例子可以看出:1.C程序是由函数构成的。每个程序由一个或多个函数组程序是由函数构成的。每个程序由一个或多个函数组成,其中必须成,其中必须有且仅有一个有且仅有一个主函数主函数main( )。函数容易实。函数容易实现程序的模块化现程序的模块化.2.一个可执行的一个可执行的C语言程序语言程序总是从总是从main函数开始执行函数开始执行,而,而不论其在整个程序中的位置如何。不论其在整个程序中的位置如何。3.每条语句或数据定义的最后必须有一个分号每条语句或数据定义的最后必须有
5、一个分号“;”。 说明:说明:在以下三种情况下不允许有分号:在以下三种情况下不允许有分号: a.在右花括号在右花括号“”后面不使用分号后面不使用分号; b.所定义的函数的名称后面不使用分号所定义的函数的名称后面不使用分号;大括号之后while(total=2000)limit+; total=total+limit; ;函数定义语句之后int max( ) ; c.预处理语句后面不使用分号。预处理语句后面不使用分号。4.C对输入输出实行函数化。对输入输出实行函数化。5.C程序书写格式自由,一行内可以写几个语句,一个语句程序书写格式自由,一行内可以写几个语句,一个语句也可以分写在多行上。也可以分
6、写在多行上。6.可用可用/*/对对C程序中的任何部分作注释,注释可以写程序中的任何部分作注释,注释可以写在程序的任何位置上,在程序的任何位置上,“/*”与与“*/”也可不在同一行上。也可不在同一行上。7.也可用也可用“/”。 本行中、本行中、“/”之后的文字都视为注释。之后的文字都视为注释。8.在在C语言中,大小写字母是有语言中,大小写字母是有区别区别的。(的。(C语言习惯用小语言习惯用小写字母写字母)导入库函数语句之后#include “stdio.h” ;1.4 C程序的上机步骤程序的上机步骤1.编辑:选择适当的编辑程序编辑:选择适当的编辑程序,将将C语言源程序语言源程序通过键盘输入到计算
7、机中通过键盘输入到计算机中,并以文件的并以文件的形式存入到磁盘中(形式存入到磁盘中(.C)2.编译:即将源程序翻译成机器语言程序的过编译:即将源程序翻译成机器语言程序的过程。编译出来的程序称为目标程序程。编译出来的程序称为目标程序(.OBJ)3.连接:编译后生成的目标文件经过连接后生连接:编译后生成的目标文件经过连接后生成最终的可执行程序(成最终的可执行程序(.EXE) 编 辑编 译 出 错?连 接出 错?执 行结果正确? .C源程序 .OBJ目标程序 .EXE可执行 程序开始结束YYNYNN库函数和其它目标程序main( ) printf(“* n”); printf(“n”); print
8、f(“ Very good!n”); printf(“ n”); printf(“* n”);运行 结果:* Very good!*main( ) int a,b,c,max; printf(“input number a,b,c: n”); scanf(“%d,%d,%d”,&a,&b,&c); max=a; if(maxb) max=b; /if(e) s; if(max0) num1=num1+1; else num2=num2+1; scanf(%d,&x); printf( Num of positive is: %dn,num1); printf(
9、Num of negative is: %dn,num2); 2 3 4 5 10 89 20 66 0请读出该程序的功能main() int num1=0,num2=0; printf(input num); scanf(%d,&x); while(x!=0) if(x0) num1=num1+1; else num2=num2+1; scanf(%d,&x); printf(Positive num is: %dn,num1); printf(Negative num is: %dn,num2); x程序有错吗?第二章第二章 算法简介及程序的基本结构算法简介及程序的基本结构
10、本章要点:本章要点: 了解算法的基本概念了解算法的基本概念 掌握程序的基本结构掌握程序的基本结构 程序程序= =数据结构数据结构+ +算法算法+ +程序设计方法程序设计方法+ +编程语言编程语言对特定问题求解步骤的一种描述对特定问题求解步骤的一种描述( (algorithm)algorithm)计算机算法:计算机算法: 数值算法,有模型,比较成熟,数学程序库数值算法,有模型,比较成熟,数学程序库 非数值算法,种类繁多,难以规范非数值算法,种类繁多,难以规范2.1 算法的概念算法的概念例例2.1 有有50个学生个学生 ,要求将他们之中成绩在,要求将他们之中成绩在80分以分以上者打印出来。用上者打
11、印出来。用n1代表第一个学生学号,代表第一个学生学号,ni代表代表第第i个学生学号。用个学生学号。用gi 代表第代表第i个学生成绩,算法可个学生成绩,算法可表示如下:表示如下:S1:1i S2:如果:如果gi 80 ,则打印,则打印 ni 和和gi ,否则不打印,否则不打印S3: i+1 i S4: 如果如果 i 50, 返回返回S2, 继续执行;继续执行; 否则,算法结否则,算法结束。束。 2.2 简单算法举例简单算法举例 (用自然语言描述法)用自然语言描述法)例例2.2 将将120名学生百分成绩按分数段分级的程序。名学生百分成绩按分数段分级的程序。 该算法的核心部分是对输入的每一个数进行比
12、较该算法的核心部分是对输入的每一个数进行比较判断,以确定所属的级别。第一种算法描述如下:判断,以确定所属的级别。第一种算法描述如下:S1:1i S2: a60 a70 a80 a90 不及格不及格中等中等良好良好优秀优秀及格及格YNYNYNYNS3:输出所属级别;输出所属级别; 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
13、 i+1=igi=80N1=iY2.4.3 2.4.3 程序的三种基本结构和程序的三种基本结构和改进的流程图(改进的流程图(N-SN-S结构流程图)结构流程图)一、顺序结构一、顺序结构(Sequence Structure) BA (a)AB (b)先执行A操作,再执行B操作,两者是顺序执行关系。N-S结构流程图二、选择结构二、选择结构(Selection Structure) 当P条件为真时,执行A模块,否则执行B模块。APB真假(a)P真假AB(b)三、循环结构三、循环结构当P条件成立时,反复执行A,直到P为假。1. .当型循环结构当型循环结构(While Loop)(While Loop
14、)PA假真(a)当P为真A(b)当P为真2.2.直到型循环结构(直到型循环结构(Until Loop)Until Loop)先执行A操作,再判断P是否为假,若P为假,再执行A,直到P为真为止。AP假真 (a) A直到P为真 (b)1=i输入ni和和gii+1=i直到i501=i gi =80真假输出ni和和gii+1=i直到i50开始1=ii50输出gi 和 nii+1=ii50结束YNN输入ni和和gi i+1=igi=80N1=iY2.4.5 用伪代码表示算法:用介于自然语言和计算机语用伪代码表示算法:用介于自然语言和计算机语言之间的文字和符号来描述算法(言之间的文字和符号来描述算法(ps
15、eudo code) BEGIN 1 =i while(i 50) input ni和和gi i+1=i 1 =i while(i 50) if (gi =80) print ni和和gi i+1=i END 2.4.6 用计算机语言表示算法 例2.5 求 1-1/2 + 1/3 1/4 + 1/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 结构化程序设计方法1. 自顶向下自顶向下Vs自下而上,逐步积累自下而上,逐步积累2. 逐步细化逐步细化3. 模块化设计模块化设计分而治之分而治之4. 结构化编码结构化编码用高级语言正确地实现三种基本结构
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 采购笔试题全解及答案
- 心电图考试试题及答案
- 四川幼儿师范高等专科学校 2026年助学助管员招用的(第二批)考试备考试题及答案详解
- 2026重庆市铜梁区市场监督管理局招聘食品药品监管公益性岗位人员4人考试备考题库及答案详解
- 四川省什邡市职业中专学校(什邡市综合高级中学)2026年教师招聘笔试备考试题及答案详解
- 2026年内江市招募见习岗位(98人)笔试备考试题及答案详解
- 2026天津市和平区教育系统事业单位第二次招聘4人考试备考题库及答案详解
- 2026广西现代物流集团有限公司中层领导岗位招聘3人笔试参考题库及答案详解
- 2026广东省卫生健康委全国爱牙日主题宣传展示活动委托业务遴选受托方笔试备考题库及答案详解
- 2026年隆林各族自治县网格员招聘考试备考试题及答案解析
- 2026年中国广电5g试题及答案
- 电梯装修施工方案
- GB/T 47911-2026小微型企业安全生产标准化管理体系要求
- 2025年证券营业部招聘真题及答案
- 2026年8月株洲市公共交通集团有限责任公司无人售票车驾驶员招聘30人笔试模拟试题及答案详解
- TCFLP0030-2021国有企业网上商城采购交易操作规范
- JJG 270-2008血压计和血压表
- 患者出院的护理
- 颈椎病推拿治疗课件
- 管道闭水试验记录自动计算
- 内镜粘膜下剥离术(ESD)
评论
0/150
提交评论