资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,北京邮电大学出版社,C语言程序设计,1,C,语言程序设计课程简介,C,语言是使用广泛的高级语言,是操作系统、编译系统等大型复杂系统的首选语言。实践证明,用该语言编写的程序,灵活、方便、简洁、高效、数据结构丰富、功能齐全。,C,语言自问世以来,很快就流行于全世界,并为各种规模的通用计算机所必备。,同时,,C,语言以其灵活方便的特点,成为培养学生计算机语言思维,了解计算机编程思想的最佳语言,它已被当今国内外众多主要高校列为各理工科专业必修课程。,2,教学要求,达到三个层面的教学,:,掌握,C,语言的基本结构、各种数据类型和控制流程的语法、语义和语用。,学习运用计算机语言进行程序设计的思想和方法,初步受到程序设计方法、技巧、风格和素养的训练。,熟悉并掌握一些常用基本算法和,C,语言程序设计技术,培养学生利用,C,语言解决一般问题的程序设计能力。,3,课时安排,第一章:,C,语言程序设计概述,2,课时,第二章:基本数据类型与表达式,2,课时,第三章:顺序程序设计,4,课时,第四章:选择结构程序设计,4,课时,第五章:循环结构程序设计,4,课时,第六章:函数与编译预处理,4,课时,第七章:数组,4,课时,第八章:指针,4,课时,第九章:结构体数据类型与链表,2,课时,第十章:共用体与枚举类型,2,课时,第十一章:文件,4,课时,4,教学目的和基本要求:,要求学生了解程序语言及算法的概念,,C,语言特点,,C,程序开发过程,简单,C,程序结构。,教学重点:,算法的概念、,C,程序开发过程、简单,C,程序结构。,第,1,章,C,语言程序设计概述,5,1.1,程序与程序设计,1.2,算法及其描述,1.3,C,语言的发展及特点,1.4,C,语言程序的基本结构,1.5 C,语言字符集、标识符和关键字,1.6 C,语言程序的开发环境,第,1,章,C,语言程序设计概述,6,明白三个概念:语言、程序、算法,自然语言,:,人与人之间交流的工具,通过自然语言实现人与人之间的沟通,使别人能够明白的按照语言的表达来办事、工作。如:汉语、英语、德语、法语、日语等。,什么是语言?,计算机语言:,(又叫程序设计语言),人与计算机之间交流的工具,通过计算机语言实现人与计算机之间的沟通,使计算机能够明白的按照语言的表达来办事、工作。如:,C,语言、,foxpro,、,basic,、,java,、,汇编语言、机器语言等。,1.1,程序与程序设计,7,程序就是按照计算机语言的语法规则、语句格式,编制成的一段能够让计算机理解并按照执行的语句的集合。类比的说,计算机程序就好比于自然语言的一段话,或一篇文章,可以让他人理解并执行。,什么是程序?,通俗的讲,程序就是一个用计算机语言描述的,可以由计算机执行的某一问题的解决步骤。,8,人们常把编写程序的过程称为程序设计。,计算机可以直接识别和执行的二进制语言。,如:加法指令,:1 0 0 0 0 0 0 0,减法指令,:1 0 0 1 0 0 0 0,特点:,计算机可以直接识别和执行,效率高,,节省内存,;但难以阅读和记忆,。,程序设计,按照不同种计算机语言的语法编写的程序,我们把它称为某一种语言的程序。,用,C,语言编写的程序,我们称为,C,语言程序。类似的有机器语言程序、汇编语言程序、,basic,语言程序等。,程序设计语言的种类很多,从其发展历史以及功能情况来划分可以大致划分成五个阶段:,1,、,机器语言:,9,2,、,汇编语言:,用,“,助记符,”,来表示机器指令。,如:,ADD A,B,SUB A,B,计算机不能直接识别和执行用汇编语言编写的源程序,它必须经过一个叫汇编程序的系统软件翻译成机器语言程序(即目标程序)后才能执行。,3,、,算法语言:,即高级语言,不依赖于机器,降低了编程的难度。,如:,C,、,PASCAL,、,FORTRAN,等,用,+,和,-,来,表示加减运算。,计算机也不能直接执行算法语言描述的源程序,必须先经过编译程序或解释程序翻译成目标程序后,才能由计算机执行。,面向问题,简单且容易理解,main,(),int,a,b,;a=9;b=8;,a=,a+b,;,10,4,、,面向任务的程序设计语言:,是非过程化的语言,不需要知道问题是如何求解的。,例如:要从某学生表,SS,用数据库(,SQL,),查询语言获取表中记录的信息,采用,SELECT,语句,描述如下:,SELECT SSNO,SSNAME,SSAGE,SSSEX FROM SS,5,、,面向对象的程序设计语言:,认为系统是由许多对象组成的,对象通过消息相互,联系和相互作用,从而完成系统的功能。如,C+,,,设计的程序更易懂,更适合更大规模的程序开发。,数据的确定:确定数据的类型和数据的存放方式。,高级语言中用,变量定义,来实现。,操作步骤(也即算法)的确定:用,语句,来实现。,程序设计,面向过程,:解题过程看作是数据被加工的过程,,算法,+,数据结构,=,程序设,。,面向对象,:,对象,+,消息,=,程序设计,11,这类似于学习英语中的单词与句法,并正确的运用语法规则写成文章。但是光是语法规则正确的文章,并不见得准确无误的传达了作者的意思,也有可能表错了意。程序也是一样,语法规则正确的程序,却不一定正确的描述了所要解决的问题。,什么是算法?,学好程序设计语言的两步:,第一步,:掌握语言的语法规则,包括标识符、关键字、语法规则等。并能正确的运用这些语法规则编成计算机能识别的程序。,1.2,算法及其描述,12,拿到一个需要解决的问题,在编程之前,我们首先要确定的就是解决该问题的算法,只有先得出了正确的算法,才能进一步把该算法用程序语言的形式编写出来。,正确的语法,+,正确的算法,=,正确的程序,第二步:,掌握解决问题的方法和步骤。,用程序语言编程,就是用计算机看得懂的语言向计算机描述解决某个问题的方法和步骤,计算机就是按照程序的描述,一步一步执行相应操作的。所编写的程序,不但要求语法准确无误,更要求提供的步骤也准确无误,计算机才能按照要求执行出正确的结果。,我们把,对某一特定问题的求解步骤的一种描述,,称为该问题的,算法,。,13,算法应当具备以下几个方面的特点:,1,、一个算法必须保证执行有限步之后结束;,2,、算法的每一个步骤必须具有确切的定义;,3,、应对算法给出初始量;,4,、算法具有一个或多个输出;,5,、算法的每一步都必须是计算机能进行的有效操作,。,14,算法的描述方法,我们可以用自然语言来描述一个问题的解决步骤(对于程序而言即是这个程序的算法),也可以用其他一些约定的描述工具,算法的描述一般有以下方法:,1,、,自然语言:,使用人们日常进行交流的语言。如:,问题:从,a,b,中找出一个大的数给,max,。,自然语言的算法描述:,第一步:从键盘输入两个数,a,和,b,;,第二步:如果,a,比,b,大,则把,a,的值给,max,,,否则把,b,的值给,max,;,第三步:输出,max,的值。,2,、,专用工具:,借助于有关图形工具或代码符号来描述。常用的工具有流程图、,N-S,图等。,15,如用,N-S,图来描述从,a,和,b,中找大数的问题。,有了正确的算法,我们就可以按照算法一步一步的转换成相应的程序语言语句。,上面的右图就是把“从,a,和,b,中找大数问题”的算法转换成了相应的,C,语言语句。,scanf(“%d,%d”,&a,&b,);,if(ab)max=a;,else max=b;,printf(“%d,%d”,a,b);,输入,a,和,b,ab,max,a maxb,输出,max,Y,N,常用的算法有:迭代法、枚举法、递归法、递推法等。,16,3,、,程序设计语言:,算法最终要用程序设计语言来描述,计算机才能保存、翻译和执行。如用,C,语言来描述从,a,和,b,中找大数的问题。,常用的算法有:迭代法、枚举法、递归法、递推法等。,17,二、,C,语言的特点,1,、具有结构化语言的特点,用函数作为程序的组成单,位,设计出的程序简洁、紧凑、结构清晰;,2,、既有高级语言的特点,(,可移植性好,),,又有低级语言,的许多功能,(,能对硬件操作,),;,3,、提供了丰富的数据类型;,4,、语法限制不太严格,程序设计自由度大;,5,、生成的目标代码质量高,程序执行速度快。,一、,C,语言的发展概况,起源于,1968,年发表的,CPL,语言,,,目前在微型计算机上使用的有,Microsoft C,,,Quick C,,,Turbo C,等多种版本。,1.3 C,语言的发展及特点,18,#include /*,标准输入输出头文件*,/,main(),int a,,,b,,,c,,,s,;,/*,定义四个整型变量*,/,a=8,;,b=12,;,c=6,;,/*,变量赋值*,/,s=a+b*c,;,/*,算术运算并赋值*,/,printf(“s=%dn”,,,s),;,/*,输出结果*,/,一、简单的,C,语言程序示例,例,1-1,:已知三个整数,8,、,12,、,6,,,按公式,s=a+bc,计算,并显示结果。,有且仅有,一个主函数,main,是主函数名,函数体,不能丢,注释部分,函数体可有多条语句,注意:书写格式,注意:区分大小写,1.4 C,语言程序的基本结构,19,语句必须以,分号,(;)作结束标志;,由“,/*,”,与“,*,/,”,之间的内容构成,C,语言程序的注释,部分;,用预处理命令,#include,可以包含有关文件的信息。,在,C,语言中,区分,大小写,,,如,Main,、,MAIN,、,main,、,maiN,是,不相同,的,。,一个完整的,C,程序由若干个函数组成,,有且只有一个,main,函数,,每个函数包括:,函数说明部分,变量定义,函数体,语句部分,20,一、语言字符集,1,、英文字母:大小写各,26,个,共计,52,个;,2,、阿拉伯数:,09,共,10,个数字;,3,、下划线:,_,;,4,、特殊符号:通常指由,1,2,个符号组成的运算符。,算术运算符:,+-*/%+-,关系运算符:,=,条件运算符:,?:,和赋值运算符:,=,其他分隔符:,().,;,1.5 C,语言字符集、标识符和关键字,21,二,、标识符,就是用来标识变量名、符号常量名、函数名、类型名、文件名等的有效字符序列。,(,类似于自然语言中各种事物的名字,),C,语言规定:,标识符只能由字母、数字和下划线三种字符组成,且第一个字符必须为字母或下划线。,例如:,合法标识符,:_22A,,,lea_1,,,avg3,,,day,,,ABCde43xyw8,不合法标识符:,M.J.YORK,,,$_238,,,#,xy,,,a*b,,,8Tea,注意:,在,C,语言中,大小写字母不等效。因此,,a,和,A,,,I,和,i,,,Sum,和,sum,,,分别是两个不同的标识符,22,三、关键字,就是具有特定含义的标识符,用户不能用来作自定义标识符。由,ANSI,标准推荐的关键字有,32,个,常用的有:,与数据类型有关的:,char int float double signed unsigned,short long void struct union,typedef,enum,sizeof,与存储类别有关的:,auto extern register static,与程序控制结构有关的:,do while for if else switch case,default,goto,continue break return,23,1.6 C,语言程序的开发环境,正确,正确,正确,有错误,有错误,编辑 编译 运行,C,程序的计算机执行过程:,C,程序的上机过程:,F3,(,编辑),F2,(,存盘),F9,(,编译),CTRL+F9,(,运行),ALT+F5,(,看结果),注意:编译只能发现语法错误,不能发现算法错误。,24,Turbo C,主菜单画面,:,在编辑过程中:,可使用块操作命令:,CTRL+KB(,块首定义,),,,CTRL+KK(,块尾定义,),,,CTRL+KC(,块复制,),,,CTRL+KY(,块删除,),,,CTRL+KV(,块移动,),,,CTRL+KH(,块删除,),快捷键命令:,CTRL+Y(,删除光标所在的一行,),25,为了操作的方便,应记住,TC,中的一些常用功能键:,F1:,帮助。,F2,:,将当前文件存盘。,F3,:,装载原有文件或给新文件命名。,F4,:,程序运行到光标所在行。,F5,:,放大或缩小活动窗口切换。,F6,:,开或关活动窗口切换。,F7,:,单步运行程序,跟踪进入函数内部运行。,F8,:,单步运行程序,不跟踪进入函数内部。,F9,:,生成可执行文件。,F10,:,菜单与活动窗口相互切换。,CTRL+F9:,当前编辑环境下,进行编译、连接且运行程序。,ALT+F5:,将窗口切换到,DOS,环境,用来查看程序运行结果。,26,本章小结,通过本章的学习,大家应对计算机语言及程序设计的概念,,C,程序的组成特点,,C,程序的运行过程有一个初步了解。,学习,C,语言程序设计,掌握,C,语言语法规则和程序设计方法,培养编程技能是很重要的。,C,语言相对其它高级语言来说要相对难一些,但只要认真对待,学习程序设计好的方法就是在掌握语法规则的基础上,,多分析阅读,别人写的程序,,多自己动手编写一些小程序,,,多上机,调试运行程序,做到这,3,个“多”字,学习好,C,程序设计就不难了。,27,本章作业,P12,习题,1,2,、,4,、,7,、,28,本章结束,再见!,同学们:,29,
展开阅读全文