第一章  重点难点
重点:
(1)算法的特性;(2)简单算法的设计;(3)c程序的基本结构。
难点:
算法设计以及表示方法是本章的难点。
算法在程序设计中占有重要的地位,是程序设计的灵魂,是程序设计必不可少的步骤。结构化的程序设计方法在其中起着重要的作用。用结构化程序设计方法设计算法可使编写的程序结构清晰,易于调试和修改。算法的表示有流程图、N-S图、PAD图以及伪代码等,图形表示使得程序的控制结构清晰。伪代码不能在计算机上执行。
思考题:
1)C语言程序的特点和特征是什么?如何开发一个指针与二维数组C程序,应注意什么问题?
2)算法的设计策略由哪些?
第二章  重点难点
重点:
(1)标示符的正确使用;(2)变量和常量的定义与应用;(3)C语言的各种基本数据类型及其标示方法;(4)C语言的各种运算符的优先级和结合性;(5)C语言表达式的运算以及计算过程的类型转换;(6)一些特殊运算符(如:++/--)的运算规定。
难点:
数据类型的概念;各种类型的数据在内存中的存储方式;运算符对运算对象类型的要求和限制,这涉及到运算对象类型的自动转换和牵制转换的概念;C语言表达式的运算,特别是自增/自减运算等。
思考题:
1)在C语言程序设计中,如何使用常量和变量?
2)++arg和arg++有什么区别?
3)将变量按如下形式初始化:int a=b=c=3;会出现什么结果?说明为什么?
第三章  重点难点
重点:
(1)顺序、选择、循环三种结构的设计与使用;(2)格式输入/输出函数的各种使用方法;(3)条件的表示方法与运算策略;(4)if 语句的执行过程:三种形式的if 语句的正确使用方法;(5)switch语句的流程控制;(6)分支嵌套的执行过程以及嵌套的使用;(7)循环语句while、do…while 、for的构成、区别与转换;(8)循环前套的执行过程与前套的使用;(9)break、continue、goto语句的使用方式;(9)运用三种基本结构实现简单算法。
难点:
格式输入/输出函数中的各种格式控制形式的变化与使用,例如精度的使用等;在构成选择条件时的逻辑表达式设置形式;if…else 语句的匹配原则(不以形式上相邻,而从最内层开始);if语句的嵌套;switch语句的嵌套以及switch语句break的正确使用;For 语句表达式的各种省略方式、处理方法;多重循环初始值的设置值与设置点; break、continue、goto三
个语句的区别和联系。
思考题:
1)输入/输出格式说明符插入转义字符会有什么结果?对输入及输出分别进行说明。
2)使用C语言的赋值语句应该注意什么问题?
3)switch语句必须包含default分支吗?如果最后一个分支不是break语句会出现什么情况?
4)编程实现一个“猜数”游戏:由计算机随机“想”出一个整数,从键盘输入整数进行猜测,如果猜对了,则计算机给出信息“WINER”并询问是否再“猜一次”?如果猜错了,2.格式化输入/输出中是如何规定转换说明符的?
第四章  重点难点
重点:
(1)库函数的正确调用(头文件的正确包含);(2)函数的定义;(3)函数的声明与retu
rn语句使用;(4)函数的调用与参数传递原则(传值/传址);(5)函数的嵌套调用与递归调用;(6)变脸个存储类型及其特性。
难点:
正确包含库函数的头文件,不同的库函数可能头文件不同;函数定义、声明、调用三者之间的联系和区别;函数的调用(无值/带值);参数传递过程中传值与传址之间的区别与正确使用方法;递归函数的构建(条件及形式)和动态执行过程;不同函数中变量的适用范围;变量的生存期和作用域。递归和递推、迭代之间区别和联系。
思考题:
1)编写一个函数,可以将任意m进制整数转换为n进制数。
2)内存占用方面,函数的循环调用和递归调用有什么区别?这两种方面各有哪些优缺点?
3)如果编写多个源文件的C程序,全局变量如何进行管理?不同文件里的全局变量名称或函数名称如果相同,应该如何处理?
第五章  重点难点
重点:
(1)一维数组的定义、引用和初始化;(2)二维数组的定义、引用和初始化;(3)字符数组(字符串)的定义、引用和初始化;(4)各类数组的存储方式;(5)字符串库函数的调用和使用;(6)利用数组解决实际问题。
难点:
c语言的数组必须先定义后使用,不允许动态定义;对数组的存储方式按行存储的理解;二维数组初始化的不同形式;字符数组与字符串之间的关系,字符数组与字符串初始化的区别;字符串库函数的正确使用。
思考题:
1)为什么需要数组?
2)若有数组a,则a代表什么?&a[1]-&a[0]=?
3)若定义数组int  a[10]; a++;编译时是否会产生错误?
4)对于二维数组,当给出初始数据后,为什么行下标可以省略而不能省略列下标?
第六章  重点难点
重点:
(1)指针的概念;(2)指针与指针变量的区别;(3)指针变量的引用与指针运算;(4)指针处理一维数组;(5)指针处理二维数组;(6)指针处理字符串;(7)指针作为参数进行函数的传址调用;(8)指针数组与数组指针;(9)返回指针类型的函数。
难点:
指针变量的概念;指针变量与内存地址的关系;指针变量与指针所指向变量的区别和联系;一维数组的数组名/起始地址与指针变量的关系;数组指针与二维数组的关系;指针运算的不同表示方式;函数指针的处理;利用指针传址调用。
思考题:
1)指针的加法和减法在什么时候才有意义?void类型的指针有什么特点?
2)使用指针作为函数参数有什么优点?如果使用不当有哪些潜在的危险?
3)编程解决八皇后问题:如何在一个国际象棋棋盘上摆放8个皇后,要求任意两个皇后不能在同一行、同一列或同一对角线。
4)动态分配的内存回别自动释放吗?
5)指针数组和数组指针的区别?
第七章  重点难点
重点:
(1)结构体类型的定义;(2)结构体类型变量的定义(3)结构体类型变量的引用方;(4)结构体类型数组的定义、初始化、应用;(5)结构与指针;(6)链表的构建与使用。
难点:
结构体类型定义与结构体类型变量定义之间的区别;通过指向结构体的指针引用结构体成员的方法以及通过操作符“.”引用成员的方法;结构体变量与公用体变量在内存中不同存储方式;链表的概念、动态链表的构件。
思考题:
1)编程实现链表的排序算法。
2)如何利用应用typedef增强程序的可移植性。
3)如何使用指向结构体数组的指针?要注意什么问题?
第八章  重点难点
重点:
(1)宏定义的形式及使用要求;(2)文件包含的作用及使用要求;(3)编译预处理命令在程序中的实际使用。
难点:
带参数宏定义的替换过程;宏调用与函数调用的不同。
思考题:
1)函数调用与使用宏的区别?
2)定义一套自己的符号常量,保证程序能够从DOS系统顺利保移植到Win32系统。
提示:在Win32系统中int为32位整形数,short为16位整形数,在DOSint 为16位整形数。可以定义符号常量 INT16,在DOS系统下编译为int ,在Win32系统下编译为short
第九章  重点难点
重点:
(1)位运算的语义及应用;(2)位运算的实际应用。
难点:
位运算的实际应用以及段位的概念及使用。
思考题:
1)利用位运算实现加法、减法的运算,要求不能使用“+”和“-”运算符。例如,实现1+2。
2)补码、反码和原码的区别,在不同方案下,位运算的结果有什么不同?
第十章  重点难点
重点:
(1)文件的概念与分类;(2)文件的操作过程;(3)有关文件库函数的使用。
难点:
二进制文件与文本文件的区别;有关文件库函数的使用;文件的读/写方式。
思考题:
1)应用所学知识,利用文件输入输出函数,实现标准设备的输入输出,即编程实现putchar()函数。
2)编程实现小型的数据管理系统,例如学生信息的管理功能。要求实现学生信息的增加、删除、修改、排序等功能。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。