
1 1C语言程序设计课程简介语言程序设计课程简介 C C语言是当今使用最广泛的高级语言是操作系统、语言是当今使用最广泛的高级语言是操作系统、编译系统等大型复杂系统的首选语言。实践证明用该编译系统等大型复杂系统的首选语言。实践证明用该语言编写的程序灵活、方便、简洁、高效、数据结构语言编写的程序灵活、方便、简洁、高效、数据结构丰富、功能齐全。丰富、功能齐全。C C语言自问世以来很快就流行于全语言自问世以来很快就流行于全世界并为各种规模的通用计算机所必备。世界并为各种规模的通用计算机所必备。同时同时C C语言以其灵活方便的特点成为培养学生计语言以其灵活方便的特点成为培养学生计算机语言思维了解计算机编程思想的最佳语言它已算机语言思维了解计算机编程思想的最佳语言它已被当今国内外众多主要高校列为各理工科专业必修课程。被当今国内外众多主要高校列为各理工科专业必修课程。2教学要求教学要求达到三个层面的教学达到三个层面的教学掌握掌握C C语言的基本结构、各种数据类型和控制流程语言的基本结构、各种数据类型和控制流程的语法、语义和语用。的语法、语义和语用。学习运用计算机语言进行程序设计的思想和方法学习运用计算机语言进行程序设计的思想和方法初步受到程序设计方法、技巧、风格和素养的训初步受到程序设计方法、技巧、风格和素养的训练。练。熟悉并掌握一些常用基本熟悉并掌握一些常用基本算法和算法和C C语言程序设计技术语言程序设计技术培养学生利用培养学生利用C C语言解决一语言解决一般问题的程序设计能力。般问题的程序设计能力。3课时安排第第1 1章章C C语言程序设计概述语言程序设计概述 2 2课时课时第第2 2章数据类型、运算符和表达式章数据类型、运算符和表达式 6 6课时课时 第第3 3章章C C程序的基本控制结构程序的基本控制结构 8 8课时课时 第第4 4章数组章数组 8 8课时课时 第第5 5章指针章指针 8 8课时课时 第第6 6章函数章函数 8 8课时课时 第第7 7章自定义数据类型章自定义数据类型 4 4课时课时第第8 8章文件章文件 自修自修 第第9 9、1010章章 自修自修4第第1章章 C语言程序设计概述语言程序设计概述l1.1 程序设计概述程序设计概述l1.2 C语言简介语言简介l1.3 C语言编程环境语言编程环境5教学目的和基本要求教学目的和基本要求要求学生了解程序语言及算法的概念C语言特点C程序开发过程简单C程序结构。教学重点教学重点C程序开发过程、简单C程序结构。61机器语言机器语言l一种用二进制数“0”和“1”表示计算机各种操作的程序设计语言。l 如如加法指令加法指令:1 0 0 0 0 0 0 0l 减法指令减法指令:1 0 0 1 0 0 0 0l特点计算机可以直接识别和执行效率高特点计算机可以直接识别和执行效率高l 节省内存但难以阅读和记忆。节省内存但难以阅读和记忆。1.1 1.1 程序设计概述程序设计概述92汇编语言汇编语言l一种用助记符来表示各种基本操作的程序设计语言。一种用助记符来表示各种基本操作的程序设计语言。如如ADD A,B SUB A,Bl特点计算机不能直接识别和执行用汇编语言编写的源特点计算机不能直接识别和执行用汇编语言编写的源程序它必须经过一个叫程序它必须经过一个叫汇编程序汇编程序的系统软件翻译成机的系统软件翻译成机器语言程序即目标程序后才能执行。器语言程序即目标程序后才能执行。1.1 1.1 程序设计概述程序设计概述103高级语言高级语言l一种用接近自然语言和数学语言的语法、符号描述基一种用接近自然语言和数学语言的语法、符号描述基本操作的程序设计语言。本操作的程序设计语言。l高级语言编写的程序不依赖于具体的机器提高了编高级语言编写的程序不依赖于具体的机器提高了编程效率。计算机不能直接执行使用高级语言编写的程程效率。计算机不能直接执行使用高级语言编写的程序需用专门的翻译程序将其转换成机器语言程序后序需用专门的翻译程序将其转换成机器语言程序后才能执行。才能执行。1.1 1.1 程序设计概述程序设计概述111.1.2 程序设计的一般过程程序设计的一般过程 l程序设计就是程序设计就是分析问题、编写程序、调试程序分析问题、编写程序、调试程序的过程。的过程。l程序设计步骤如下程序设计步骤如下l1分析要解决的问题明确任务分析要解决的问题明确任务l2分析问题建立数学模型并选择合适的解决方案分析问题建立数学模型并选择合适的解决方案l3确定数据结构和算法数据结构确定数据结构和算法数据结构 算法算法程序程序l4编写程序编写程序l5调试程序调试程序 l6整理资料交付使用整理资料交付使用 1.1 1.1 程序设计概述程序设计概述121.结构化程序设计方法结构化程序设计方法l设计程序时只能使用顺序、选择、循环顺序、选择、循环三种基本结构。l结构化程序设计强调程序设计风格和程序结构的规范化提倡清晰的结构。l结构化程序设计方法的基本思路是把一个复杂问题的求解过程分阶段进行每个阶段处理的问题都控制在人们容易理解和处理的范围内。l(1)自顶向下(2)逐步细化(3)模块化设计(4)结构化编码。1.1.3 程序设计的方法程序设计的方法1.1 1.1 程序设计概述程序设计概述132.程序设计的基本原则程序设计的基本原则l正确性正确性它是判断程序质量的首要标准。l可靠性可靠性程序在多次反复使用过程中不失败的概率。l简明性简明性简明性的目标是要求程序简明易读。l有效性有效性有效性就是要在一定的软、硬件条件下反映出程序的综合效率。l可维护性可维护性程序的可维护可分为校正性维护、适应性维护和完善性维护。l可移植性可移植性程序主要与其所完成的任务有关但也与它的运行环境有着一定的联系。软件的开发应尽可能远离机器的特征以提高它的可移植程度。1.1 1.1 程序设计概述程序设计概述141.2.1 C语言出现的历史背景语言出现的历史背景l1978年由美国电话电报公司(ATT)贝尔实验室正式发表了C语言。早期的C语言主要是用于Unix系统。l在C的基础上1983年又由贝尔实验室的Bjarne Strou-strup推出了C。C进一步扩充和完善了C语言成为一种面向对象的程序设计语言。C目前流行的最新版本是Borland C4.5,Symantec C6.1,和Microsoft Visual C2.0。lC是C的基础C语言和语言在很多方面是兼容的。目前可在微机上运行的语言版本主要有Microsoft C/C,Turbo C,Quick C,Visual C/C等版本。1.2 C1.2 C语言简介语言简介151.2.2 C语言的特点语言的特点l1C语言是语言是“中级中级”语言语言 将高级语言的基本结构 和语句与汇编语言的控制和灵活性有机地结合l2C语言是结构化语言语言是结构化语言 代码及数据的分隔化l3C语言功能齐全语言功能齐全 具有各种各样的数据类型l4可移植性可移植性 具有较高的移植性1.2 C1.2 C语言简介语言简介161.2.3 C语言字符集语言字符集1 1、英文字母大小写各、英文字母大小写各2626个共计个共计5252个个2 2、十进制数阿拉伯数字、十进制数阿拉伯数字0909共共1010个数字个数字3 3、标点符号逗号、分号、单引号、双引号、冒号、空格、标点符号逗号、分号、单引号、双引号、冒号、空格、左右花括号、回车左右花括号、回车(CR)(CR)等。等。4 4、空白符、空白符 空格符、制表符、换行符等统称为空白符。空格符、制表符、换行符等统称为空白符。5 5、特殊符号通常指由、特殊符号通常指由1 12 2个符号组成的运算符。个符号组成的运算符。算术运算符算术运算符、-、*、/、%、、-关系运算符关系运算符、、、条件运算符条件运算符?:?:和赋值运算符和赋值运算符其他分隔符其他分隔符()()、.,;.,;1.2 C1.2 C语言简介语言简介171.2.4 C语言标志符与关键字语言标志符与关键字1、标志符也称标识符、标志符也称标识符用来标识变量名、符号常量名、函数名、类型名、文件名等用来标识变量名、符号常量名、函数名、类型名、文件名等的有效字符序列。的有效字符序列。(类似于自然语言中各种事物的名字类似于自然语言中各种事物的名字)C语言规定语言规定标识符只能由字母、数字和下划线三种字符组成且标识符只能由字母、数字和下划线三种字符组成且第一个字符必须为字母或下划线。第一个字符必须为字母或下划线。例如例如以下标志符是合法的以下标志符是合法的_22Alea_1avg3dayABCde43xyw8 以下标志符是非法的以下标志符是非法的8Tea $_238a*b#xy1.2 C1.2 C语言简介语言简介注注意意在在C语语言言中中大大小小写写字字母母不不等等效效。因因此此a和和AI和和iSum和和sum分别是两个不同的标识符分别是两个不同的标识符182、关键字、关键字 具有特定含义的的字符串也称为具有特定含义的的字符串也称为保留字保留字。用户定。用户定义的标志符不应与关键字相同不能用来作自定义标识义的标志符不应与关键字相同不能用来作自定义标识符。类似于自然语言中的有特定意义的单词、词汇符。类似于自然语言中的有特定意义的单词、词汇1.2 C1.2 C语言简介语言简介19l由由ANSI标准推荐的关键字有标准推荐的关键字有32个常用的有个常用的有与数据类型有关的与数据类型有关的l char int float double signed unsigned l short long void struct union typedef l enum sizeof 与存储类别有关的与存储类别有关的l auto extern register static 与程序控制结构有关的与程序控制结构有关的do while for if else switch case default goto continue break return1.2 C1.2 C语言简介语言简介201.2.5 C语言程序的基本结构语言程序的基本结构1、C源程序的基本结构源程序的基本结构l例例C语言的经典例题语言的经典例题“Hello,world!”。l具体程序代码如下具体程序代码如下:#include main()printf(“Hello World!n”)1.2 C1.2 C语言简介语言简介212、C语言程序的结构特点语言程序的结构特点一个一个C语言源程序可以由一个或多个语言源程序可以由一个或多个源文件源文件组成。组成。一个完整的一个完整的C程序由若干个程序由若干个函数函数组成至少有且仅有一组成至少有且仅有一个个main函数每个函数包括函数每个函数包括函数说明部分函数说明部分 变量定义变量定义 函数体函数体 语句部分语句部分1.2 C1.2 C语言简介语言简介22 C语言中的语言中的语句语句必须以必须以分号分号作结束标志但预处作结束标志但预处理命令函数头和花括号理命令函数头和花括号“”之后不能加分号。之后不能加分号。由由“/*”与与“*/”之间的内容构成之间的内容构成C语言程序的注释部语言程序的注释部分。分。用预处理命令用预处理命令#include可以包含有关文件的信息。可以包含有关文件的信息。在在C C语语言言中中区区分分大大小小写写如如MainMain、MAINMAIN、mainmain、maiNmaiN是是不相同不相同的的。1.2 C1.2 C语言简介语言简介233、书写程序时应遵循的规则不是必须的书写程序时应遵循的规则不是必须的l一个说明语句说明语句或一个可执行语句可执行语句占一行。l 用 括起来的部分通常表示程序的某一层次结构。一般与该结构语句的第一个字母对齐并单独占一行。l 低一层次的语句或说明可比高一层次的语句或说明缩进若干格后书写。以便看起来更加清晰增加程序的可读性。1.2 C1.2 C语言简介语言简介241.3.1 C语言程序的编译和执行语言程序的编译和执行C程序的计算机执行过程程序的计算机执行过程1.3 C1.3 C语言的编程环境语言的编程环境25正确正确正确正确正确正确有错误有错误有错误有错误编辑编辑 编译编译 运行运行C程序的上机过程程序的上机过程F3F3打开打开F2 F2存盘存盘F9 F9编译编译CTRLF9 CTRLF9运行运行ALTF5 ALTF5看结果看结果注意编译只能发现语法错误不能发现算法错误。注意编译只能发现语法错误不能发现算法错误。1.3 C1.3 C语言的编程环境语言的编程环境在在Turbo C2.0中调试程序的上机过程中调试程序的上机过程261.3.2 Visual C6.0编程环境编程环境1.Visual C6.0 Visual C6.0不仅是一个不仅是一个C编译器而且是一个编译器而且是一个基于基于Windows操作系统的可视化集成开发环境操作系统的可视化集成开发环境integrated development environment,IDE。。Visual C6.0由许多组件组成包括编辑器、调由许多组件组成包括编辑器、调试器以及程序向导试器以及程序向导AppWizard、类向导、类向导Class Wizard等开发工具。等开发工具。这些组件通过一个名为这些组件通过一个名为Developer Studio的组件集成为和谐的开发环境。的组件集成为和谐的开发环境。点击进入点击进入Visual C6.0 主菜单画面主菜单画面1.3 C1.3 C语言的编程环境语言的编程环境27lVisual C它大概可以分成三个主要的部分。l1Developer Studio 这是一个集成开发环境我们日常工作的99%都是在它上面完成的。l2MFC MFC也不是专用于Visual CBorland CCBuilder和Symantec C同样可以处理MFC。l3Platform SDK 这才是Visual C和整个Visual Studio的精华和灵魂。1.3 C1.3 C语言的编程环境语言的编程环境282.Visual C6.0编程环境的使用编程环境的使用 l1启动Visaul C6.0“开始”“程序”“Microsoft Visual Studio 6.0”“Microsoft Visual C6.0”1.3 C1.3 C语言的编程环境语言的编程环境29l2新建/打开C程序文件 选择“文件”菜单的“新建”菜单项单击“文件”标签在左侧列表框中选中“CSource File”在右侧文本框中输入源程序的文件名和源程序文件保存的目录路径然后按“确定”。1.3 C1.3 C语言的编程环境语言的编程环境30l3程序保存 在打开的Visual C6.0界面上可直接在编辑窗口输入程序当输入结束后保存文件系统将按C扩展名“.CPP”保存。1.3 C1.3 C语言的编程环境语言的编程环境31l4程序的运行 首先要对源程序进行编译。使用Visual C“编译build”菜单在下拉菜单中进一步选择编译Compile功能也可使用快捷键CtrlF7。1.3 C1.3 C语言的编程环境语言的编程环境32l保存文件时必须填入文件名如“abc.C”。假如不指定扩展名.CVisual C会把扩展名定义为.CPP。l如果程序没有错误窗口中不会显示出错信息。有时出现几个警告性信息不影响程序执行。假如有致命性错误双击某行出错信息程序窗口中会指示对应出错位置根据信息窗口的提示分别予以纠正然后再进行编译。l重复编辑、修改、编译的过程直到错误消除为止。然后进行连接过程。使用Visual C“编译”菜单在下拉菜单中进一步选择“组建”功能。1.3 C1.3 C语言的编程环境语言的编程环境33最后使用Visual C“编译”菜单在下拉菜单中进一步选择运行功能执行程序。当运行C程序后将自动弹出数据输入输出窗口按任意键将关闭该窗口1.3 C1.3 C语言的编程环境语言的编程环境345工作区管理 当一个程序编译连接后Visual C6.0系统自动产生相应的工作区以完成程序的运行和调试。若想执行第二个程序时必须关闭前一个程序的工作区然后通过新的编译连接产生第二个程序的工作区否则运行的将一直是前一个程序。“文件”菜单提供关闭程序工作区功能执行“关闭工作区”菜单。1.3 C1.3 C语言的编程环境语言的编程环境351.3.3Turbo C 2.0编程环境编程环境 lTurbo C 是美国Borland 公司的产品,Borland公司是一家专门从事软件开发、研制的公司。l由于Turbo C 2.0(简称TC 2.0)是基于MS-DOS的存在诸如不支持鼠标操作、字体大小不能调整、文本复制步骤烦琐、必须另外启动UCDOS等中文环境才能支持中文输入输出等缺点而这些缺陷或多或少影响了教学活动开展的效果。1.3 C1.3 C语言的编程环境语言的编程环境36l一般在教学过程中使用了一个基于TC2.0编译内核开发出来的编译环境Win-TC实际上是对TC 2.0的一个封装。对C语言的教学使用该软件的主要优点有以下几点。l1由于Win-TC是Windows程序所以在其中进行鼠标操作、程序段的复制、中文输入输出等功能变得非常方便。l2支持字体大小的调整和C程序中各种关键字符的变色显示这样教师在课程上演示程序的时候可以适当将程序的字体放大方便坐在后排的学生的观看。l3Win-TC消除了初学者设置工作目录的烦恼自动设置好工作目录。程序编写好之后就可以直接编译运行。l4中文界面提示出错信息也是中文的消除了学生由于对英文的恐惧而造成的无法正确修改程序中的错误。l5支持在运行结果中显示中文这样在程序中就可以输出中文的提示语句了。1.3 C1.3 C语言的编程环境语言的编程环境