零基础学习C语言入门到精通你只差一张图的距离

C语言里面东西从易到难也多,先要入门,掌握基本的几个东西, 背根本没用的,顶多有点印象,举例Helloworld程序, stdio.h是什么意思, standard input output的缩写,就是基本输入输出,#include 字面意思 包含了这个工具, 有这个工具,你才能在命令行标准打印字符数字。总之就是理解,背这种方法对于时间不多的你等于浪费时间,推荐C语言之父的 C教程。《The C Programming Language》也就是这本书,慢慢看,看不懂的边写例子边反复看。一直反复看,配合好的视频教程, 我之前看过的一个入门级别的《好爽,C语言》他讲的做入门就很好。

本文采用思维导图的方式撰写,更好的表述了各知识点之间的关系,方便大家理解和记忆。这个总结尚未包含C语言数据结构与算法部分,后续会陆续更新出来,文中有漏掉的知识点,还请大家多多指正。

总体上必须清楚的:

1)程序结构是三种: 顺序结构 、选择结构(分支结构)、循环结构。

2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择),有且只有一个main函数。

3)计算机的数据在电脑中保存是以二进制的形式. 数据存放的位置就是 他的地址.

4)bit是位 是指为0 或者1。 byte 是指字节, 一个字节 = 八个位.

易混淆的概念:

1)编译预处理不是C语言的一部分,不占运行时间,不要加分号。C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。小编推荐一个学C语言/C++的学习裙【 六二七,零一二,四六四 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

2)#define PI 3.1415926; 这个写法是错误的,一定不能出现分号。

define a 1+2 define a (1+2)

a=a*a=1+2*1+2=5 a=a*a=3*3=9

3)每个C语言程序中main函数是有且只有一个。

4)在函数中不可以再定义函数。

5)算法:可以没有输入,但是一定要有输出。

6)break可用于循环结构和switch语句。

7)逗号运算符的级别最低,赋值的级别倒数第二。

知识难点:

1)指针部分。

2)数组部分.

3)函数栈帧的创建与销毁。

4)可变参数列表。

这些难点:我都有专门的博客详细介绍了,大家可以自行查看:

学习C语言的几个建议:

1. 找个东东带你入门。这个东东可以是老师,可以是书籍,可以是视频,可以是讲义,可以是一切的东东。如果是老师,最好是经历过实际编程项目的人,他们经验多,可以教会你很多。学校里的老师嘛,很多都是理论梦想家,恐怕教不出你实际的东西。书籍,我建议尽量看国外大牛写的,国内的教材还是少看为好!这里我说下谭教授的教材。我当初学习C语言时教材就是教授的教材,写的比较通俗易懂,最起码把我领进了门。当入门了以后,想进一步提高自己的水平,就不要死抠着教授的教材了,可以看看国外大牛们的书了。

2. 入门了,当你坐在电脑前,你不一定会立即就能写出代码。不过没关系,你可以先从敲一些很简单的代码开始练起。给自己找一些简单的小需求,比如高校里的课程设计要求做的项目啊,自己去网上找一些别人提的需求啊等。尤其现在有很多的开源项目,你可以多看看人家的思路和技巧;

3. 多总结,多分享。你在编程中,肯定会遇到很多困难,走了很多弯路,把它们写出来,总结出来,拿出来跟别人讨论,这期间肯定有人会鄙视你,嘲笑你的技术,别放心上,谁没有个菜鸟期,他们生下来就是高手吗?

4. 参与到项目中。这个项目不管是公司分配的也好,不管是开源的也好,用心去做,做的过程慢慢琢磨,慢慢摸索,不断向周围的人请教,学习!

其实说了这么多,无非就是两个字“练习”,四个字“持之以恒”!很多人就是没有那个心坐下来,坚持不下去。

加油,去实现你的梦想吧!

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180329A1IH4S00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券