您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > C语言程序设计项目教程1
msrongxuan@163.comC语言程序设计项目教程化学工业出版社化学工业出版社C语言概述•C语言的产生和发展•C语言和其他计算机语言的比较•C语言的特点•C语言程序设计举例•C语言的结构特点•VisualC++6.0开发工具•练习题本章主要内容:引言•C语言的原型ALGOL60语言。(也称为A语言)•1963年,剑桥大学将ALGOL60语言发展成为CPL(CombinedProgrammingLanguage)语言。•1967年,剑桥大学的MartinRichards对CPL语言进行了简化,于是产生了BCPL语言。•1970年,美国贝尔实验室的KenThompson将BCPL进行了修改,起名“B语言”。•1972年,美国贝尔实验室的D.M.Ritchie在B语言的基础上设计出了一种新的语言,这就是C语言。•1978年由美国电话电报公司(AT&T)贝尔实验室正式发表了C语言。•1989年,由美国国家标准化协会(AmericanNationalStandardsInstitute)在此基础上制定了一个C语言标准,通常称之为89ANSIC。•1994年,ISO又重新修订了C语言的标准,正式成为现行的C语言标准。一、C语言的产生和发展二、几种程序设计语言的比较•机器语言:用二进制代码表达的计算机语言,指令用0和1组成。•优点:•计算机可以直接识别,不需要进行任何翻译,执行速度最快。•缺点:•可读性差,不便于交流与合作;•严重地依赖于具体的计算机,可移植性差,重用性差。•汇编语言:用助记符(Memoni)代替操作码,用地址符号(Symbol)或标号(Label)代替地址码•优点:•能够直接访问与硬件相关的存储器或I/O端口;•能够最大限度地发挥硬件的功能。•缺点:•操作码量大,难于记忆,不好维护。二、几种程序设计语言的比较•高级语言:语法和结构类似于普通英文,远离对硬件的直接操作•优点:•算法语言,易学、易掌握;•远离机器语言,与具体的计算机硬件关系不大,可移植性好,重用率高。※※※C语言就是一种独立于机器,编码相对短,可读性强的高级语言。机器语言汇编语言高级语言面向过程面向对象CPU指令系统,由0、1序列构成的指令码组成如:1011010000000000加法用助记符号描述的指令系统如ADDA,B程序设计是数据被加工的过程语法类似于英语如c语言c=a+b图表:计算机语言的发展过程三、C语言的特点1.语言简洁、灵活,便于学习和使用。2.运算符类型丰富。3.数据类型丰富,并有多种数据结构。4.具有结构化的控制语句,层次清晰,便于使用、维护以及调试。5.高效率的目标代码。6.能对硬件进行编程。同汇编语言相比,用C语言写的程序可移植性好7.程序设计较自由,语法限制不严格。四、C语言的格式及结构特点【例0.1】编写程序,在计算机屏幕上显示Hello,World!#includestdio.hmain(){printf(“Hello,World!”);}主函数开始主函数体开始标志C语句主函数体结束标志C语句结束程序代码:分析几个简单的C程序【例0.2】编写程序求解123+456的和。#includestdio.hmain(){inta,b,sum;a=123;b=456;sum=a+b;printf(“sumis%d:\n”,sum);}定义变量,所有的变量的定义都要放在程序的声明部分C语言允许在一行书写多条语句,但需要用“;”结束“=”赋值语句,念做123赋值给a预处理命令,为调用printf()函数注意:没有“;”四、C语言的格式及结构特点分析几个简单的C程序运行后输出:sumis579#includestdio.h#definePI3.1415926main(){floatr,a,c;r=2.5;/*输入圆的半径*/a=PI*r*r;c=2*PI*r;printf(“r=%f,a=%f,c=%f\n”,r,a,c);}运行后输出:r=2.500000,a=19.634954,c=15.707963四、C语言的格式及结构特点练一练:分析下列程序的功能【例0.4】从键盘输入两个数,求其中的最大值。被调用的子函数主函数四、C语言的格式及结构特点分析几个简单的C程序#includestdio.hintmax(intx,inty);main(){inta,b,c;scanf(“%d,%d”,&a,&b);c=max(a,b);printf(“max=%d”,c);}intmax(intx,inty){intz;if(xy)z=x;elsez=y;return(z);}五、C语言的结构特点一个C程序由一个或多个函数组成,其中有且只有一个用“main”命名的主函数,程序都是从main函数开始到main函数结束。每个函数由{}表示开始和结束在其内部包含的是函数体。每个C语句以“;”(分号)结尾。C程序的书写格式比较自由。函数体中可以有定义和执行部分,定义部分必须放在执行部分的前面可以在程序的任何位置用“/*……*/”对C程序中的任何部分作注释。练一练:选择题『0.1』一个C程序的执行是从________。(A)本程序的main函数开始,到main函数结束。(B)本程序的第一个函数开始,到本程序文件的最后一个函数结束。(C)本程序的main函数开始,到本程序文件的最后一个函数结束。(D)本程序的第一个函数开始,到本程序main函数结束。『0.2』以下叙述不正确的是_________。(A)一个C源程序可由一个或多个函数组成。(B)一个C源程序必须包含一个main函数。(C)程序的基本组成单位是函数。(D)在C程序中,注释说明只能位于一条语句的后面。『0.3』C语言规定:在一个源程序中,main函数的位置___。(A)必须在最开始(B)必须在所有函数的后面(C)可以任意(D)必须在最后填空题『0.4』函数体是有符号____开始,符号____结束。函数体的前面是____部分,后面是____部分。『0.5』一个C源程序中至少应包括一个_______。『0.6』在一个C源程序中,注释部分两侧的分界符分别为_____和_________。练一练:观察以下程序,指出C程序的错误所在。#includestdio.h;main();floatr,s;/*/*risradius*/*/r=5.0s=3.14*r*r;printf(“%f\n”,s)main()后面没有“;”预处理命令,没有;注释不能再套一层注释每条语句后都要有“;”“{}”括起整个函数体练一练:•【实验0.1】一个简单的C语言程序•编写用printf语句将3个字符串:goodmorning,floppydisk,harddisk显示在计算机屏幕上的程序。•【实验0.2】按照要求输入程序,查看程序运行的结果•输入并运行下面程序,分析其运行结果。#includestdio.hmain(){printf(和是%f,16.8+27.5);printf(差是%f\n,16.8-27.5);printf(积是%f,16.8*27.5);printf(商是%f\n,16.8/27.5);}上机实验【实验0.3】输入并运行下面程序,分析其运行结果。按照下面的程序,输入到VisualC++6.0集成开发环境中,并分析运行结果#includestdio.hmain(){printf(表达式1的值:%f\n,99.7*0.26+4.25);printf(表达式2的值:%d\n,1/2+1/3+1/4+1/5);printf(表达式3的值:%f\n,3.5/(6.1+2.0*(2.9-1.4*2.7)));}系统总体设计•C语言的产生和发展•C语言和其他计算机语言的比较•C语言的特点•C语言程序设计举例•C语言的结构特点•VisualC++6.0开发工具•练习题本章主要内容:第1章1、关于程序知识储备人机能够对话,是因为计算机可以执行程序……人机进行对话所使用的语言,就是程序设计语言……程序是为了使计算机完成指定的任务而编写的具有特定语法规则的指令序列。C语言就是一种完成程序设计的高级语言。用C语言编写的程序叫做“源程序”,文件为*.c1.1程序和程序设计C语言程序编辑与运行流程开始编辑源程序编译连接程序编译连接有错?运行程序运行有错?结束修改程序调试程序真假假真注意上述过程都在IDE(集成开发环境)中进行!程序员只需要在IDE中完成*.c的源文件的设计和程序的调试*.obj*.c*.exe2程序设计用程序设计语言来描述问题的求解过程,以及对其中参与运算的数据进行合理地组织和安排,就叫做程序设计。•分析问题•确定算法•画流程图•编写程序•运行调试•总结过程基本步骤程序设计=数据结构+算法知识储备1.1程序和程序设计有穷性确定性可行性有一个或者多个输入输出算法描述常见工具:流程图N-S图1.2算法的概念及描述方法算法是针对提出的可行方案确定解决问题、完成任务的每一个细节步骤。好的算法开始S=π·r2C=2π·r输入rr0?输出S、C结束YN起止框输入输出框判断框处理框流程符开始框一般处理框判断框结束框流程线1.2算法的概念及描述方法流程图输入rr0真假S=π·r2C=2π·r输出S,CN-S流程图1.2算法的概念及描述方法1.3C程序设计中的三种基本结构•顺序结构——自顶向下,无分支,无转移•选择结构——有分支,需条件判断•循环结构——有转移,某些语句可重复执行•当型循环•直到型循环语句1语句2语句1语句2(a)流程图表示法(b)N-S图表示法1.3C程序设计中的三种基本结构顺序结构判断表达式语句1语句2假真判断表达式真假语句1语句2(a)流程图表示法(b)N-S图表示法1.3C程序设计中的三种基本结构选择结构当条件判断表达式为真循环体语句判断表达式循环体语句真假循环体语句直到判断表达式为假循环体语句判断表达式假真当型循环直到型循环1.3C程序设计中的三种基本结构循环结构•主函数•子函数•语句dmainabcgkfhjiel自上而下,逐步细化模块化结构程序设计1.4函数的定义和使用主函数:main(),是必须存在且唯一的,是程序执行的入口。从使用角度分:标准库函数:以程序库的形式直接提供给用户使用。stdio.h……gets()、printf()math.h……sin()、sqrt()用户自定义函数:由用户自己建立定义。函数的分类1.4函数的定义和使用函数的分类从函数形式分:无参函数:调用函数时主函数不将数据传送给被调函数。用于完成特定功能的操作。如:c=getchar()……有参函数:调用函数时在主调函数和被调函数之间有参数传递。如:putchar(c)、puts(str)、……两种函数分类是独立的注意实例演示库函数的使用题目:求函数的值,x的值通过键盘输入。1xy#includestdio.h#includemath.hmain(){floatx,y;scanf(%f,&x);y=sqrt(fabs(x))+1;printf(%f,y);}数学函数:fabs(x):求x的绝对值。sqrt(n):计算n的平方根。输入输出函数:scanf(),printf()。调用标准库函数前要求使用include命令包含库函数所对应的头文件。实例演示无参函数的定义及调用#includestdio.hvoidprint_star();voidprint_text();main(){print_star();print_text();print_star();}voidprint_star(){printf(********************************\n);}voidprint_text(){printf(GoodMorning!\n);}无参函数的定义形式:【类型标识符】函数名(){说明部分;语句部分}无参函数的调用:函数语句:print_star();函数说明:函数要求必须“先定义后使用”,若函数的定义位置在调用之后,要求在主函数
本文标题:C语言程序设计项目教程1
链接地址:https://www.777doc.com/doc-752169 .html