新编第1章C语言概述课件

PPT
  • 阅读 40 次
  • 下载 0 次
  • 页数 28 页
  • 大小 115.986 KB
  • 2022-11-24 上传
  • 收藏
  • 违规举报
  • © 版权认领
下载文档15.00 元 加入VIP免费下载
此文档由【小橙橙】提供上传,收益归文档提供者,本网站只提供存储服务。若此文档侵犯了您的版权,欢迎进行违规举报版权认领
新编第1章C语言概述课件
可在后台配置第一页与第二页中间广告代码
新编第1章C语言概述课件
可在后台配置第二页与第三页中间广告代码
新编第1章C语言概述课件
可在后台配置第三页与第四页中间广告代码
新编第1章C语言概述课件
新编第1章C语言概述课件
还剩10页未读,继续阅读
【这是免费文档,您可以免费阅读】
/ 28
  • 收藏
  • 违规举报
  • © 版权认领
下载文档15.00 元 加入VIP免费下载
文本内容

【文档说明】新编第1章C语言概述课件.ppt,共(28)页,115.986 KB,由小橙橙上传

转载请保留链接:https://www.ichengzhen.cn/view-44692.html

以下为本文档部分文字说明:

新编第1章C语言概述1.1C语言的发展简史与特色1.1.1C语言发展简史C语言是目前世界上最广泛使用的通用计算机语言。用它既可编写计算机系统软件,也可编写各种应用软件,所以在数百种计算机语言中,C语言仍然是目前最流行、最

受欢迎的计算机语言。现在,Windows已成为计算机的主要操作系统,相应的基于Windows的程序开发多采用C++,它虽是一种面向对象的语言,但其核心内容仍是标准C。•1.1.2C语言的特色1.C与其它语言的比较1)CC语言允许对位、字节和地址进行操作

(指针),这三者是计算机最基本的工作单元,在编制系统程序时要经常用到,所以它适用于写系统程序。由于汇编语言是非结构化语言,含有大量的跳转、子程序调用以及变址,这种结构的缺陷使得汇编语言程序难以读懂,难以维护,也不能移植。而C语言的结构化、模块化克服了汇编程序难读、难维护的缺点

。C语言又具有汇编语言的功能,目标代码长度也差不多,效率几乎与汇编相近,且具有很好的可移植性。•2)CC有丰富的运算符,达34种,其中有很多运算符对应于常用的机器指令,比如++等可直接编译成机器代码,使用起来简单精练。C有多样化的表达式类型;C的数据类型丰富,具有现代

语言的各种数据结构。C的数据类型有:整型,实型,字符型,数组,指针,结构体,共用体等。C的输入输出使用的是数据流C程序生成的机器代码质量高,内存占用少,运行速度快,程序执行效率高。•2.C是结构化语言C语言是以函数为模块来

编写源程序的,所以C程序是模块化的。C语言具有结构化的控制语句,如if~else语句,switch语句,while语句,do~while语句,for语句等。因此是结构化的理想语言,符合现代编程风格的要

求。结构化语言的一个显著特点是代码和数据的分隔化,即代码和数据分开存贮,互相隔离;程序的各个部分除了必要的信息交流外,彼此互不影响,相互隔离。•3.C是编程者的语言C语言的其它主要优点如下:C语言简洁、紧凑,使用方便灵活;一共只有32个关键字(27个来自k

erninghan和Ritchie的标准,5个由ANSI标准委员会增补),9种控制语句,它们构成了C语言的全部指令;程序书写形式自由,压缩了一切不必要的成分。C语言很少限制、很少缺陷、模块结构、彼此独立的函数

和一些十分紧凑的关键字,使得C语言能达到接近汇编语言的高效率和广泛的应用范围,所以在许多情况下它是编程者首选的计算机语言。•4.C的“缺点”1)语法限制不严格2)3)2)程序设计自由度大•1.2简单的C程序介绍例

1.1打印一个语句。程序:main(){printf(″Asimplecprogram.\n″);}经编译后运行结果如下:Asimplecprogram.•例1.2求两数中的小者。程序:main()/*主函数*/{inta,b,c;/*定义变

量*/scanf(″%d,%d″,&a,&b);/*输入*/c=min(a,b);/*调用函数*/printf(″min=%d\n″,c);/*输出*/}intmin(intx,inty)/*定义函数*/{intz;/*定义局

部变量*/if(x>y)z=y;elsez=x;return(z);/*返回z值*/}•经编译后运行如下:14,4min=4再次运行:6,29min=6本程序包括两个函数:主函数main和子函数min。•通过上述两个例子,我们可以看到:(1)C程序是由函数构成的。(2)一个函数由两部分组成:函数

的首部和函数体。(3)main函数通常位于程序之首,实际上它位于程序的开头、最后及函数与函数之间均是合法的,但不管在什么位置,一个C程序总是从main函数开始执行的。(4)C程序书写格式自由,一行内可以写几个语句,一个语句可以分写在多行上。(5)C语言本身没有

输入输出语句。(6)可以用/*…*/对C程序中的任何部分作注释,它可增加程序的可读性。•1.3用C语言解决实际问题的步骤1.3.1一个实例的求解过程1.计算y=f(x)曲线,x轴(y=0),x=a,x=b四条曲线

所围成的面积。参看图1.1。yxab0y=f(x)图1.1计算面积•2.分析问题用户需求:计算四条曲线所围的面积。已知条件:四条曲线(即x=a,x=b,y=0,y=f(x))。需要进行的处理:计算面积,注

意误差和精度。需要用到的软、硬件环境:用C语言编程,在个人微机上运行,使用TurboC编译系统。进行可行性分析:用数值计算方法完全能够实现。经过分析,我们已做到心中有数。•3.根据实际问题选用适当的数学模型(本例属科学计算)。根据高等数学中学到的知识,我们提出的数学模型,也就是在[

a,b]区间内求f(x)函数的定积分。=bndxxfS)(•4.根据处理方案确定操作步骤图1.2矩形法求积分yxab0y=f(x)cdf(c)f(d)•在图1.2中画阴影线的小面积有4条边,第一条长度f(c),第二条长度f(d),第三条长度d-c,而第四条线我们采用近似的办法:以第

一条线高度作x轴的平行线得y=f(c),则小矩形面积为(d-c)·f(c);或以第二条线高度作x轴平行线得y=f(d),则小矩形面积为(d-c)·f(d)。然后将各小块面积累加起来。以上过程归纳起来就得出了近似公式,最后得到一个操作步

骤,也就是算法,如下所示:•(1)读a,b和n(分成n块)。(2)求高h=(b-a)/n。(3)s=0,面积的初始值为0。(4)i=1,先计算第一个小面积。(5)s=s+h*f(a+i*h),用后点计算;或s=s+h*f(a+(i-1)*h),用前点计算,小面积累加起来。(6)i=i+1

,取下一个小面积。(7)如i<=n转(5),否则打印s。•5.根据操作步骤编写源程序程序:main(){floata,b,h,s;floatf(float);inti,n;scanf(″%f,%f,%d″,&a,&b,&n);h=(b-a)/n;s=0;i=1;while(i<=n){s=s+

h*f(a+(i-1)*h);/*用前点计算*/i++;}printf(″a=%f,b=%f,n=%d,s=%f\n″,a,b,n,s)}•6.输入程序并上机调试上机输入源程序并调试,直到改正了所有的编译错误和运行错误。在调试过程中应该精心选

择典型数据进行测试。本例当计算有误差或精度不足时可加大分块数量,或采用其它计算方法:如改为梯形法或抛物线法(即辛普生法)等。要避免因调试数据不能反映实际数据的特征而引起的计算偏差和运行错误。•7.图1.3用计算机处理一个实际问题分析问题确定处理方案(数学模型)确定算法

编写程序上机调试运行整理结果修改数学模型修改算法修改程序•1.3.2算法1.什么是算法为解决一个问题而采取的方法和步骤,就称为“算法”。对同一个问题,可以有不同的解题方法和步骤,也就有不同的算法。可采用矩形法,梯形法,辛普生法(

即抛物线法)等。为了有效地解题,不仅需要保证算法正确,还要考虑算法的质量,选择较好的算法,或进行算法的优化。badxxf)(•2.一个算法,必须具有以下特点:(1)仅有有限的操作步骤,即“有穷性”(无死循环)。(2)算法的每一个步骤应当是确定的,即无“二义性”。

(3)有适当的输入,即有确定的条件。(4)有输出结果。没有输出的算法是无意义的。(5)算法中的每一个步骤都应当有效执行(无死语句)。•3.算法的重要性掌握最基本的、常用的算法是很重要的,算法设计是整个程序设计的核心。著名计算机科学家沃思(Wirth)曾提出一个公式:程序=算法+数据

结构。对初学者而言,数据结构即是语言提供的各种数据类型,无大难点。这样编程的任务主要是考虑算法问题,当然还要学会基本的语句和语法。•4.算法的表示方法1)用自然语言表示2)3)2)用传统流程图表示端点符数据输入/出处理判断流向线虚线连接符注释符图1.4传统流程图常用符号•例1.3,

用传统流程图表示,见图1.5。badxxf)(图1.5矩形法求积分开始输入a,b,nh=(b-a)/ns=0;i=1i<=ns=s+h*f(a+(i-1)*h)i=i+1结束输出a,b,n,s•3)用N-S流程图表示例1.4求,用N-S结构化流程图表示,见图1.6。

badxxf)(h=(b-a)/n输入a,b,ns=0i=1当i<=n时执行s=s+h*f(a+(i-1)*h)i=i+1输出a,b,n,s图1.6矩形法求积分•4)用伪代码表示例1.5,用伪代码来表示。开始(BEGIN)输入(Input)a,b,n(b-a)/nh0s1i当(while)

i<=n执行(do)s+h*f(a+(i-1)*h)si+1i循环到此结束(Enddo)输出(Print)a,b,n,s算法结束(END)badsxf)(•感谢聆听

小橙橙
小橙橙
文档分享,欢迎浏览!
  • 文档 25747
  • 被下载 7
  • 被收藏 0
相关资源
广告代码123
若发现您的权益受到侵害,请立即联系客服,我们会尽快为您处理。侵权客服QQ:395972555 (支持时间:9:00-21:00) 公众号
Powered by 太赞文库
×
确认删除?