C语言作为一门应用最广泛的高级开发语言之一,自从诞生以来便长盛不衰。当然,对于想要入行嵌入式开发的小伙伴来说也是必备掌握的技能,笔者最近八月份用了一个月的时间重新学习了一遍C语言,从最基本的运算符到高级的结构体与链表,收获颇丰。下面介绍一下我的学习路径。

学习都是相通的,无非是知识点的理解、实例练习、知识复习串联。C语言作为一门计算机语言,我们掌握它一定要了解它的语法,所以我们首先要对相关知识点语法进行理解,然后在一个开发环境里面写代码实操练习来掌握它。

想要基本去达到入门的程度,一个月足够了,甚至还挺充裕,先对学习的内容做一个规划,每天学什么,都练习哪些东西?在这里就不列举细节性的知识点,相关语法可以参考b站上面的C语言课程,下面就通过两个文件分享一下,一个是我学习的日志,还有一个是理解相关知识点的练习题。

由于我本着入行嵌入式软件开发的目的去学,所以对相关知识点的练习也是基于Linux的环境进行 

1 每日学习进程

                               C语言学习阶段学习进程8月9日(周二):Linux基础指令与初识C语言(1)Linux指令-----生成文件gedit,gcc,  ./a.out ,mv, tar, cd, ls, cp, su, sudo ,rm等(2)c语言代码框架---头文件、主函数、返回类型、返回值 (3)存储换算单位:8bit=1byte,1024byte=1KB 1024KB=1MB  1024MB=1GB(4)进制转换:2进制、8进制、10进制、16进制之间的相互转换
8月10日(周三):C语言基本知识:数据类型&运算符C语言中的标准输入输出 Printf(“格式原样输出”)  / printf(“格式原样输出+x个格式控制符.”,n个输 出列表)(1)变量与常量(x与1的区别)(2)标识符的命名规则4个命名规则:数字字母下划线,区分大小数为后,见词知意关键字 (3)数据类型基本:char/int/float  构造类:指针、数组、结构体、共用体、枚举(4)运算符赋值:=、算数、关系:==  <=  >=  !=  <<  >> 、逻辑、位、自增自减、复合、逗号、问号运算符;类 型转换。
8月11日(周四):数据结构&运算符(1)逻辑运算符:&&  ||   !  位运算符:&  |  ^算数运算符:+ - * /  自增自减运算符:++  --   复合运算符:+= -= *= \=  %=  &=  |=  ^=   问号运算符:?  逗号运算符: ,  (2)类型转换:自动类型转换/强制类型转换(3)sizeof运算符8月12日(周五):流程控制语句(1)选择语句if语句;if……else语句;if……else if ……(else)语句;switch语句;(2)循环语句for语句;do...while语句;while语句;while(1)死循环(3)控制语句break语句(跳出本层循环);continue语句(跳出本次循环);return语句;goto语句;
8月13日(周六):自习
8月14日(周日):休息
8月15日(周一):流程作业处理
8月16日(周二):一维数组(1)整数数组:定义与格式、数组的初始化(区分部分初始化、完全初始化、省略长度的初始化)、数 组的应用(冒泡排序)(2)字符数组:格式(对应输入输出的格式控制符都是%s,且利用输入函数时不加取地址符&)、 gets()/puts()、getchar()/putchar()函数、字符串拷贝函数strlen、字符串拼接函数strcat、 字符串比较函数strcmp
8月17日(周三):二维数组(1)二维整数、浮点、字符数组的定义与初始化(2)对应的输入输出的表达(两个for循环)
8月18日(周四):数组作业处理(1)指针的初步理解(指针的初始化,指针的定义及赋值)
8月19日(周五)指针(1)解指针 (2)指针偏移(3)指针与数组(一维数组、二维数组及其元素的几种表达方法)(4)指针数组(数组中的元素均为指针)(5)C语言的5大区(栈区、堆区、全局区、常量区、代码区) (6)const关键字(两种形式--修饰变量与指针)
8月20日(周六)自习
8月21日(周日)休息
8月22日(周一)指针作业处理
8月23日(周二)函数(1)函数的类型、概念与分类格式(2)函数的调用与其传参(3)局部变量与全局变量在函数调用中的应用(4) 递归的应用(函数调用自身的操作)(5)指针函数
8月24日(周三)函数作业处理
8月25日(周四)结构体&共用体&枚举(1)结构体的定义初始化方法与使用方式(2)求结构体类型的方法(3)共用体的使用与求其大小的方法(4)枚 举的使用方法
8月26日(周五)结构体作业处理&学生信息管理系统(1)利用多种函数构建项目--学生管理系统
8月27日(周六)编译预处理(1)将项目-学生管理系统的主函数分为多个.C与.h文件,并建立一个工程。
8月28 日(周日)休息
8月29日(周一)链表(1)链表与数组的关系(2)链表的定义方式( 一种是直接定义,一种是先定义数据域后定义指针域)(3) 节点的分类(4)链表与数组的区别(5)与链表相关的函数(6)新的指针定义方式
8月30日(周二)链表版学生管理系统(1)单向链表、双向链表(2)循环链表
8月31日(周三)文件操作
9月1日(周四)文件操作作业处理(1)文件操作的概念(2)与文件操作相关的函数:打开关闭函数(fopen,fclose)、单字符读写操作函数 (fputc、fgetc)、字符串的写读操作函数(fputs、fgets)、格式化写入读取函数(fprintf、 fscanf)、 光标偏移函数(直接偏移到文件开头rewind)、块读写函数(fwrite、fread)、光标偏移函数(可渐次偏移fseek)、计算光标当前函数(ftell)、判断是否到达文件末尾函数(feof)
9月2日(周五)堆栈、队列、树、二叉树(1)完成链式结构与顺序结构进出栈操作
9月3日(周六)总复习

2 相关练习作业

可在我的资源中查看参考

如何一个月学会C语言相关推荐

  1. 一个月学会Python的Quora指南和资料放送

    欢迎关注天下博客:http://blog.genesino.com/2017/12/python-quora/ 如何一个月学会使用Python 文章翻译自Quora上的回帖,略有改动.原文链接:htt ...

  2. 语句拼接_第2课:一个周末学会R语言数据处理:表拆分和拼接

    从一线收集了两百个文件,要整合到一起?总部一张全国两百个城市的汇总表,拆成两百个小文件?开什么玩笑,难道要复制粘贴到天荒地老... 不用这么麻烦,一个循环,一个语句,实现快速表拆分和表拼接,从此告别复 ...

  3. 如何用一个月学会python?

    如何用一个月学会python? python目前应用最广的三个岗位:全栈开发.数据分析.运维开发,今天我们就以这三个重点的岗位来做一下自学Python的规划,希望你在学之前就能有明确的学习方向. 最近 ...

  4. python一个月能掌握吗_零基础python入门分析,如何做到一个月学会(深思极恐)...

    在数据分析领域,python是一个绕不开的知识和工具,如果不会用python就很难说自己会数据分析,但是最近很多想要入门数据分析的小白经常问我,Python怎么入门?Python虽然被称作是" ...

  5. python零基础怎么学-零基础python入门分析,如何做到一个月学会(深思极恐)

    在数据分析领域,python是一个绕不开的知识和工具,如果不会用python就很难说自己会数据分析,但是最近很多想要入门数据分析的小白经常问我,Python怎么入门?Python虽然被称作是" ...

  6. 一个月学会Python,零基础入门数据分析

    在数据分析领域,python是一个绕不开的知识和工具,如果不会用python就很难说自己会数据分析,但是最近很多想要入门数据分析的小白经常问我,Python怎么入门?Python虽然被称作是" ...

  7. 零基础一个月学会这些就能成为初级CSS前端开发工程师

    一个月的时间,成为一个初级的css前端开发工程师?作为一个混迹前端圈几年的码界小姐姐的我来说,我觉得还是蛮难的,毕竟前端这个东西技术的含金量还是蛮高的,不然你觉得关于程序员月入几万都是大风吹来的吗,虽 ...

  8. 如何一个月学会3dsmax游戏建模

    3Dmax这种硬技术的东西只有一步步的去学习,一步登天是不可取的哦.有一些同学总是希望自己能够两三个月就能把建模学会.这里告诉你们,除非你是有爱因斯坦的那种智商,否则,根本不可能. 下面给大家推荐几种 ...

  9. 单片机一个月能入门么?单片机工程师能干到多少岁?

    当初我在学习单片机的时候,和很多新手一样,很迷茫,很焦虑,不确定自己能不能学会,如果可以大概需要多久. 不过最终我还是成功了,不然也没有今天这篇文章的出现. 今天来分享下我是怎么做到,希望能为和我当初 ...

最新文章

  1. c语言中将数组设为空,求助~~ 如何把数组变成动态输入的?
  2. WebService的两种方式SOAP和REST比较 (转)
  3. 【小项目关键技术七】MPU6050
  4. 526个常用英语词组
  5. 自动局部变量 与 静态局部变量 的区别与用途
  6. boost::units模块实现确保最小的 + - * / 单元类功能齐全的测试程序
  7. session中存放一个对象,只修改对象的属性,不将修改后的对象存放session,发现session中存放的对象也发生改变!
  8. phpcms 添加稿件到栏目 add_content
  9. android学习笔记---40_建立能与访问者进行相互通信的本地服务,后台运行的service
  10. 确认oracle是否繁忙,Oracle系统繁忙时,快速定位
  11. php过滤style,PHP过滤各种html标签
  12. 《R语言机器学习:实用案例分析》——1.8节总结
  13. arraylist 初始化_ArrayList 和 LinkedList 哪个更占空间?
  14. 锦城学院计算机系考研,奋斗的青春, 滚烫的人生—— —我的考研路
  15. Zabbix篇之Web登录页面报错:Database:Error connecting to database: Access denied for user ‘zabbix‘ @ ‘localhos
  16. 北京全市医保定点医疗机构直接社保
  17. php面试-职业规划
  18. 计算机数列类型,斐波那契(Fibonacci)数列的几种计算机解法
  19. Linux内核编译基础
  20. 做数据分析,连趋势分析法都不会,就白混了!

热门文章

  1. video在某些浏览器默认静音
  2. 2020.9月做题记录
  3. Idea连接数据库,并生成pojo
  4. 2021北师大丰台实验高考成绩查询,2021北京高考考场分布及位置,考生可先熟悉位置...
  5. linux7webmin,如何在CentOS 7上安装Webmin
  6. 解决秒杀系统超卖问题的三种方案
  7. 期货合约保证金原因(金融期货合约有没有履约保证金)
  8. 第26件事 精益创业的3个访谈
  9. SCTF情报局|Syclover战队专访来喽!
  10. 【论文模型讲解】多模态对话 Multimodal Dialogue Response Generation