
c语言学习计划.doc.docx
29页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语言的朋友使用tubor c的比较多,很多早期的教程也是以tubor c为基本 工具进行讲解不过,现在笔者不推荐使用tubor c下载地址:tubor c下载 第一步:入门,即学会如何写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 你肯定知道,定义“int a[10];”,a[10]这个元素是无效的 你知道几种数组初始化的方法?数组和指针有千丝万缕的联系而又不同,你是否对他们在不同情况下的使用进行过详细 的总结? “int calendar[10][20];”,这是一个什么样的数组?它拥有10数组类型的元素,还是 20个? “int a[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常量来代替宏?下面四种情况,你知道是各表示什么意思吗?int i_value= 10; const int* pvalue = &i_value int const *pvalue = &i_valueint* const pvalue= &i_value const int* const pvalue = &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) 。












