C语言课件ppt-1.ppt
《C语言课件ppt-1.ppt》由会员分享,可在线阅读,更多相关《C语言课件ppt-1.ppt(45页珍藏版)》请在冰点文库上搜索。
C程序设计,课程介绍,学习本课程的目的通过学习语言掌握程序设计的基本方法和技能采用面向过程的程序设计方法编写简单的应用程序学习本课程的方法掌握语言的基本语法规则和所使用过的算法,编写程序要注意模仿类似的程序。
本课程是一门实践性较强的课程,必须大量做题和上机练习。
通过做题可以理解和掌握所学内容,通过上机可以锻炼编写程序的能力,以及检验程序是否正确。
课程介绍,本课程可以采用的语言环境TurboC(面向过程程序设计)VisualC+(面向过程、面向对象、可视化程序设计)说明:
C+完全兼容C,C语言发展简史C语言的特色C程序格式和结构特点解题的几个步骤计算机算法算法的性质算法的描述,第一章C语言概述,一、C语言发展简史,ALGOL60,CPL,BCPL,B,C,二、C语言的特色1、语言简洁、紧凑,使用方便、灵活2、运算符丰富3、数据结构丰富4、是一种结构化语言5、语法限制不太严格,程序设计自由度大6、是一种中级语言7、生成目标代码质量高8、可移植性好,三、C程序格式和结构特点例第一个程序Hello,World!
/*example1.1ThefirstCProgram*/#includemain()printf(“Hello,World!
”);,输出:
Hello,World!
例,/*example1.2calculatethesumofaandb*/#include/*Thisisthemainprogram*/intadd(intx,inty);voidmain()inta,b,sum;a=10;b=24;sum=add(a,b);printf(”sum=%dn,sum);/*Thisfunctioncalculatesthesumofxandy*/intadd(intx,inty)intz;z=x+y;return(z);,运行结果:
sum=34,格式特点习惯用小写字母,大小写敏感不使用行号,无程序行概念可使用空行和空格常用锯齿形书写格式,main().,main()inti,j,sum;sum=0;for(i=1;i10;i+)for(j=1;j10;j+)sum+=i*j;printf(“%dn”,sum);,优秀程序员的素质之一:
使用TAB缩进对齐有足够的注释有合适的空行,结构特点函数与主函数程序由一个或多个函数组成必须有且只能有一个主函数main()程序执行从main开始,在main中结束,其它函数通过嵌套调用得以执行。
一个函数由两部分组成:
函数的首部和函数体。
所有函数都是独立的。
结构特点程序语句C程序由语句组成用“;”作为语句终止符C程序书写格式自由C语言本身没有输入输出语句注释/*/为注释,不能嵌套不产生编译代码,例:
/*Thisisthemain/*ofexample1.1*/*/,编译预处理命令用户的程序要使用C语言提供的函数,要用命令include把函数库的名字包含进来。
四、解题的几个步骤1。
分析问题2。
确定处理方案3。
确定操作步骤4。
编写源程序5。
编译6。
执行程序7。
程序测试与调试8。
程序维护和更新,一个实例的求解过程问题提出计算y=f(x)曲线、x轴(y=0)、x=a、x=b四条曲线所围成的面积。
1、分析问题用户需求:
计算四条曲线所围的面积。
已知条件:
四条曲线(x=a,x=b,y=0,y=f(x))。
需要进行的处理:
计算面积,注意误差和精度。
需要用到的软、硬件环境:
用语言编程,在个人微机上运行,使用TC或VC编译系统。
可行性分析:
用数值计算方法完全能够实现。
2、确定处理方案根据实际情况选用适当的数学模型:
也就是在a,b区间内求f(x)函数的定积分。
3、根据处理方案确定操作步骤将该面积分成若干小块,计算每小块的面积,然后将小面积累积起来。
算法:
1)读a,b和n(分成n块)2)求高h=(b-a)/n3)s=0,面积的初始值为04)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,4、根据操作步骤编写源程序main()floata,b,h,s;inti,n;scanf(“%f,%f,%d”,5、编译,6、执行程序可执行文件就是用户可运行的程序。
7、程序测试与调试调试就是寻找并纠正错误的过程。
8、程序维护和更新,计算机处理一个实际问题的主要过程:
五、计算机算法定义:
是一种解决问题的策略,即对解题过程的具体描述,是为了解决特定的问题所提供的一组操作序列。
六、算法的性质1、能行性算法中包含的每一个操作都应是计算机可以执行的.例如:
算术运算,关系运算,逻辑运算,数据传递2、确定性算法的每一步必须有清楚的定义,不能有多义性或模棱两可的解释.3、有穷性一个算法必须在执行有穷步之后结束.4、输出算法执行完后,至少有一个输出.5、输入有适当的输入,即有确定的条件.,七、算法的描述1、文字描述2、流程图描述,开始,例:
求1+2+3+100的和.,五种基本控制结构:
顺序型,选择型,多情况选择型,先判定型循环(DO-WHILE):
循环控制条件成立时,重复执行特定的加工。
后判定型循环(DO-UNTIL):
重复执行某些特定的加工,直到控制条件成立。
循环型,例:
输入一个数X,如为正,打印出X的值。
例:
输入10个数,把其中的正数打印输出。
3、N-S结构化流程图表示法N-S图是一种符合结构化程序设计原则的图形描述工具,也叫盒图。
顺序型,选择型,循环型,多分支选择型(CASE型),P是循环条件S是循环体,P为控制条件,根据P的取值相应地执行其值下面各框的内容。
例:
输出一个数的绝对值,例:
输入50名学生的成绩,统计不及格人数。
例:
已知两正整数m、n,求最大公约数。
解:
第一步:
求余以小数(n)除以大数(m),求得余数r(0rn)第二步:
判断若r=0,n即为所求数,否则执行第三步第三步:
置换令nm,rn,然后返回第一步,DOUNTIL,结构化程序设计:
要求程序设计者按一定的规范书写程序,而不能随心所欲地设计程序。
按照“工程化”生产方法来组织软件生产,每个编程人员都必须按照同一规则、同一方法进行生产,使生产的软件有统一的标准、统一的风格,成为“标准产生”,便于推广,便于生产和维护。
If(a.LT.b)goto120if(b.LT.c)goto110Write(6,*)cgoto140Write(6,*)bgoto140If(a.LT.c)goto130Write(6,*)a140continue,打印a,b,c三数中最小数,If(a.LT.b.AND.a.LT.c)thenwrite(6,*)aElseif(a.GE.b.AND.b.LT.c)thenwrite(6,*)belsewrite(6,*)cendifendif,结构化程序设计的标准:
1、一个大的程序开发应当采取“自顶向下、逐步细化、模块化”的方法。
2、全部程序均由顺序、选择和循环三种基本结构的组合构成,不含这3种结构以外的程序结构。
结构化程序设计的标准:
3、每一控制结构都具有以下的特征,即:
具有单入口的性质;具有单出口的性质;不包含无限循环,即执行时间是有限的;没有死语句,即程序中所有语句都有被执行的机会。