c语言程序设计(包云)c第1章概述.ppt

上传人:牧羊曲112 文档编号:6503973 上传时间:2023-11-07 格式:PPT 页数:50 大小:783KB
返回 下载 相关 举报
c语言程序设计(包云)c第1章概述.ppt_第1页
第1页 / 共50页
c语言程序设计(包云)c第1章概述.ppt_第2页
第2页 / 共50页
c语言程序设计(包云)c第1章概述.ppt_第3页
第3页 / 共50页
c语言程序设计(包云)c第1章概述.ppt_第4页
第4页 / 共50页
c语言程序设计(包云)c第1章概述.ppt_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《c语言程序设计(包云)c第1章概述.ppt》由会员分享,可在线阅读,更多相关《c语言程序设计(包云)c第1章概述.ppt(50页珍藏版)》请在三一办公上搜索。

1、C语言程序设计,讲授:包云 单位:聊城大学计算机学院,第1章 C语言概述,3,主要内容,1.1 什么是计算机程序1.2 什么是计算机语言1.3 C语言的发展及其特点1.4 简单的C程序介绍1.5 C程序的上机步骤与方法,4,1.1什么是程序设计,什么是程序?为了解决某一特定问题用某一种计算机语言编写的指令序列称为程序。什么是程序设计?程序是程序设计的结果,在执行程序前必须先排定程序,排定以时间为进程必须完成的各种操作叫程序设计。用高级语言进行程序设计时要注意以下三个概念:语法,每种计算机语言都有自己的语法规则。语义,即某一语法成分的含义。语用,即正确使用语言。,5,1.2什么是计算机语言,计算

2、机语言,机器语言,汇编语言,高级语言,非过程语言,6,高级语言经历的不同的发展阶段:1、非结构化的语言2、结构化语言3、面向对象的语言,7,1.3 C语言的发展及其特点,语言的诞生与发展(1)在C语言诞生以前,系统软件主要是用汇编语言编写的。由于汇编语言程序依赖于计算机硬件,其可读性和可移植性都很差;但一般的高级语言又难以实现对计算机硬件的直接操作(这正是汇编语言的优势),于是人们盼望有一种兼有汇编语言和高级语言特性的新语言。(2)语言是贝尔实验室于70年代初研制出来的,后来又被多次改进,并出现了多种版本。80年代初,美国国家标准化协会(ANSI),根据语言问世以来各种版本对语言的发展和扩充,

3、制定了ANSI C标准(1989年再次做了修订)。本课程以 C99新标准来讲解。,8,C语言的历史背景,9,C语言的特点,C语言同时具有汇编语言和高级语言的优势。语言简洁、紧凑,使用方便、灵活。(32个关键字 9种控制语句)运算符丰富。(34种运算符)数据类型丰富。具有结构化的控制语句语法限制不太严格,程序设计自由度大可以直接对硬件进行操作。生成目标代码质量高,程序执行效率高。可移植性好(较之汇编语言)。,10,C语言缺点算符太多,优先级多,不便记忆。相对来说,C语言类型转换随便,安全性较差(如指针),11,1.4 简单的C程序介绍,1、最简单的程序,例1.1 要求在屏幕上输出以下一行信息:T

4、his is a C program.#include int main()printf(“This is a C program.n”);return 0;,一个完整的程序,是由一个main()函数(又称主函数)和若干个其它函数(又称子函数)结合而成的,或仅由一个main()函数构成。main是函数的名字,表示“主函数”,main前面的int表示此函数的类型是int类型。每个语句最后都有一个分号,表示语句的结束。,stdio.h是系统提供的一个文件名,输入输出函数都事先放在这个文件里,如果想用,必须调用stdio.h。,12,例1.2 求两个数的和。#include int main()in

5、t a,b,sum;a=123;b=456;sum=a+b;printf(“sum is%dn”,sum);return0;,程序运行结果:sum is 579,/*预处理命令*/,/*函数首部*/,/*声明部分*/,/*输出语句*/,函数体,13,1.4 简单的C程序介绍,例1.3 求2个数中较大者。#include“stdio.h”int main()int a,b,c;scanf(%d,%d,从键盘输入:5,9程序运行结果:max=9,说明:函数是程序的基本单位C程序总是从main()函数开始执行程序行的书写格式自由所有语句都必须以分号“;”结束可用/*/对程序作注释,14,1.4 简单

6、的C程序介绍,2.函数的一般结构1)一个程序由一个或多个源程序文件组成。(1)预处理指令。(2)全局声明。(3)函数定义。2)函数是C程序的主要组成部分,15,3)一个函数包括2个部分,任何函数(包括主函数main())都是由函数说明和函数体两部分组成。其一般结构如下:函数返回值的类型 函数名(函数参数表)说明语句部分;执行语句部分;,说明语句部分由变量定义、自定义类型定义、自定义函数说明、外部变量说明等组成。,可执行语句部分一般由若干条可执行语句构成。,函数参数表的格式为:数据类型 形参1,数据类型 形参2,16,1.函数是语言程序的基本单位。main()函数的作用,相当于其它高级语言中的主

7、程序(“龙头大哥”,运行时由它开始执行);其它函数的作用,相当于子程序(一般是被调用的)。,2.C语言程序总是从main()函数开始执行。一个语言程序,总是从main()函数开始执行,而不论其在程序中的位置。当主函数执行完毕时,亦即程序执行完毕。习惯上,将主函数main()放在最前头。,总结一下,17,任何函数(包括主函数main())都是由函数说明和函数体两部分组成。其一般结构如下:函数返回值的类型 函数名(函数参数表)说明语句部分;执行语句部分;,函数首部,函数体,1.函数首部 由函数返回值类型、函数名和函数参数表三部分组成。函数参数表的格式为:数据类型 形参1,数据类型 形参2,18,例

8、如,函数max(),其函数说明各部分如图1-1所示。函数返回值的类型 函数名 函数参数表 int max(int x,int y)图1-1 函数首部结构图2.函数体在函数说明部分的下面、大括号(必须配对使用)内的部分。函数体一般由说明语句和可执行语句两部分构成:(1)说明语句部分说明语句部分由变量定义、自定义类型定义、自定义函数说明、外部变量说明等组成。,19,(2)可执行语句 一般由若干条可执行语句构成。main()函数体的示意图。/*主函数main()*/main()int num1,num2;printf(Input the first integer number:);scanf(%d

9、,函数体,变量定义部分,可执行语句部分,图1-2 函数体结构示意图,20,3、源程序书写格式1.所有语句都必须以分号;结束,函数的最后一个语句也不例外。2.程序行的书写格式自由既允许1行内写几条语句,也允许1条语句分写在几行上。3.允许使用注释C语言的注释格式为:/*/(1)/*和*/必须成对使用,且/和*、以及*和/之间不能有空格,否则都出错。,21,例如,main()int num1,num2;printf(Input the first integer number:);scanf(%d,如果某条语句很长,一般需要将其分写在几行上。,22,技巧:为避免遗漏必须配对使用的符号,例如注释符号

10、、函数体的起止标识符(花括号)、圆括号等等,在输入时,可连续输入这些起止标识符,然后再在其中进行插入来完成内容的编辑。在起止标识符嵌套时,以及相距较远时,这样做更有必要。(2)注释的位置,可以单占一行,也可以跟在语句的后面。(3)如果一行写不下,可另起一行继续写。(4)注释中允许使用汉字。在非中文操作系统下,看到的是一串乱码,但不影响程序运行。(5)使用/可以在一行内注释。例如:printf(max=%d,c);/输出c的值,23,C语言的语句和关键字(从第4章起将详细介绍),(一)C语言的语句 与其它高级语言一样,语言也是利用函数体中的可执行语句,向计算机系统发出操作命令。按照语句功能或构成

11、的不同,可将语言的语句分为五类。1.控制语句控制语句完成一定的控制功能。语言只有条控制语句,又可细分为三种:(1)选择结构控制语句 if()else,switch()(2)循环结构控制语句 dowhile(),for(),while(),break,continue(3)其它控制语句 goto,return,24,2.函数调用语句 函数调用语句由一次函数调用加一个分号(语句结束标志)构成。例如,printf(This is a C function statement.);3.表达式语句表达式语句由表达式后加一个分号构成。最典型的表达式语句是,在赋值表达式后加一个分号构成的赋值语句。例如,nu

12、m=5 是一个赋值表达式,而num=5;却是一个赋值语句。4.空语句空语句仅由一个分号构成。显然,空语句什么操作也不执行。例如,下面就是一个空语句:;,25,5.复合语句复合语句是由大括号括起来的一组(也可以是1条)语句构成。例如:main()/*复合语句。注意:右括号后不需要分号。*/复合语句的性质:(1)在语法上和单一语句相同,即单一语句可以出现的地方,也可以使用复合语句。(2)复合语句可以嵌套,即复合语句中也可出现复合语句。,26,(二)关键字 C语言的关键字共有32个,根据关键字的作用,可分其为数据类型关键字、控制语句关键字、存储类型关键字和其它关键字四类。(1)数据类型关键字(12个

13、):char,double,enum,float,int,long,short,signed,struct,union,unsigned,void(2)控制语句关键字(12个):break,case,continue,default,do,else,for,goto,if,return,switch,while(3)存储类型关键字(4个):auto,extern,register,static(4)其它关键字(4个):const,sizeof,typedef,volatile,27,1.4简单的C程序介绍,int max(int x,int y)int z;if(xy)z=x;else z=y

14、;return z;,你会分析这个子程序的结构吗?,28,1.5 运行C程序的步骤与方法,在微机上通常使用的语言编译系统有Turbo C、Borland C、Visual c+6.0 等。其中,在早期Turbo C 是在pc机上用的最多的。为了易于以后的c+过渡,建议大家熟悉并用Turbo C,vc+6.0环境。,29,1.5运行C程序的步骤与方法,编辑,编译,连接,运行,.c,.exe,.obj,有错,编辑程序,编译程序,连接程序(库函数),源程序,目标程序,可执行程序,结果,30,1.5 运行C程序的步骤与方法,1.C程序的建立过程 编辑源程序(.CPP或.C)编译(.OBJ)连接(.EX

15、E)执行结果,2.上机操作步骤使用的C语言系统:Turbo C+3.0运行应用程序:TC.EXE编辑源程序(.CPP):按F3键可输入源程序文件名编译+连接:按F9实现运行源程序:Ctrl+F9观察运行结果:Alt+F5,运行TC,VC,31,C语言的上机步骤(1),C语言的上机执行过程,C编译系统,32,C语言的上机步骤(2),1.用Turbo C 运行C程序的步骤(1).如何进入Turbo C环境:双击桌面快捷方式(目标为c:tctc.exe)+全屏切换(2).进入Turbo C环境后,必须进行必要的环境变量的(参数)的设置,然后即可开始编辑程序。参数设置主要包括:include目录、li

16、b(库文件)目录、输出目录等。(见下图)在机房可以将输出目录设置在D盘。(3).Turbo C中无法使用windows中的选择、复制、粘贴。一个可行的方法是,将程序复制到“记事本”中,并保存成.c文件格式(也是纯文本文件)。,33,34,Include directories指“包含文件”所在的目录,系统显示出默认的子目录.Library directories 指库文件所在的目录,系统显示出默认的子目录。Output directory是指定输出文件(.obj文件和.exe文件)存放的目录。,35,C语言的上机步骤(3),(3).如何执行程序 用+或+,来执行一个程序;用+查看运行结果;(4

17、).如何存储程序用或+,,然后输入文件名进行存储。(5).如何退出Turbo C状态用+或+,,可退出Turbo C状态。(6).如何调出已存在的文件用或+,,然后输入文件名,就可以调出已有文件。,36,C语言的上机步骤(4),2.在Visual C+6.0中如何运行程序(1).新建源程序“文件新建文件C+Source Files”(2).源程序的保存“文件保存”。源程序扩展名可为.cpp(默认)或.c(3).源程序的编译,链接,运行“组建Compile”“组建Build”“组建Execute”,37,1、编辑方法一:先创建C源程序方法二:先创建空工程2、编译和链接组建|编译 Ctrl+F7组

18、建|构件 F7 3、执行编译|执行 Ctrl+F5注意:开始新建一个新的程序时,要选菜单“文件”-”关闭工作空间“,Visual C+集成开发环境,文件|新建,方法一:先创建C源程序,文件标签,文件类型,文件名,目录,方法二:先创建空工程步骤1,工程标签,工程类型,工程名,目录,方法二:先创建空工程步骤2,选择空工程,方法二:先创建空工程步骤3,文件标签,文件类型,文件名,选中此项,42,上机操作要求,预习、书写实验预习报告预习报告中书写清楚任务(题目),对应程序设计思路或者以及自己编写的程序预先假设的错误处理对策,43,实验一 C语言的运行环境和运行C程序的方法,实验内容:习题1.51.8,

19、将所有程序抄写在作业本上,并在TC和C+两种环境中运行。实验目的:主要是熟悉 TC和C+环境的使用,以及对C语言程序的基本结构的认识。(以实验大纲为准),44,说明,C 程序设计同其他程序设计一样,是实践性很强的课程。除了要听好课,多看教材和课外书外(特别提醒,应该仔细阅读课本,老师课堂上很多内容并没有介绍),还需大量的上机实践才能更好地理解和掌握所学到的内容。一般来说,上机和讲课时间之比应不少于1:1。但由于目前学校安排的教学时数限制,课内时间将更多的精力用于讲课上,课内安排的上机时间相对较少,大家不要因此对上机的重要性有所误解。大家应在课外再花一定的时间进行C 语言的上机实践,这样才能学好

20、该门课。上机实验的目的有以下几个方面:验证所编写的程序的正确性。进一步理解教材和课堂授课中介绍的内容熟练地掌握C 程序开发环境的使用,为今后开发大型软件打好基础。学习和掌握一般程序的调试和测试方法。,45,关于实验,上机前应充分做好以下准备工作:复习和掌握与本次实验有关的教学内容。根据本次实验的内容,在纸上编写好准备上机调试的程序,并初步检查无误。准备好对程序进行测试的数据。对每种测试数据,给出预期的程序运行结果。预习实验步骤,对实验步骤中提出的一些问题进行思考。上机实验后,应及时根据实验的结果写出实验报告,实验报告应包括以下内容:实验目的和内容。程序说明,包括程序结构、各模块的算法(N-S

21、图表示)。调试正确的源程序。程序运行记录(包括对不同测试数据的运行结果)。针对实验步骤中提出的问题,写出解决办法及对运行结果的分析。,46,怎样学习C 语言,很多同学对学习程序设计语言感到很难,究竟怎样才能学好?这里将我对程序语言的理解给大家介绍一下提起兴趣首先要明确学习的目标,没有明确的学习目标就没有学习动力。给自己定一个目标,比如这次一定通过课程考试,或者这个月学习完做个东西出来等等。其次,确定了目标之后,要认真去做,多上机操作实践,遇到不懂的要多跟教师和其他同学交流,千万不能放弃。当自己编的一段小程序运行通过,或攻下一道难题,自己就会获得一种成就感,可能还会很兴奋,也就渐渐有了兴趣。最后

22、,要把所学的知识运用到实际问题当中,这样既可以巩固所学的知识,不至于完学了就忘,还可以根据实际需要拓展知识面。这样良性循环,兴趣也会越来越浓。,47,怎样学习C 语言(续),学习计算机语言最好的方法是什么?答曰:读程序,模仿程序。没错,读程序是学习C 语言入门最快,也是最好的方法。不要总是抱着书本逐行啃,而是学习它们的例程。学习完每一章,都要认真体会这一章的所有概念,然后不放过这一章中提到的所有例程,仔细研读程序,直到每一行都理解了,然后找几个编程题目,最好是和例程类似的或一样的,自己试图写出这段已经读懂的程序,不要以为例程你已经读懂了,你就可以写出和它一样的程序,绝对不一定,不相信你就试一试

23、吧,如果写不出来,也不要着急,回过头来再继续研究例程,想想自己为什么写不出来,然后再去写这段程序,反反复复,直到你手到擒来为止。这一过程,就和我们学习任何其他语言比如英语和汉语一样。我们大家都有体会,我们学习一门语言,都是从最基本的语法开始,然后学习一些字和词,再来学习一些词组或句子,然后再用词组和句子组成一段话,表达一个简单的意思,最后才是写一篇文章或者是一本书,表达更复杂的思想。我们知道,在我们完成这一过程时,并不是像说得这么简单。在我们能写出一篇好的文章或者一本好书之前,我们可能需要阅读大量的其他人写的好文章或好书,有时我们还要把它们背下来;同样的,在我们写出一个好的程序或者软件前,我们

24、也需要阅读大量的样本例程或者软件的源代码,甚至要背一些好的程序代码(当然是理解的前提下再记忆)。,48,怎样学习C 语言(续),写程序的最高境界其实就是掌握各种解决问题的手段(数据结构)和解决问题的方法(算法)-当然,要充分理解“计算机”的方法,因为我们是在用计算机解决问题。那么怎样才算精通程序设计呢?怎样才能精通程序设计呢?举个例子:你面前有10 个人,找出一个叫“张三”的人,你该怎么办?第一种方法:直接对这10 个人问:“谁叫张三”。第2 种方法:你挨个去问“你是不是张三?”,直到问到的这个人就是张三。第三种方法:你去挨个问一个人“你认不认识张三,指给我看”。不要小看这个问题,你说当然会选

25、第一种方法,没错恭喜你答对了,因为这个方法最快,效率最高(可惜,这不是计算机的方法),但是在程序设计中找到解决问题的最优方法和你用的手段却是考验一个程序员程序设计水平的重要标志,而且是不容易达到的。,49,几句话,不要只见树木,不见森林。虽然无树不成林,基本操作总是必要的,但只会瑣屑的操作和繁杂的语法,能解决实际问题吗?学习编程并不一定需要太多数学功底。甚至很多时候都是不需要数学的。比较需要的是逻辑概念和缜密的思路,以及强烈的兴趣。编写程序过程中多半只是把别人的数学成果拿来用(以算法形式,当然要能够理解别人的算法这个也是需要不断学习和积累),这是很容易的一件事。只有在特殊应用领域才需要自行开发数学模型。,50,作业,P13 1.5 1.6 1.7,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号