资源描述
单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,北京理工大学继续教育暨现代远程教育学院,C语言程序设计学习辅导,1,一、课程学习重点和各章知识点:,第一章:程序设计基础知识,重点,:算法和算法的表示、结构化程序的三种基本结构。,难点,:算法的表示。,知识点,:,、程序设计的的基本步骤:,(,建立数学模型,设计算法和数据结构,将算法转换为程序,上机测试,),、算法的基本概念、算法的基本特征、算法的表示方法,掌握用流程图表示算法。,、常见算法:枚举法、迭代法、,递推和递归算法和分治法等。,、,程序的三种基本结构,:顺序结构、分支结构和循环结构,、结构化程序设计方法:,自顶向下、逐步细化,采用三种基本结构控制程序整体结构。,2,第,2,章:,C,语言概述,重点,:,C,程序的基本结构、,C,语言的基本组成、用,C,语言解题的全过程。,知识点,:,、语言的特点,:,1),可访问内存物理地址。,2),数据类型丰富,具有构造数据类型的能力。,3),控制流程结构化。,4),语言简洁灵活。,5),语言表达能力强。,6,),程序运行效率高,易读性、可移植性好。,7,),C,的语法检查不严格,。,、,C,程序的结构和特点,:,1)C,程序由函数构成;,2),一个函数,由函数说明部分和函数体两部分组成;,3),一个,C,程序总是从,main,函数开始运行;,4),书写格式自由;,5),每条语句必须由一分号结束;,6)C,语言的输入、输出由函数实现;,7)C,程序的注释形式是,:/*.*/,。,、程序的上机执行过程。,编辑源程序、编译、链接和执行,、语言的关键字,、,字符集、语句和函数,。,3,第,3,章:数据类型与运算规则,重点,:,C,语言的基本数据类型及其表示、算术运算与赋值运算、关系运算与逻辑运算、位运算和其它运算,混合运算及数据类型转换。,知识点,:,、语言的数据类型,难点,:、运算、逻辑运算、赋值运算中的类型转换等。,数据类型,数组型,结构型,struct,联合型,union,枚举型,enum,基本类型,指针类型,构造类型,无值类型,(,空类型,)void,单精度型,float,双精度型,double,整形,int,实型,(,浮点型,),字符型,char,链表,4,2,、,C,语言的基本数据类型及其表示,(1),常量与变量,常量:常量和符号常量、常量的表示范围。,变量:变量的命名规则、变量的类型说明、初始化和使用。,(2),整型数据及其表示,整型数据:,int,short,int,long,int,unsigned,等类型的表示范围。整形数据的八进制、十六进制表示。,实型数据:,float,,,double,,,long double,等类型的表示范围。,(3),字符型数据及其表示,字符和字符串常量的表示、字符串结束标志、字符数据在内存中的表示形式、各种转义字符的表示和作用、字符变量的说明和使用。,(4),指针型数据及其表示,指针变量的说明、初始化与使用。,3,、算术运算符与赋值运算,(1)C,语言中的各种运算符、各种表达式、各种运算符的优先级和结合性。,5,(2),算术运算符与算术表达式,算术运算符和算术表达式的应用。,表达式中不同数据类型数据间的运算和类型的转换。,(3),自加自减运算符的使用,。,(4),赋值运算符和赋值表达式。注意赋值运算中的类型转换。,(5),组合赋值运算符及其使用,;,、关系运算和逻辑运算,(1),关系运算符和关系表达式,关系运算符和关系表达式的优先级;,关系表达式的值;,(2),逻辑运算符和逻辑表达式,逻辑运算符的优先等级;!,(,非,),、,&(,与,),、,|(,或,),6,逻辑表达式运算的特殊规则:,若有,+,a|+b,&+x,,运算过程为:,若,+a,不为,0,则,+,b,+x,不执行。,若,+a,为,0,则执行,+b,,若,+b,不为,0,,则不执行,+x,,若,+b,仍为,0,,则执行,+x,。,(,3),条件运算符与条件表达式:表达式,1,?表达式,2,:表达式,3,掌握条件运算符的嵌套应用。,、位运算,各种位运算符的运算规则和应用。重点,&,和,|,运算的应用。,、其它运算符,(1),逗号运算符的运算规则和逗号表达式的值。,(,),(2),类型强制转换运算符,(type),的使用。,(float)2*5,(3)sizeof(),运算符的使用。,sizeof(int),sizeof(5/3),sizeof(a),7,第,4,章:顺序结构的程序设计,重点,:,C,语言中数据的输入与输出。,难点,:输入、输出函数的使用。掌握各种格式字符的使用。,知识点,:,、语句:流程控制语句、表达式语句、符合语句和空语句,。,、赋值语句的格式和作用。,、数据输出,格式化输出函数,printf,(),的使用一般格式;,用各种格式符输出各种数据。附加格式符,-m.,、,L,的使用。,用字符输出函数,putchar,(),输出一个字符。,、数据输入,字符输入函数,getchar,(),、,getch,(),和,getche,(),的功能和区别。,格式化输入函数,scanf,(),的使用,注意格式符的使用要求。,掌握数据输入方法。,8,第,5,章:选择结构的程序设计,重点,:,if,语句构成的选择结构程序和,switch,语句构成的选择结构程序。,难点,:嵌套的,if,语句和嵌套的,switch,语句。,知识点,:,1,、用,if,语句设计选择结构程序,用,If(,表达式,),语句实现分简单支结构程序。,用,if(,表达式,)else,语句实现双分支结构程序。,用,if()_else,嵌套实现多分支结构程序。,、用,switch,语句设计多分支结构程序,用,switch(,表达式,),语句实现多分支结构程序。,switch,语句的自身嵌套。,If,和,switch,的混合嵌套。,break,语句在,switch,语句中的应用。,9,、,goto,语句,(不提倡使用),If,语句与,goto,语句配合使用,实现循环结构程序;,在,switch,嵌套中使用,goto,实现由内向外跳转。,在循环嵌套中使用,goto,实现有内向外跳转。,第,6,章:循环结构的程序设计,重点,:,while,、,do-while,和,for,构成的循环结构程序设计,循环的 嵌套,掌握一些常见问题的编程。,难点,:循环的嵌套。,知识点,:,1,、用,while(,表达式,),语句实现当型循环结构程序。,掌握,while,循环结构的执行过程和特点:先判断,后执行;,循环体内要改变,while,的表达式参数,使循环趋于结束;,注意循环体内变量赋初值位置和初值的大小;,注意循环体内有多条语句时的语句编排顺序。,10,2,、用,do_while,(表达式)语句设计直到循环结构程序,掌握,do_while,循环结构的执行过程特点:先执行,后判断;,循环体内要改变,while,的表达式参数,使循环趋于结束;,注意循环体内变量赋初值位置和初值的大小;,注意循环体内有多条语句时的语句编排顺序。,3,、用,for,语句设计循环结构程序,掌握,for,循环结构的执行过程特点:先判断,后执行;,注意,for,中三个表达式省略的情况。,循环体内要改变,for,语句中表达式,2,参数,使循环趋于结束;,注意循环体内变量赋初值位置和初值的大小;,注意循环体内有多条语句时的语句编排顺序。,4,、,break,语句和,continue,在循环结构中的使用,break,语句:结束循环;,continue,语句:提前结束本次循环,返回到循环控制语句。,11,5,、循环嵌套,几种循环可自身嵌套和互相嵌套。,掌握循环结构嵌套程序的执行过程,,重点掌握双重循环的执行过程。,注意多重循环中,内层循环体中变量的赋初值位置和初值大小。,6,、注意掌握本章中所举例子的算法和相应的程序,如求最大值、最小值、平均值、求最大公约数、最小公倍数、用梯形法求定积分、求数列值、用牛顿迭代法求方程的解等算法的编程,。,第,7,章:数组,重点,:一维数组的定义、初始化和使用,一维字符数组的定义、初始化与使用及常用字符处理函数的使用,二维数组的定义和使用。,难点,:用数组求解实际问题的编程。,12,知识点,:,1,、一维数组,(,数值数组和字符数组,),一维数组的定义;,一维数组的初始化;,数组元素的引用,注意:,C,语言中不判断下标越界;,一维数组的应用:,掌握用数组求一批数据的最大、最小、平均值等问题的算法;,掌握对一批数据的排序算法,(,汽泡法和选择法,),。,常用字符输入、输出函数的使用:,getchar(),getche(),getch();putchar(),putch(),scanf,(),等。,常用字符串输入、输出函数的使用:,gets(),puts(),printf,(),。,13,2,、二维数组,(,数值、字符,),二维数组的定义;,二维数组的初始化;,二维数组元素的引用。,二维数组的应用,掌握教材例,7-12,、例,7-13,和例,7-16,并能举一反三。掌握随机函数,rand(),和,random(N),的使用。,掌握教材例,7-19,、例,7-20,、例,7-21,并能举一反三。,第,8,章:函数,重点,:函数的定义、函数的调用(嵌套调用和递规调用)与返回、函数间的数据传递、变量的存储类别,全局变量和局部变量、静态变量自动变量的特点和使用。,难点,:递规函数的定义与调用,函数间的参数传递;,14,2,、函数定义,有参函数的定义;,无参函数的定义;,空函数。,3,、函数的调用与返回,函数调用的三种方式:函数语句、函数表达式和函数参数。,对被调函数的声明,:,函数声明的作用、怎样声明、必须声明和省略声明的情况。,知识点,:,1,、,C,程序的模块化结构,一个,C,程序可由多个源程序文件组成;,一个源程序文件可由多个函数组成;,一个,C,程序只能有一个,main(),函数,,C,程序总是从主函数开始运行。,15,5,、数据在函数之间传递,形参和实参的概念、值传递和值传递的特点;,实参为数组名和实参为数组元素的参数传递;,实参为数组名和实参为数组元素时形参的说明;,实参为多维数组名时形参的说明;,6,、变量的存储属性,变量的生存期和作用域的概念;,局部变量和全局变量说明和使用;,自动变量的说明和使用;,4,、函数的返回,函数的返回语句:,return(,表达式)。,函数的返回值和返回值的类型;注意:无,return,和,return,无表达式时函数仍有返回值;,无返回值函数的说明,(void),,,函数调用的执行过程;,函数嵌套调用的执行过程;,16,7,、函数的递归调用,递归的基本概念;,函数的递归调用过程:递归调用和递归返回;,数值型递归问题的求解方法:,1),找出正确的算法。,2),确定算法的递归结束条件。,8,、编译预处理,1),宏定义,(#define),:,定义宏和编译前的宏代换;,带参数的宏定义和代换;,宏终止,(#,undef,),外部变量和外部函数的说明;,自动变量和外部变量的初始化;,寄存器变量的说明和使用;,静态变量的说明、使用和作用域。,17,第,9,章:指针,1,、指针及其引用,指针的基本概念:指针、指针变量、变量的直接访问和间接访问等概念;,指针变量的说明和引用、运算符,&,和*的使用;,指针变量的初始化和空指针;,2),文件包含:,include,常用的头文件包含;,原程序文件的包含;,重点,:指针的定义与引用、数组与指针、指针与函数、用指针处理字符串数据、指针数组和多级指针。,难点,:二维数组的指针与使用,多级指针。,知识点,:,18,3,、数组与指针,1),通过指针引用一维数组中的元素,数组元素指针和数组指针的初始化;,通过指针引用数组元素,使用指针应注意的几个问题:,指针变量的值可改变,以指向另一个存储单元。如:,p+,p+9,等。不能使用,a+,或,a=,a+i,。,指针指向数组外时,编译不会出错。,用指针访问数组时,必须说明数组长度。,2),指针基本运算,:,指针与整数的加和减、两个指针相减、指针的关系运算。,2,、指针与函数,指针作为函数的参数:地址作为调用函数的实参及对应形参说明;,返回指针的函数的定义和使用;,指向函数的指针的定义和用指针调用函数;,19,3),通过指针引用二维数组,数组元素地址的一般表示形式:,ai+j,或*,(a+i)+j,或,&aij,或,pi,取元素值的一般形式:,*,(ai+j),或 *,(*(a+i)+j),或,aij,或 *,pi,4,、指针与字符串,1),字符数组与字符指针,字符串的两种表示方法:用字符数组表示和用字符指针指向一个字符串常量,2),常见的字符串操作,掌握用指针处理字符串的方法,如字符串复制、链接、比较等。,5,、指针数组,1),指针数组与数组指针,20,指针数组:,类型标识符 *数组名,常量表达式,;说明一个指针数组。,指向数组的指针:,类型标识符,(*,指针变量,),表达式,;,说明一个指针变量。,2)main,函数的参数,main(argc,argv,),int,argc,;,char*,argv,;,形参,argc,:,接受包含,DOS,命令在内的参数个数,n+1,。,*,argv,:每个指针指向一个,dos,命令参数。,6,、多级指针,多级指针的说明与使用。,21,第,10,章:结构、联合与枚举类型,1,、结构类型,结构类型的定义;,struct,类型名,构类型变量的说明;,struct,类型名 变量名,结构类型变量的初始化;,结构类型成员的引用;,2,、结构数组,结构数组的定义、初始化和结构数组元素的访问;,结构数组名,下标,.,成员名,3,、结构指针,结构指针的说明、结构指针的初始化、用结构指针访问结构元素;结构指针成员名。,重点,:结构类型的定义、结构变量和结构数组的定义、函数间传递结构数据,联合类型的定义和应用,枚举类型的定义,用,typedef,定义类型,链表的概念。,难点,:结构类型的应用,链表的操作和应用。,知识点,:,22,4,、联合,联合类型的定义;,联合类型变量说明;,联合类型成员的初始化、引用及注意事项;,5,、枚举类型,枚举类型的定义和变量说明;,给枚举变量赋值和枚举运算,;,6,、用,typedef,定义类型,7,、链表基础,链表的基本概念:头指针、头节点和数据节点;,链表的基本操作:建立链表、访问链表中的节点、在链表中插入、删除节点等;,常见的链表形式;,23,第,11,章:文件,重点,:文件的打开和关闭,文件的顺序读写操作,文件的随机读写操作,文件操作的状态和出错检查。,难点,:文件的读写操作。,知识点,:,1,、,C,语言处理的文件分类,;,2,、文件处理,文件类型指针的说明;,FILE*,指针变量名,打开文件函数,fopen,(),的使用;变量名,=,fopen,(“.”,”,打开方式,”,),打开文件的方式及使用;,p337,表,11-1,关闭文件函数,fclose,(),的使用;,3,、文件的顺序读写操作,常用文件读写函数:,fgetc,(),和,fputc,(),、,fgets,(),和,fputs,(),、,fscanf,(),和,fprintf,(),、,fread,(),和,fwrite,(),等,24,4,、文件的随机读写操作,文件顺序读写和随机的概念及实现。,文件位置指针的概念及改变位置指针:,seek(),、,rewind(),、,ftell,(),5,、文件操作状态和出错检查:,feof(),fsrror(),clearerr,(),。,25,二、期末考试题型介绍,1,、选择填空题:从四个备选答案中选择一个正确的答案。每小题,1,分。,2,、填空题:根据题目的要求在题目的空白处填上适当的内容。其中包括基本概念填空和程序完整填空。每空,2,分。,以上两题每题各,25,分左右,两题总共不超过,50,分。,3,、判断题:对正确的描述画,对错误的描述画,。每题,1,分,共,10,分。,4,、阅读程序题:阅读程序,写出程序的输出结果。有,4,小题,每小题,5,分,共,20,分。,5,、编程题:编写出题目要求的程序。共两小题,每题,10,分。共,20,分。,26,说明,:,1,、考试时间为,120,分钟。闭卷。,2,、试卷满分,100,分。,3,、试题说明:,选择填空题、填空题和判断题主要考查,C,语言的基本概念、简单程序的阅读和简单算法。题目以教材后题目为主。,阅读程序,写出程序的输出结果:主要考查程序阅读能力和对常用各种算法的掌握。,编程题:主要考查,C,语言的综合应用能力。,、考试重点章节:第章,其它章节为非重点。其中第,8,、,9,、,10,章的学习难度较大。,27,
展开阅读全文