1、教学重点、难点第一章 C 语言概述1. C 语言的特点2. C 源程序的基本结构3. 标识符与保留字第二章 基本数据类型、变量、常量、运算符与表达式1 基本数据类型(整型,实型,字符型)的存贮长度、表示数据范围2 整型、实型、字符型(换码字符) 、字符串常量3 所有运算符(1) 算术运算符:,(注意整型除法运算的特点)(2) 关系运算符:,!,(3) 逻辑运算符:&,|,!(4) 位运算符:,& ,| ,(5) 自增减运算符(,)(6) 赋值运算符:,自反赋值运算(7) 其它运算符:强制类型转换,求类型长度,?: 表达式4 运算符的结合性与优先级顺序5 不同数据类型混合运算规则与赋值类型转换规
2、则第三章 简单程序设计1单字符输入输出函数:getchar 与 putchar2格式化输入输出函数:scanf 与 printf3简单顺序程序设计4if 语句6switch 语句7条件分支结构程序设计第四章 循环控制语句1 goto、while 、dowhile、for2 循环嵌套使用3 循环结构程序设计第五章 数组1 数组的定义与初始化方法2 静态数组的特点 3 字符数组4 字符串的存贮格式第六章 函数1 常用系统库函数的使用2 函数定义方法(标准 C 与 ANSIC 形式)3 函数的结束与返回函数值的方法4 函数的参数传递(特别是数组与指针参数)5 函数的递归调用6 变量的四种存贮类型(a
3、uto,extern,register,static) ,特别是 static 变量的特点7 局部变量与全局变量(变量的作用域,静态与动态存贮区)8 外部函数与内部函数9 变量的说明与函数说明第七章 指针初步1 指针的概念、指针常量2 指针的运算与指针表达式3 取地址运算符&与取对象运算符 *4 指针与一维数组5 字符串处理6 内存动态分配 malloc 与释放 free7 二级指针(以指针为对象的指针)8 指针数组9 指针与二维数组的关系(指向一维数组的指针)10函数指针定义与引用第九章 编译预处理1 宏定义,特别是带参数的宏定义2 包含文件,特别是“与 的区别3 条件编译(能够读懂含有条件
4、编译的源程序)第十章 结构体、联合体、枚举类型、类型定义、位段1 结构体(1) 结构变量的定义与存贮方法(2) 结构指针与结构数组的使用(3) 结构成员变量的使用与输入输出(4) 结构体作为函数形式参数2 联合体的结构存贮特点与成员的使用方法3 枚举类型的定义与使用特点4 用 typedef 定义用户自定义类型5 位段的定义,存贮特点与使用方法第十一章 文件操作1 C 语言流文件的概念2 缓冲与非缓冲文件的概念3 文件操作函数(1) 文件打开 fopen,特别是打开方式串的正确使用(2) 文件关闭 fclose(3) 输入与输出函数 fgetc,fputc,fgets,fputs,fscanf
5、,fprintf,fread,fwrite(4) 文件数据指针的概念与使用ftell,fseek,rewind(5) 文件读操作结束标志函数 feof(6) 正文与二进制文件的区别与相关操作(7) 常用文件处理程序设计课程应掌握的知识点第一章 C 语言概述本章是 C 语言的简介。简单了解 C 语言发展;着重掌握 C 语言程序的基本形式与基本构成,领会 C 语言的主要特点;了解在计算机上开发一个 C 语言程序的主要过程。第二章 数据类型、运算符与表达式 本章是 C 语言基础知识介绍。要求真掌握常量和变量表示、基本数据类型的含义、表示形式及其应用、各运算符与表达式的含义及其运用、运算符的优先及结合
6、性等等。在本章中,要注意掌握以下问题: 各种常用数制及使用时的表示形式; 符号常量的表示形式及其运用; 变量的定义形式及其使用规则; 各基本数据类型的含义以及表示形式;“转义字符”的表示及运用; 除运算符的特殊性:当除数与被除数都是整数时,它执行整除。 求模运算符的运算规则; 加 1(+ +) 、减 l(- -)运算符的含义以及在应用中的特殊性: 掌握赋值运算符与赋值表达式的规则与运用,还要掌握赋值运算符和其它二元运算符一起组成复合赋值运算符的规则和应用; 记住逗号表达式的构成、逗号表达式的值。第三章 最简单的 C 程序设计 本章介绍的基础知识:语句介绍、数据输入和输出、程序的三种基本控制结构
7、。着重掌握: 程序的三种基本控制结构(顺序、选择、循环)、它们的逻辑形式与程序表示形式; 字符数据的输入与输出函数:getchar()、putchar(); 按格式输入输出函数 scanf()、printf();其中常用的输入输出格式的表示与用法。 第四章 逻辑运算和判断选取控制 本章主要介绍条件语句的使用。它包含有两个主要内容: 1、条件语句中“条件” 的产生与表达; 2、两种条件语句(if 语句 switch)的运用; 掌握关系运算符、逻辑运算符及其相应表达式的表示和含义。掌握其表达式的值的含义:当关系表达式中的关系成立时,表达式的值为 l,否则为 0; 在逻辑表达式运算中,操作数仅仅以为
8、 0 和非 0 来判别,符合运算规则时,其值为 1,否则为 0。 第五章 循环控制 掌握以下几方面的知识: 1、while 语句、dowhile 语句和 for 语句的逻辑表示形式(可用流程图表示或文字表示)和程序表示形式; 2、三种循环语句功能上的区别; 3、break 语句和 continue 语句的运用和区别;break 是结束包含有这个 break 语句的那一层循环,跳到循环之外;而 continue 是提前结束本次循环的工作,提前进人下一次循环。 第六章数组 本章介绍构造数据类型中之一数组。并着重介绍常用的一维数组、二维数组、字符数组,及应用。掌握以下主要内容: 1数组的含义:2数组
9、的定义形式; 3数组元素的输入与输出。4常用字符串处理函数的功能及其应用。 第七章 函数 注意掌握以下内容; 1.函数定义的一般形式。其中特别注意搞清楚函数返回值,函数类型,形式参数(简称形参)、实际参数(简称实参)等概念; 2函数调用的一般形式。其中要特别注意函数形式参数与实际参数的关系;当一个函数调用到另一个函数时,对被调用函数的要求; 3函数的嵌套调用的形式与应用; 4函数的递归调用的形式与应用; 在变量存储,掌握以下方面的内容: 1、掌握相关的概念:变量的作用域、变量的生存周期; 2、局部变量(或内部变量、自动变量 )、全局变量(或外部变量)的定义形式及其主要特点; 3、动态存储变量的
10、含义、静态变量的含义以及定义形式;内静态变量与局部变量的区别、外静态度量与外部变量之区别; 4、内部函数与外部函数的表示形式与含义; 第八章 编译预处理 掌握以下几方面内容; 1、关于宏定义与宏调用方面:主要弄清楚不带参数的宏定义的定义形式与使用形式;了解使用宏定义、宏调用跟函数调用的区别。一般了解带参数的宏定义及其使用方法。2、文件包含的使用形式与基本处理原理: 3、条件编译的基本含义以及主要使用形式。 第九章 指针 l、内存在的直接访问和间接访问的含义;指针的实质是一个变量的内存地址;变量的指针实际上就是这个变量的地址; 2、指针变量及其定义形式: 存放变量地址变量称为指针变量;注意掌握指
11、针变量的定义形式:指针变量所属类型是指针所指向对象所存放数据的所属数据类型; 3、数组指针:当对数组编译时,编译程序自动将数组名转换为指向这个数组首元素的指针,常简称为这个数组的指针。由于数组的指针。由于数组的首元素地址是固定的,同理,这个数组的指针是一个常量指针。 4、关于函数的指针 编译时,编译程序自动将函数名转换为这个函数的指针(即这个函数的人口地址) 。5、指针数组 注意数组指针与指针数组的根本区别; 指针数组的定义形式以及使用; 指针数组的一种特别应用形式指针数组作主函数的形式参数。 第十章 结构体与共用体 掌握以下主要内容: 1、结构体与数组的主要区别:结构体可以由不同类型的元素来
12、组成,而数组只能由同一类型的元素来组成; 2、结构类型以及结构变量的定义形式;结构变量成员的引用方法; 3、结构变量的输入与输出方式; 4、结构数组的含义以及应用; 5、指向结构类型数据的指针的定义、其成员的引用方法;用指向结构数组的指针来处理结构数组;以指向结构体数据的指针作函数参数; 6、以指向自身结构的指针处理链表。链表的构成。包括链表结点的组成、各组成成份的含义与作用; 7、了解共用体的定义形式、共用体与结构体的区别。 8、枚举类型以及类型定义部份,要求领会其定义形式、表示内容和使用方法。 第十一章 位运算 所谓位运算是指二进制位的运算。也就是说,运算的单位是二进制的一个位。C 语言是
13、为描述系统而设计的,它保留了汇编语言的主要功能。l、二进制位与字节; 2、十过制数与二进制数的表示及相互间的转换; 3、带符号数在计算机内的表示。值得注意的是,数据在计算机内是以二进制形式表示,而带符号的数在计算机内的表示则多以补码形式表示;为些,就要搞清楚数据的原码表示、补码、反码表示形式; 4、位运算的运算符及其运算规则; 5、位段的定义形式和应用。 第十二章 文件 1、先领会好相关的概念,例如文件、文本文件、二进制文件、带缓冲区文件系统、非缓冲区文件系统; 2、了解数据在外存储器内的存储形式及其表示形式; 3、文件指针的含义、定义形式及其获得;文件打开与关闭的含义; 4、了解常用的文件使
14、用方式及其表示形式; 5、着重领会并掌握常用文件处理的函数: fopen() 打开文件 fclose() 关闭文件 fgefc() 从文件中读出一个字符 fputc() 往文件中写入一个字符 fgets() 从文件中读出一个字串 fputs() 往文件中写入一个字串 fscanf() 按格式从文件中读数据 fprintf() 按格式往文件中写入数据 6、掌握要处理一个文件的基本过程:先打开该文件;进行规定的处理工作;处理完毕后关闭该文件; 课程的学习方法指导C 语言是一种使用广泛的计算机程序设计语言,它功能丰富,表达能力强、使用方便灵活、目标代码运行效率高、可移植性好、它作为一种高级语言,具备
15、有高级语言的优点,同时又保留汇编语言的主要优点。它可以完成普通高级语言完成的工作,还特别适合于写系统软件。近年来,经过科技人员不懈努力,C 语言的功能不断地扩充,使它的用途更加广泛。因此,学习好“C 语言程序设计”将具有更重要的意义。一、学习“C 语言程序设计”的思想基础 众所周知,所谓的程序设计,就是针对待解决的问题以及解决问题的方法,利用计算机程序设计语言,编制出程序,然后利用计算机执行该程序来达到解决问题的目的。因此,程序设计的最根本目标是要解决问题。 为达到此目的。进行程序设计的主要过程是: 1、分析问题。也就是用明确的语言,把待解决的问题分解,明确地描述出要求我们要具体做哪些事情。例
16、如,已给出了什么条件和数据,要求得到什么样的结果,要进行哪些处理等等。这一项工作的主要目的是弄清我们究竟要干些什么。 2、选择一个解决问题的适当的方法(或称为算法) 。即使是同一个问题,解决的方法不同,产生的效果可能也就不同。例如,一个人要到某个商场购买某样商品,逐个柜台找过去,;当然他最终总能买到该商品,但费时又费力。如果他进了市场门口以后,先了解他要购买的商品是属于哪一类,而该类商品是在商场的哪一层楼哪一个柜台出售,然后他就可以直接到那一个柜台去购买到他要买的商品了,既省时又省力。采用两种办法,最终都能买到该商品。但其效率是明显不一样的。此项工作的目的是提高解决问题的效率。 3、选择一种形
17、式的方式(例如流程图,或者形式化语言 ),按照解决问题的方法,把解决问题过程描述出来。由于此时尚未涉及到具体的语言而又采用形式化的方式,我们就可以相对集中精力来考察我们解决问题的方法与过程是否不误,如果有误 则立即纠正过来。 4、编码。即在第 3 步的基础上,具体利用计算机程序设计语言,把解决问题的过程一步一步地描述出来,其结果就得到了解决问题的程序。从这里可以看到,程序只不过是利用计算机程序设计语言把解决问题的方法和过程描述出来的结果。 5、调试程序。一个程序员编出的程序,很难保证没有存在问题,关键问题在于如何尽快发现存在问题并迅速地改正过来。一个程序,它只能正确地 完成设计人员给它所安排的
18、工作。漏掉一两项不做,固然是错误,但多做了一两项,也会是错误。例如,某一位职工已调离了本单位,我们当然把这一位职工从本单位的工资名单上删除,但如果程序执行删除的过程中,它不仅把那一位职工的资料删去,还顺便多删去一位职工的资料,这当然是错误的。因此,我们必须根据程序的功能要求,准备若干组测试数据,逐项输入各组测试数据,执行程序,检查它是否得到预定的正确结果,如果不相符,就马上查找出原因并且改正。 6、整理有关资料。程序是设计人员辛勤劳动的成果,应该尽量充分发挥它的作用。为此,要整理出程序相关的资料,如程序功能、采用方法、使用方法、注意事项、源程序代码、流程图、测试方案和测试数据等等。以利于以后程
19、序的推广、改进和提高。 根据上述基本过程,学习 C 语言程序设计应理解为:掌握 C 语言的使用方法。并以 C 语言为工具,学习程序设计的基本概念、基本思想与基本方法。由此可见,在本门课程的学习中应掌握两个层次的知识:一是掌握 C 语言语法、语句功能与应用规则;二是能较好地运用 C 语言编写出能解决实际问题的程序。在此应该明确,本课程不应仅仅理解为语言课程,而是包括 C 语言的学习以及利用它进行程序设计的思想方法。语言作为工具、程序设计是其目的。程序设计的思想方法是共性,在学习过程中应充分注意这一点。在教材内容的组织中,开头的章节主要介绍如何利用 C 语言的有关基础和知识,而后则主要介绍如何利用
20、C 语言来解决实际问题。我们既要用心掌握各章节的主要知识点,更主要的是时刻记住认真领会如何运用它们去解决实际问题。从整个课程进展来看,前五章都介绍基础知识,后面各章则在前面知识的基础上,综合运用,并介绍新的知识,体现了由简到繁、由浅到深的特点。在刚开始学习前几章的内容时,由于内容还较少、程序也还较简单,有些人思想上不够重视,未注意下功夫去学习与练习;到第五章以后、难度加大,此时差距已拉开了。所以,功夫一定要靠平时下,知识的积累要靠平时努力的过程中。 二、认真实习是掌握知识、提高自己的重要措施 程序设计的重要关键在于将客观世界问题的非形式描述转变为形式化的描述,最后以计算机程序设计语言来实现形式
21、化的描述。由此可见,靠死记便背来解决程序设计问题是不现实的。所以,要求大家认真掌握各章的基础知识、真正领会它们,并不断锻炼自己、灵活地运用所学的基础知识与方法去解决问题,不断地培养和提高自己分析问题与解决问题的能力。C 语言程序设计课程是一门实践性很强的课程,认真做好实习,促进自己对所学内容的理解与掌握,是很有必要的。在此,提出几点建议: 1、在开始学习本课程时,选择书中的例子,上机运行,目的在于熟悉 C 程序的结构和熟悉在计算机上开发一个程序的主要过程。这一阶段应该是个人独立操作,通过这一阶段的练习,能较好地领会上机实习的全过程; 2、程序在编译、连结过程中出现的错误是语法性错误;编译、连结
22、时未出现错误,但运行时却得不到预期结果,这种错误往往是语义错和程序有漏洞;前者错误出现时,系统会提示出错行号、错误类型和出错的函数名称,此时,要保持冷静,细心分析。有时候程序前面一个变量定义错,就会导致程序中凡用到这个名字的地方都出错,所以,排错时应该先从前面的错误开始。对于后一类错误,建议分段运行、校对结果、缩小范围的思想来进行。可以利用排错程序,也可以利用编辑、在程序里合适的位置加入一些输出、输入语句。分段运行程序、核对是否得到预期结果。加入输出语句的目的当然是让它显示运行所得的结果、而加入输入语句的目的是让程序运行到此处能暂停下来,让大家能有足够的时间来校对结果、分析这些结果是否符合要求
23、。 “分段执行,校对结果,缩小范围”这一方法,不仅在程序设计排错中有效、在解决其它问题时也一样有效,读者掌握了这一方法是很有意义的。 3、一个程序,应该能正确地完成你原来设计时所安排的功能,多做了是错、少做了也是错。这样,就要求程序员在运行自己的程序前,细心地设计好若干组测试数据,并推算出,按照各组测试数据,运行后应得到什么样的输出结果,以测试并推算出,按照各组测试数据,运行后应得到什么样的输出结果,以便和实际运行所得的结果进行核对。测试数据的设计和选择,则应根据程序所需完成功能的需要、它们应涵盖程序的功能;设计测试数据时,不仅仅注意安排正确数据的测试,还应安排不符合条件的数据的测试。 “该对
24、的应该对,该错的应该错”,这是一个简单的道理。 4、程序与算法是紧密不可分割的关系。要特别注意对算法的理解与掌握。一般来说,首先要了解它的基本思想,然后要了解它的实现方法。一个大问题往往由苦干个小的局部问题来组成、而每一个局部问题可能由某个特定算法来解决。特别在考试时遇上程序填空性题目时,更显得重要:你首先要了解该题是采用什么方法(算法) 来实现。然后才能较好地考虑应该在这些空位上填上相应的内容。算法的掌握,一要靠理解、二要靠多练习,加深理解,这一点请大家千万注意。 5、实习的过程,也是一个学习与提高的过程。实习中出现错误,这不奇怪。关键在善于总结。这次实习中出现了某个问题,如何解决、原因是什么、这些都要好好总结,以利于提高。不能急于求成,不求甚解。善于总结,才能及时得到提高,才能更好地掌握主动。 最后,在学习高级语言程序设计时几点体会:“纸上谈兵 ”学不出程序设计本领;只有大量上机、编程、调试,才能掌握。学好程序设计语言的唯一途径是上机。你的编程能力和你在机器上投入的时间成正比。
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。