c语言学习计划.docx
《c语言学习计划.docx》由会员分享,可在线阅读,更多相关《c语言学习计划.docx(23页珍藏版)》请在冰豆网上搜索。
![c语言学习计划.docx](https://file1.bdocx.com/fileroot1/2023-7/3/eed9bbcc-6b6f-4b86-ab9f-75971d2d4732/eed9bbcc-6b6f-4b86-ab9f-75971d2d47321.gif)
c语言学习计划
c语言学习计划
篇一:
C语言学习计划
电信梦之队成员学习计划
1、假体任务(大一):
c语言学习(这个单元一定要强调规范化!
!
!
):
a.熟悉c语言的编译环境
b.学会c语言的基本结构(可出10~20道题)c.规范命名变量,学会使用c语言的基本数据类型和常量,熟悉掌握c语言的算是运算
符和表达式(可出100~200道题)(适当减少)d.熟练掌握c语言的常用语句(可出100~150道题)(适当减少)f.学会函数的定义、
调用、递归(可出100~150道题)(适当减少)g.变量的存储类型(自动变量、外部变量、
静态变量、寄存器变量)的区别与运用(可出80~100道题)h.熟练掌握宏定义(可出30~50道题)i.了解结构体、指针、预处理等注:
c语言学好的,深入学习c语言,假期一定要预习c++,不然下学期你们学时会听天
书。
2、大一在下学期完成,大二在假期完成部分:
学习单片机最小系统,在c语言平台上编
写小程序,深入学习c语言。
一、具体内容:
1.熟悉keil的编译环境
2.学习从c到c51的转换,对51的各个资源跑上一边
3.学习51单片机和基本外设电路的结合运用
4.对c语言有很清晰的认识、能够掌握数组、指针、结构体的编程,学会模块化编程思想。
三、学习强度、要求
a.熟悉keil软件的开发环境,熟练的运用单步、断点等调试手段b.了解c与c51
的区别
c.学会运用c51编写单片机程序d.学会通过c51对51单片机i/o口的输入输出进行操作(典型:
led流水灯的编写、按
键的操作、数码管的显示操作(可含数字芯片)、lcd的操作)e.学会51单片机定时器的运用(典型:
数字电子时钟的编写、led摇摆帮(这个很好玩)、
pwm控制灯光的强度)
f.学会51单片机中断的运用(典型:
数字电子钟的时间调节、闹铃设置)g.学会51单片机串口的运用(典型:
由pc机控制单片机的输出操作,如pc机发命令
led的亮灭)
h.学会51单片机中断优先级的使用i.学会ds18b20
j.学会使用i2c芯片,典型;存储芯片at24cxxk.学会16*16点阵的编程
l.学会使用lcd1602、图形液晶lcd12864的操作m.学会使用adc0809\dac0832参考资料:
郭天祥51单片机视频教程及pdf资料、《例说8051》、天狼星51单片机视频
教程。
篇二:
c语言学习计划书c语言计划书
XX年4月世界编程语言排行榜发布,c语言以%的使用率力压群雄,稳坐榜首(详
情请点击:
XX年4月编程语言排行榜)。
随着排行榜的发布,c语言的使用人数也在日渐增
长。
为了引导广大初学者更好的学习c语言,我们编辑了《c语言学习计划书》,详细讲述了
学习c语言的步骤和细节。
如果你在学习过程有什么疑问,可以进入c语言常见问题栏目去查看,这里收录了400
多个常见问题,相信对你肯定会有帮助的。
温馨提示:
《c语言学习计划书》谨献给c语言初学者和入门者,大牛可以驻足,也可以
绕道。
(*^__^*)使用到的软件。
要想写出好的代码,必须有好的工具。
目前,使用最广泛的c语言编译
工具是,各个高校也把它作为教学工具,本站提供了几个不同的版本供大家下载:
vc
中文版下载【同时支持win7和xp】vc英文版下载【同时支持win7和xp】精简版—具有基本的功能。
笔者推荐一款代码格式化工具,它可以将杂乱无章的c语言代码按照函数、条件语句、
模块等格式化,让你看起来非常清晰。
请点击这里下载:
c语言代码格式化工具较早学习c语言的朋友使用tuborc的比较多,很多早期的教程也是以tuborc为基本
工具进行讲解。
不过,现在笔者不推荐使用tuborc。
下载地址:
tuborc下载第一步:
入门,即学会如何写c语言程序。
以c语言作为编程语言的学习切入点,笔者
认为是个不错的选择。
c语言是一门较早的编程语言,也是一门基础语言,很多理工科高校
都把c语言作为必修课。
c语言也是一门较底层较高效的语言,不仅在单片机开发和嵌入式
开发大显身手,还创造了像c++、php等其他流行的编程语言。
下面让我们看一下如何学习c语言。
了解c语言的特点和有关概念:
如c语言的发展过程、c语言版本、c语言特点、c和c++
的区别等!
了解c语言的数据类型和算法:
如基本数据类型和运算符、顺序程序设计、分支程序设
计、循环结构、数组等。
学习c语言一定要知道它的利器——指针。
这正是c语言强大、高效和灵活的地方。
如
果您没有学会指针,可以说,您就没有学到c语言的精髓。
模块化程序设计:
函数的定义和使用、结构体和共用体等。
其他相关操作,如预处理命令、文件操作等。
最重要的一点,大家要系统的学习入门教程,请进入学习页面:
c语言入门教程第二步:
进阶,即写出高质量(高效、无bug、易读、通用和移植)的代码。
亲,如果您
按照第一步的步骤去做了,那么恭喜你,你已经入门了,了解了编程语言的基本概念和思想、
能用c语言来处理一般的运算和操作了。
但是,这样是不够的,要想成为c语言程序设计高手,必须要考虑内存和cpu分配、程
序运行效率、程序的移植性和易读性等其他因素,这在软件设计过程中是相当重要的,笔
者一个朋友曾设计一个流量统计软件,仅仅是因为多写了一行代码,造成内存泄露(内存被用
尽),电脑直接卡死,给三千多用户带来不便。
进阶阶段,你可以系统的学习c语言中文提供的c语言进阶教程(包括对c语言关键字、
预处理、指针和数组、内存管理、函数详解、时间和日期等),也可以在我们的专题列表里详
细学习,截至文章发布之日,专题列表已经包含了十六个专题,针对c语言的每一个细节进
行详细的讲解。
亲,如果你已经学习了笔者所推荐所有文章,那么恭喜你,即使你算不上大牛,也绝对
不是菜鸟了。
不过,要想成为绝顶高手,还是要慢慢实践和修炼的。
篇三:
前辈的c语言学
习整体时间规划,参考一下,省得迷茫。
字符串
学习时间:
(“w”周,下同)知识点checklist
strlen()函数的返回值是什么类型的?
字符串strlen()的值,是否和他占据的内存空间相同?
你是否知道strcpy函数存在的潜在风险?
如何避免?
如果一个字符串没有字符串结束符,而调用str开头的库函数,会发生什么?
strcpy(),strcat(),strcmp(),strncpy(),strncat(),strncmp()内部到底是如何运行的?
这
些函数到底对源字符串和目标字符串做了些什么?
你是否观察过它们运行时两个字符串内存
的变化?
上面这些函数使用时,各有哪些需要注意的地方?
你会几种字符串查找操作?
c语言中有字符串这个数据类型吗?
对字符串进行操作的时候,是否为字符串结尾符预留存储位置?
不然的话容易造成非常
访问内存。
数组
学习时间:
2w
知识点checklist
你肯定知道,定义“inta[10];”,a[10]这个元素是无效的。
你知道几种数组初始化的方法?
数组和指针有千丝万缕的联系而又不同,你是否对他们在不同情况下的使用进行过详细
的总结?
“intcalendar[10][20];”,这是一个什么样的数组?
它拥有10数组类型的元素,还是
20个?
“inta[10];”,数组名a在本质上是一个什么?
你是否打印过a的值?
你知道几种获
取数组某元素的方法?
指针和数组相同吗?
什么时候相同?
什么时候不同?
用指针和下标访问数组元素,那种方式更快?
结构体
学习时间:
1w
知识点checklist
你知道什么是位域结构体吗?
如何定义它?
如何使用它?
你知道字节对齐对结构体占用内存空间大小的影响吗?
如何计算结构体占用内存的大
小?
宏
学习时间:
1w
知识点checklist
你知道宏的本质是什么吗?
函数?
语句?
类型定义?
或者其他?
你知道语言设计者为什么设计宏吗?
这些原因目前是否仍然成立?
你会设计带有参数的宏吗?
你知道使用宏的参数的的时候的注意事项吗?
你会设计带有可变参数的宏吗?
你知道使用宏有什么劣势吗?
你有没有更好的替代方案?
枚举
学习时间:
知识点checklist
是否可以指定枚举中各项的值?
如果不指定值,枚举的第一个值是多少?
枚举的值是否可以是负数?
定义枚举的时候,你是否专门定义了枚举的最小值和最大值?
switch
学习时间:
知识点checklist
switch(c)中的c的数据类型有哪些?
你是否在所有的switch中都加了default语句?
是否在所有的case中都加了break语句(一般情况的做法)?
如果你不加break,将会
发生什么?
static
学习时间:
1w
知识点checklist
static的三个主要作用是什么?
static的修饰的局部变量是保存在什么地方的?
全局变量哪static修饰的全局变量和函数,在其他的文件中是否可以访问?
如何访问?
你知道
static是c语言中实现封装和隐藏的利器吗?
你是否经常使用?
定义在不同源文件中的static全局变量,编译器是否允许他们的变量名称相同?
他们在
内存中的地址是否相同?
函数那?
const
学习时间:
1w
知识点checklist
你是否经常使用const来表明不能够被更改的变量?
你是否经常使用const常量来代替宏?
下面四种情况,你知道是各表示什么意思吗?
inti_value=10;
constint*pvalue=&i_valueintconst*pvalue=&i_valueint*constpvalue=&i_valueconstint*constpvalue=&i_value你知道const常量如何初始化吗?
sizeof
学习时间:
1w
知识点checklist
对于字符数组,strlen和sizeof的值是否相同?
sizeof本质上是函数还是宏?
sizeof的返回值是什么类型?
指针
学习时间:
3w
知识点checklist
“int*p;”&p,p,*p他们的值分别表示什么含义?
你定义的指针初始化了没?
你理解指针的指针的概念吗?
你会使用吗?
“int*pi_value;pi_value=0x100000;”pi_value+1的值是是多少?
你会定义
函数指针吗?
你会使用函数指针调用函数吗?
关于指针和数组,请参见知识点数组。
动态分配内存
学习时间:
1w
知识点checklist
动态分配的内存是保存在什么地方的?
什么情况下使用动态分配内存?
动态申请内存一定要释放,否则会内存泄露。
你是否使用过内存检测工具?
函数
学习时间:
1w
知识点checklist
如何查看函数在内存中的地址?
如何给一个函数指针赋值?
你是否会定义可变入参函数你是否可以区分函数的形参与实参?
如何定义函数名,以准确的表达函数的用途?
你是否使用const来修饰函数入参和返回值,以表的特定的含义?
递归如何使用?
变量学习时间:
1w
知识点checklist
全局变量,局部变量,常量分别保存在内存中的什么地方?
不同类型的变量,你是否知道其作用域?
全局变量和局部变量是否可以重名?
你是否在这样做?
局部变量在函数退出后是否有效,为什么?
全局变量为什么不允许定义在头文件中?
有何危害?
链接(linux)
学习时间:
1w
知识点checklist
链接位于编译过程的那个阶段?
动态链接库和静态链接库使用时有何区别?
如何对动态链接库进行动态加载(不用重启程序而加载链接库)?
动态链接有何优点?
动态链接库中是否定义了非static的全局变量?
你是否知道这是一个非常危险的动
作?
动态库中的全局变量(非static)和函数(非static)是否可以和上层全局变量和函数
重名?
重名后会发生什么事情?
运行时的数据结构(linux)学习时间:
1w
知识点checklist
你知道什么是段的概念吗?
可执行程序可以分为几个段?
每个段保存的是什么内容?
篇二:
C语言学习计划书
C语言计划书
XX年4月世界编程语言排行榜发布,C语言以%的使用率力压群雄,稳坐榜首(详情请点击:
XX年4月编程语言排行榜)。
随着排行榜的发布,C语言的使用人数也在日渐增长。
为了引导广大初学者更好的学习C语言,我们编辑了《C语言学习计划书》,详细讲述了学习C语言的步骤和细节。
如果你在学习过程有什么疑问,可以进入C语言常见问题栏目去查看,这里收录了400多个常见问题,相信对你肯定会有帮助的。
温馨提示:
《C语言学习计划书》谨献给C语言初学者和入门者,大牛可以驻足,也可以绕道。
(*^__^*)
使用到的软件。
要想写出好的代码,必须有好的工具。
目前,使用最广泛的C语言编译工具是,各个高校也把它作为教学工具,本站提供了几个不同的版本供大家下载:
VC中文版下载【同时支持Win7和XP】
VC英文版下载【同时支持Win7和XP】
精简版—具有基本的功能。
笔者推荐一款代码格式化工具,它可以将杂乱无章的C语言代码按照函数、条件语句、模块等格式化,让你看起来非常清晰。
请点击这里下载:
C语言代码格式化工具
较早学习C语言的朋友使用TuborC的比较多,很多早期的教程也是以TuborC为基本工具进行讲解。
不过,现在笔者不推荐使用TuborC。
下载地址:
TuborC下载
第一步:
入门,即学会如何写C语言程序。
以C语言作为编程语言的学习切入点,笔者认为是个不错的选择。
C语言是一门较早的编程语言,也是一门基础语言,很多理工科高校都把C语言作为必修课。
C语言也是一门较底层较高效的语言,不仅在单片机开发和嵌入式开发大显身手,还创造了像C++、PHP等其他流行的编程语言。
下面让我们看一下如何学习C语言。
了解C语言的特点和有关概念:
如C语言的发展过程、C语言版本、C语言特点、C和C++的区别等!
了解C语言的数据类型和算法:
如基本数据类型和运算符、顺序程序设计、分支程序设计、循环结构、数组等。
学习C语言一定要知道它的利器——指针。
这正是C语言强大、高效和灵活的地方。
如果您没有学会指针,可以说,您就没有学到C语言的精髓。
模块化程序设计:
函数的定义和使用、结构体和共用体等。
其他相关操作,如预处理命令、文件操作等。
最重要的一点,大家要系统的学习入门教程,请进入学习页面:
C语言入门教程
第二步:
进阶,即写出高质量(高效、无Bug、易读、通用和移植)的代码。
亲,如果您按照第一步的步骤去做了,那么恭喜你,你已经入门了,了解了编程语言的基本概念和思想、能用C语言来处理一般的运算和操作了。
但是,这样是不够的,要想成为C语言程序设计高手,必须要考虑内存和CPU分配、程序
运行效率、程序的移植性和易读性等其他因素,这在软件设计过程中是相当重要的,笔者一个朋友曾设计一个流量统计软件,仅仅是因为多写了一行代码,造成内存泄露(内存被用尽),电脑直接卡死,给三千多用户带来不便。
进阶阶段,你可以系统的学习C语言中文提供的C语言进阶教程(包括对C语言关键字、预处理、指针和数组、内存管理、函数详解、时间和日期等),也可以在我们的专题列表里详细学习,截至文章发布之日,专题列表已经包含了十六个专题,针对C语言的每一个细节进行详细的讲解。
亲,如果你已经学习了笔者所推荐所有文章,那么恭喜你,即使你算不上大牛,也绝对不是菜鸟了。
不过,要想成为绝顶高手,还是要慢慢实践和修炼的。
篇三:
c语言教学计划
海南软件职业技术学院教务处密级:
内部文件
海南软件职业技术学院课程教学计划
C语言程序设计
一、教学培养目标
C语言是影响深远的、传统的、面向过程的优秀编程语言。
C语言功能丰富,表达能力强,使用灵活方便,应用面广,目标程序效率高,可移植性好,既具有高级语言的优点,又具有低级语言的许多特点,特别适合编写系统软件。
现在,C语言不仅为计算机专业工作者所使用,而且为广大计算机应用人员所喜爱和使用。
通过本课程的学习,应使学生掌握高级语言的基本原理,学会运用C语言进行程序设计,同时提高分析问题和解决问题的能力,为后续课的学习和应用开发打下扎实的高级语言理论和实践基础。
《C语言程序设计》是一门理论性、实践均较强的课程,在教学程中要突出理论联系实际的基本原则,注重上机实验。
二、教学手段和方法
本课程侧重于学生的C语言程序设计基础知识教育,更侧重于使学生掌握使用C语言进行程序设计的基本技术,要求具备较新的教学和实验条件,授课与上机实训相结合,以提高学生实际应用能力;对语言的学习除了学语法之外,还必须经过大量的实践训练(如何阅读、编写与修改、调试程序),授课与上机实训相结合,以提高学生实际应用能力提高动手能力,这就要求学生上机前先编好程序,在老师的指导下,认真调试,对于存在的问题加以分析。
三、教学内容实施方案
第一章C语言概述
教学内容:
C语言出现的历史背景
C语言的特点
简单的C程序介绍
C程序的上机步骤
教学目的及要求:
1)了解C语言的历史、特点
2)掌握C语言的运行环境,初步了解运行一个C语言程序的过程
教学重点:
1)C语言的特点
2)C程序的上机步骤
教学难点:
1)C语言的特点
2)C程序的上机步骤
课时安排:
2学时
第二章程序的灵魂--算法
教学内容:
算法的概念
简单算法举例
算法的特性
怎样表示一个算法
结构化程序设计方法
教学目的及要求:
1)掌握用流程图、N-S流程图、伪代码表示算法
2)理解结构化程序设计方法的概念
教学重点:
用流程图、N-S流程图、伪代码表示算法
教学难点:
用流程图、N-S流程图、伪代码表示算法
课时安排:
4学时
第三章数据类型、运算符与表达式
教学内容:
C的数据类型
常量与变量
整型数据
实型数据
字符型数据
变量赋初值
各类数值型数据间的混合运算
算术运算符和算术表达式
赋值运算符和赋值表达式
逗号运算符和逗号表达式
教学目的及要求:
1)掌握几种基本数据类型的存储方式,表示方法
2)掌握不同类型间数据转换的原则与方法
3)掌握有关运算符与表达式的运用
教学重点:
1)整型、实型、字符型数据
2)运算符和表达式的运用
教学难点:
1)整型、实型、字符型数据
2)运算符和表达式的运用
课时安排:
4学时
第四章最简单的C程序设计----顺序程序设计
教学内容:
C语句概述
赋值语句
数据输入输出的概念及在C语言中的实现
字符数据的输入输出
格式输入与输出
顺序结构程序设计举例
教学目的及要求:
1)掌握语句的概念
2)掌握字符数据输入输出函数
3)格式输入输出函数的用法
教学重点:
1)数据输入输出函数
2)格式输入输出函数
教学难点:
1)字符数据输入输出函数
2)格式输入输出函数
课时安排:
4学时
第五章选择结构程序设计
教学内容:
关系运算符和关系表达式
逻辑运算符和逻辑表达式
if语句
switch语句
程序举例
教学目的及要求:
1)熟练掌握关系、逻辑表达式的用法
2)熟练掌握选择型程序设计语句的用法
教学重点:
1)表达式
2)选择型程序设计语句
教学难点:
逻辑表达式
课时安排:
共6学时
第六章循环控制
教学内容:
概述
goto语句以及用goto语句构成循环
while语句
do-while语句
for语句
循环的嵌套
几种循环的比较
break语句和continue语句
程序举例
教学目的及要求:
1)练掌握三种循环语句的运用
2)掌握break和continue语句的运用
教学重点:
1)循环语句
2)循环的嵌套
3)break和continue语句
教学难点:
1)循环语句
2)循环的嵌套
3)break和continue语句
课时安排:
6学时
第七章数组
教学内容:
一维数组的定义和引用
二维数组的定义和引用
字符数组
教学目的及要求:
1)掌握数组的概念和使用
2)掌握数组初始化的方法
3)掌握字符数组和字符串的应用
教学重点:
1)一维数组
2)二维数组和多维数组
3)字符数组
教学难点:
1)二维数组和多维数组
2)字符数组
课时安排:
6学时
第八章函数
教学内容:
概述
函数定义的一般形式
函数参数和函数的值
函数的调用
函数的嵌套调用
函数的递归调用
数组作为函数参数
局部变量和全局变量
变量的存储类别
内部函数和外部函数
如何运行一个多文件的程序
教学目的及要求:
1)掌握函数的定义和调用方法
2)理解变量的存储属性,作用范围
教学重点:
1)数的定义
2)函数的参数及返回值
3)函数的调用
4)数组作为函数参数
5)局部变量和全局变量
6)变量的存储类别
教学难点:
1)函数的参数及返回值
2)函数的调用
3)数组作为函数参数
4)变量的存储类别
课时安排:
8学时
第九章预处理命令
教学内容:
宏定义
“文件包含”处理
条件编译
教学目的及要求:
掌握使用宏替换编写程序
教学重点:
宏定义
教学难点:
宏定义
课时安排:
2学时
第十章指针
教学内容:
地址和指针的概念
变量的指针和指向变量的指针变量
数组的指针何指向数组的指针变量
字符串的指针和指向字符串的指针变量
函数的指针和指向函数的指针变量
返回指针值的函数
指针数组和指向指针的指针
有关指针的数据类型和指针运算的小结
教学目的及要求:
1)掌握指针变量的定义与引用
2)掌握指针与变量,指针与数组,指针与字符串的关系
3)掌握用指针作为函数参数的方法,有关指针的算法
教学重点:
1)指针的定义、引用
2)指针与变量
3)指针与数组
4)指针与函数
教学难点:
1)指针的定义、引用
2)指针与数组
3)指针与函