您好,欢迎访问三七文档
基于C语言的程序设计软件教研室周溢辉zhouyh610@sohu.com课程简介为何学习学习内容学习目标如何学习为何学习?1.C语言程序是程序设计的基础2.可以熟悉程序设计的基本思想和基本方法3.C语言与其他语言相比•语句简练、书写方便•数据类型丰富、功能强大•可移植性好4.C语言是结构化程序设计语言的代表5.为后续程序设计课程打基础学习内容(1/2)1.C语言语法规则2.C语言程序结构3.C语言程序描述—NS图4.C语言程序编码5.C语言程序调试学习内容(2/2)第1章程序设计概述1周第2章C语言的基本知识1周第3章顺序结构的程序设计1周第4章选择结构的程序设计1周第5章循环结构的程序设计1周第6章数组的程序设计2周(重点)第7章模块化的程序设计2周(重点)第8章指针的程序设计2周(重点)第9章构造的数据类型1周第10章编译预处理与位运算1周第11章文件的程序设计1周(重点)第12章图形程序设计(自学)学习目标1.会阅读C语言程序2.会读懂图示算法描述•NS图•流程图3.根据算法描述会编写C语言程序4.熟悉常用的程序设计算法•递推法.排序法•穷举法.查找法5.会用VC++调试C语言程序示例1示例2示例3如何学习(1/2)多读:多读别人写的程序多写:更根据已有的程序,按照新的要求改写程序多调:多上机调试程序如何学习(2/2)考核:考勤+上机练习+期末考试教材:王桂芝《基于C语言的程序设计》,电子工业出版社,2009.3参考资料:•谭浩强.C语言程序设计.清华大学出版,2001•刘迎春王磊.C语言程序设计.北京大学出版社,2006•郑平安等.程序设计基础(C语言)第二版.清华大学出版社,2006•图书馆:杂志+网络第1章程序设计概述本章主要内容:1.1计算机系统的工作原理1.2程序设计的基本知识(重点)1.3算法的描述方法(重点)1.4C语言概述1.5TC编程环境简介(VisualC++6.0环境)1.6上机实训本章教学要求:了解C语言的基本特点熟悉C程序的基本结构和程序设计的方法步骤掌握算法描述的方法1.1计算机系统的工作原理(1/2)1.1.1计算机系统的组成•计算机系统由计算机硬件和计算机软件两部分组成。•计算机硬件一般包括中央处理器(CPU即运算器和控制器)、内存储器、外存储器、输入设备和输出设备。硬件间的关系如图1-1所示。•计算机软件是指组成计算机系统的程序、数据和文档。软件的作用如图1-2所示。1.1计算机系统的工作原理(2/2)1.1.2.计算机工作过程1.指令和程序的概念。指令:是让计算机完成某个操作所发出的命令,即计算机完成某个操作的依据。程序:是指令的有序序列。2.指令的执行过程。取指令阶段,分析指令阶段,执行指令阶段3.程序的执行过程。计算机在运行时,从内存读出一条指令到CPU内执行,指令执行完后再从内存读出下一条执行。1.2程序设计的基本知识(1/7)1.2.1程序设计概念•程序设计就是设计程序,而程序=算法+数据结构,算法必须与计算机处理问题的步骤相一致。所以,程序设计的主要考虑两个因素,就是算法和数据结构。1.算法•算法是为解决某个特定问题而采取的确定且有限的步骤。•算法的要素主要是操作和控制结构。1.2程序设计的基本知识(2/7)•计算机的基本操作有:算术运算、关系运算、逻辑运算、数据传送即赋值运算。•算法的基本控制结构有顺序、选择和循环三种。•算法具有以下三个特性:有穷性。一个算法通过若干步骤即可实现预定目标,算法的每一步都可以在合理的时间内完成。确定性。算法中的每一条指令都必须有确切的含义,同样的步骤、同样的条件结果也是相同的。输入和输出。1.2程序设计的基本知识(3/7)2.数据结构•数据结构是相互之间存在一种或多种特定关系的数据元素的集合。•从计算机语言上看,数据结构体现为数据类型。数据类型是一个值的集合和定义在这个值集上的一组操作的总称。它是信息特性的抽象。3.算法与数据结构的关系•算法是从计算机操作的角度对解题过程的抽象;数据结构是从如何组织被处理对象的角度进行抽象。这两种抽象相互依赖,互为补充,有效地降低了问题的复杂性。1.2程序设计的基本知识(4/7)1.2.2程序设计步骤1.数据存储2.数据输入3.数据处理4.数据输出1.2程序设计的基本知识(5/7)1.2.3程序设计语言•程序设计语言,也称为编程语言,是一组用来定义计算机程序的语法规则。它是一种被标准化的交流技巧,用来向计算机发出指令。程序设计语言分类:•机器语言:是由0和1组成的二进制代码指令的集合,计算机CPU能够直接识别并执行,不需要任何翻译程序。•汇编语言:是用助记符表达的计算机语言,是一种符号语言。•高级语言:是用近似人类语言和数学描述表示的标准。1.2程序设计的基本知识(6/7)1.2.4程序设计方法1.结构化的程序设计方法•结构化程序设计方法可归结为“程序=算法+数据结构”,其核心是算法设计,是一种面向过程的设计方法,数据与数据处理分离。如图1-5所示。2.面向对象的程序设计方法•面向对象的设计思想模拟人们对自然界认识和处理事物的方法,将数据和对数据的处理方法放在一起,形成一个相对独立的整体--对象,对同类型对象抽象出共性,形成类。如图1-6所示。1.2程序设计的基本知识(7/7)1.2.5程序设计评判标准1.正确性•正确性是指给出正确的数据,得到正确的结果。2.易读性•易读性是指编写的程序不但自己很容易看懂(即使隔了很长时间),而且别人也很容易看懂。3.健壮性•健壮性是指对错误的数据有相应的处理,程序容易维护。4.可移植性•可移植性是指编写的程序在不同机型的同一语言环境下仍然能够正确运行。1.3算法的描述方法(1/5)•算法是为解决某个特定问题而采取的确定且有限的步骤,算法的描述方法也多种多样。1.3.1采用自然语言描述•采用自然语言对算法进行的描述称为伪代码。•伪代码描述算法没有统一规定,写出来只要自己或别人能看懂就行。•例如:已知圆的半径求圆的面积,算法可以描述为:(1)输入半径r;(2)计算面积s=3.14×r2;(3)输出面积s。1.3算法的描述方法(2/5)1.3.2采用图形方法描述1.传统流程图•美国国家标准化协会ANSI(AmericanNationalStandardInstitute)规定了一些常用的流程图符号,表示程序的执行步骤与控制流向,这就是程序流程图。•允许任意转向,形象直观,简单方便。2.N-S流程图•N-S流程图是由美国学者I.Nassi和B.Shneiderman于1973年提出来用于描述算法的一种形式。算法的每一步都用一个矩形框来描述。把一个个矩形框按照执行的先后次序连接起来就构成了一个完整的算法描述。1.3算法的描述方法(3/5)1.3.3采用计算机语言描述•采用计算机语言对算法进行的描述,也就是计算机程序。•采用计算机语言描述算法的关键是养成一种良好的程序书写风格。•程序书写风格是程序设计人员在长期编程过程中所养成的一种书写程序的习惯。•要养成良好的程序书写风格需要从以下几个方面入手:结构化编码程序的清晰性变量和表达式输入和输出程序的效率程序注释1.3算法的描述方法(4/5)1.3.4算法描述举例【例1-1】求前N个自然数的和。•分析:用计算机解决这个问题,首先,考虑这N个自然数存放在哪?其和存放在哪?其次,考虑这N个自然数如何输入到计算机中;再次,考虑求和问题;最后,考虑如何把和显示出来。1.3算法的描述方法(5/5)用自然语言描述:用N-S图描述如图1-9所示。用流程图描述如图1-10所示。用C语言描述:1.4C语言概述(1/3)1972年,贝尔实验室为了克服B语言的诸多不足,在B语言的基础上重新设计了一种语言,由于是B语言的后继,故称为C语言。1C语言的发展•1972年美国贝尔实验室的布朗·W·卡尼汉和丹尼斯·M·利奇两人不愿用汇编语言编写UNIX操作系统,便对BCPL语言进行了改造,改造后的BCPL语言命名为C语言,并用C成功地改写了UNIX操作系统。•1983年美国标准化协会(ANSI)制定了C语言标准,1987年进行了修订完善。•目前PC机上广泛使用的C语言有TurboC、MicrosoftC、QuickC等版本都是以ANSIC为标准的。1.4C语言概述(2/3)2C语言的特点(1)语言简洁。C语言只有32个关键字,除BASIC语言外,是所有计算机语言中关键字数量最少的语言。(2)运算符丰富。C语言有44种运算符,是目前计算机语言中具有运算符最多的一门高级语言。运算符多,可运算的对象种类也多。(3)数据结构丰富。C语言提供了多种特殊的、其它语言中所没有的数据类型,这些类型保证了C程序良好的结构化特性。(4)具有良好的可移植性和丰富的函数库。C程序本身不依赖机器硬件,所以具有良好的可移植性。(5)C程序生成的目标代码的质量高。C语言主要的优点在于适合编写系统软件,也适合于编写应用软件。1.4C语言概述(3/3)•C语言程序的组成•C程序是由函数组成的,至少包含一个函数(main函数);•C程序常使用英文小写字母,C语言严格区分大小写字母;•C程序是由一条条语句组成的,语句以分号结束;•C语言程序中,一个语句可以占多行,一行可以有多个语句;•C语言程序用大括号来表示结构层次范围,大括号成对;•可以用/*…*/对语句进行注释;•所有的字母和符号是半角状态。1.5TC编程环境简介TurboC是美国Borland公司开发的C语言集成开发环境,集程序的编辑、编译、连接、运行于一体,具有良好的程序编辑和调试界面。1.5.1TurboC2.0上机环境1.5TC编程环境简介1.5.2C程序调试步骤1.编辑•编辑是建立或修改C源程序文件的过程,并以文件的形式存储在磁盘上,C源程序文件的扩展名为“.c”。2.编译与连接•编译是通过编译器将源程序转换为机器代码,生成目标程序的过程。在C语言源程序的编译过程中,可以检查出程序中的语法错误。连接是把一个C语言应用程序与所用到的库函数以及其他目标程序连接为一个整体,生成可执行文件(*.exe)的过程。3.运行•生成的可执行文件,既可在编译系统环境下运行,也可以脱离编译系统直接执行。4.其他操作•修改系统路径;调试程序;打开源程序等。1.6上机实训1.6.1实训一:简单的C程序1.实训目的•观察以下两个程序,体会C语言程序的构成和书写规则。2.实训要求(1)从Windows环境进入VC++6.0。(2)严格按照程序的缩进格式输入程序代码(注意使用Tab键)。1.6上机实训3.实训内容参考《上机实训及习题解答》P3(1)进入VC++6.0,并调试下列程序。#includestdio.h/*文件包含*/main()/*定义主函数*/{printf(Welcometotheworld!\n);/*输出欢迎语句*/}(2)进入VC++6.0,并调试下列程序。#includestdio.hmain(){intnum1,num2,sum;/*定义3个整型变量*/num1=1;/*将1赋给变量num1*/num2=99;/*将99赋给变量num2*/sum=num1+num2;/*计算两个数之和,然后赋给变量sum*/printf(sum=%d\n,sum);/*输出结果:sum=100,’\n’表示回车换行*/}1.6上机实训1.6.2实训二:带子函数的C程序1.实训目的•观察以下程序,体会带函数的C语言程序的构成和书写规则。2.实训要求(1)从Windows环境进入VC++6.0。(2)严格按照程序的缩进格式输入程序代码(注意使用Tab键)。3.实训内容参考《上机实训及习题解答》P4。试一试:编写C语言程序,实现下列输出:***************verygood!***************printf(“****\n”)或者:**********第一章内容结束!学习目标示例1#includestdio.hvoidmain(){intsj
本文标题:c语言教程
链接地址:https://www.777doc.com/doc-3377441 .html