南京电信 发表于 2023-10-30 16:42:38

在b站学c语言,应该听哪个?

在b站学c语言,应该听哪个?

limao100 发表于 2023-10-30 16:43:15

首推翁凯老师,翁凯老师是浙江大学计算机科学与技术学院的老师,在中国大学MOOC开设了C语言程序设计、Java语言程序设计等课程,是目前选课人数最多、最活跃的课程之一。
翁凯老师的课程很有趣,会用很多例子引导你去思考,而不是直接灌输知识。
翁恺C语言_哔哩哔哩_bilibili
http://pic1.zhimg.com/v2-db03d7261679dbdec79c775e0167ccb5_r.jpg?source=1940ef5c

当然有些同学看翁老师的课程会有些吃力。这些同学可以先看郝斌老师,郝斌老师几乎把c语言的根本原理都讲出来了,很基础很接地气的,很容易理解上手,当然如果有的同学没听懂也不要急,多听几次多敲几遍代码就会了。
《郝斌C语言自学教程》_哔哩哔哩_bilibili
http://pica.zhimg.com/v2-7c1d5d14133a834c09068dcdf23a2bd0_r.jpg?source=1940ef5c
最近b战还有一个比较火的c语言教程——b站鹏哥,这是培训班风格,比较适合想要提升C语言编程能力和做出小项目的同学。

http://picx.zhimg.com/v2-3aa88110ac95010e5c126f5dbe338b71_r.jpg?source=1940ef5c
c语言编程 C语言入门 c语言(C语言程序设计教程 c语言视频教程 c语言零基础入门教程 学习c语言 c语言视频教程 c语音 C语言教程 C语言编程项目 C语言_哔哩哔哩_bilibili​www.bilibili.com/video/BV1q54y1q79w教程软件使用的是vs2013,最新教程使用的是vs2019。
虽然这个视频很长(100小时,别的才20+、30+h),但完全没有在水时长!
这个视频是一个点一个点仔细讲,会循序渐进地先讲解思路,再亲手写代码。
再分享些刷题资料、书籍和项目源码,结合视频学习更有效。
辅导资料(软件安装、课后练习)

1、 C语言经典100题参考解答:
C语言经典100题参考解答_哔哩哔哩_bilibili​www.bilibili.com/video/BV1us411G78W2、 vs2019下载安装基本使用:
vs2019下载安装基本使用_哔哩哔哩_bilibili​www.bilibili.com/video/BV1pJ411k7WU保姆级别教学教安装vs2019
经典书籍

基础入门类

1. C语言程序设计:现代方法(豆瓣9.4)


http://picx.zhimg.com/v2-71d83f1a75e57432253c97fcc6652e6f_r.jpg?source=1940ef5c
适合小白入门。
这本书为大学本科阶段的 C语言课程编写的教材,很适合打C语言的基础。
这本书完整覆盖C99,内容丰满,而且每章的问答部分是书中的精华,从基础知识,代码风格,编程思路到计算机的认识都有很好的讲解。
书中的范例与代码风格很专业整洁,能够在语言入门时就建立很好的代码风格,会为将来省去相当多的麻烦。
2. C Primer Plus (豆瓣9.4)


http://picx.zhimg.com/v2-9a5083b452628e3e531a7afd43499155_r.jpg?source=1940ef5c
这本书适合有C语言基础的小伙伴。
这本书是C语言领域的经典书籍,畅销多年不无道理。
这本书对C语言做出了完整的介绍,从最简单的数据类型,语法单元,到编译,库函数以及稍微复杂的算法和数据结构。
接触过国内C语言教材,并且觉得自己学的很混乱的小伙伴强烈推荐看这本书,会让你有眼前一亮,豁然开朗的感觉。因为这本书会把C语言知识串起来,形成完整的知识体系。
进阶类

C程序设计语言 (豆瓣9.6)


http://picx.zhimg.com/v2-4685d5769c4b4cd7fb732b83aaf4e6e6_r.jpg?source=1940ef5c
这本书适合有C语言基础的小伙伴。
这本书是C语言的设计者Dennis M.Ritchie和著名计算机科学家Brian W.Kernighan合著作品,是C语言程序员案头必备书籍。
这本书虽然只有薄薄的200多页,但却全面、系统、准确地描述了C语言的特性和基本语法。
C专家编程(豆瓣9.2)


http://pic1.zhimg.com/v2-9d67f9b5f474118d65eece9e05534047_r.jpg?source=1940ef5c
这本书适合有C语言基础、想进阶的小伙伴。
作者是曾经的SUN编译器小组的成员,真的介绍了很多C开发的实际经验,把c讲解到了一个很高的层次,深入剖析了其他书上没有提到过的好东西。
虽然是技术类书籍,但是作者很幽默,并且每章节末尾都有一个早期Hacker的轶事,所以读起来非常轻松。
C缺陷与陷阱 (豆瓣8.9)

这本书适合有C语言基础、想进阶的小伙伴。
这不是讲C语言基础的书,而是从一些C语言的特性入手,讲C语言编程时容易出现的错误,对了解使用C语言过程中可能存在的“陷阱”很有帮助。

http://picx.zhimg.com/v2-9b6e3e12d1abd536ac049e839f8905a5_r.jpg?source=1940ef5c
C和指针(豆瓣9.0)


http://picx.zhimg.com/v2-f53bf4515e1344c7c9113151ccc18d70_r.jpg?source=1940ef5c
这本书适合有C语言基础、想进阶的小伙伴。
这本书特别注重指针的讲解,除了头尾的几章,指针的话题几乎是贯穿了全书。
更将指针这一让人挠头的概念,用以简洁准确的文字,配合贴切的图示,讲解的让人容易得其要领.
即使看过了C专家编程和C缺陷和陷阱,这本书仍值得一看。而且有了前面两本的基础,看这本书的效率会大大提升。
此外,读本科和研究生期间,我买了很多书,大部分是一些技术书籍,也收集了这些书籍的电子版,都在这里,现在免费share给大家。上面这些c语言的书籍也都有。
包括了计算机类常用电子书,并且可以download,包括C,C++,Java,Python,Java,Linux,Go,数据结构与算法,操作系统,计算机网络,计算机组成原理,设计模式,数据库,前端,人工智能等

http://picx.zhimg.com/v2-01ed81cb876a13beb70bbd320748fdf5_r.jpg?source=1940ef5c
书籍下载:
计算机必看经典书单(含下载方式)​mp.weixin.qq.com/s?__biz=MzkyMTI3Mjc2MQ==&mid=2247490233&idx=1&sn=4049dd1ef774ac9fbbf921dd450f7d9a&chksm=c187726ff6f0fb797321688955f0d524551adc9debc22550aa1ee9c4d817aa9291407f63f8ab&token=1681860017&lang=zh_CN#rd包括了计算机类常用电子书,以及国内计算机常用教材和课后答案,包括C,C++,Java,Python,Java,Linux,Go等。
三、C语言练手项目

1.《C 语言实现贪吃蛇》:将在Linux平台使用C语言编程,在终端界面上玩贪吃蛇。本课程分为三个实验,实验一介绍了图像库,实验二绘制游戏图像界面,实验三实现贪吃蛇。逐步为同学们讲解一个游戏的制作过程。
2. 《C语言实现通讯录》:使用 C 语言完成一个简单的通讯录。会涉及到结构体、数组、链表等重要概念。


http://picx.zhimg.com/v2-3215bd8b24e41782521739ff9847b45a_r.jpg?source=1940ef5c

3.《C 语言制作 2048》:2048是之前十分火爆的一款益智游戏。将使用 C 语言完成一个2048游戏。适合对C语言有一定基础,想做项目练手的同学,本课程学习后将会了解C语言,以及绘图库ncurses的实用。
4.《C 语言实现聊天室软件》:使用 C 语言实现聊天室软件,学习并实践基本的 Linux socket 通信的相关技术,加深对 TCP/IP 协议栈的理解。
5.《C 语言快速实现五子棋》:用最简单的代码来实现五子棋游戏,帮助大家复习基础知识,学习了如何设计并实现一个五子棋游戏,巩固大家的基础知识。涉及到C语言的基础逻辑判断,程序设计与编写。
End

点个赞再跑
欢迎 @程序员库森点个关注~

chinacfan 发表于 2023-10-30 16:43:53

推荐:

[*]《郝斌C语言自学教程》
[*]《程序设计入门——C语言(浙大翁恺)》

知名大学计算机系开源课程收录:


[*]浙江大学课程攻略共享计划
[*]清华大学计算机系课程攻略
[*]上海交通大学课程资料分享
[*]北京航空航天大学(北航)课程作业资料共享计划
[*]华北电力大学计算机系课程攻略
[*]北京邮电大学计算机考研信息汇总
C语言

C 语言可以零基础入门,它的语法是很多高级编程语言的基础,比如说 Java、C++;并且起到承上启下的作用,向上可以学习高级编程语言,向下可以学习计算机组成原理、操作系统等等偏基础的计算机基础知识。
C语言相关电子书:

推荐书籍:

[*]第一本书《阿哈C语言》的写书风格个人认为比较风趣幽默,对于培养兴趣,基础学习还是很不错的
[*]《C程序设计语言》,机械工业出版社,作者Brian W. Kernighan / (美)Dennis M. Ritchie。C 语言之父写的,入门经典书籍。
[*]《C Primer Plus》 ,人民邮电出版社,作者 Stephen Prata。 可以作为 C 语言工具书,也可以作为入门,内容循序渐进,能够锻炼编程思想。
[*]《C和指针》 深入了解指针,看完以后对指针不再害怕。
[*]《C陷阱与缺陷》 正如书上所说,“本书所揭示的知识,至少能够帮助你减少 C 代码和初级 C++ 代码中 90% 的 Bug”,看完后可以避免 C 语言开发的一些坑。
需要下载下面电子书的话,直接点击书名,输入提取码!

[*]征服C指针 提取码:wwcd
[*]经典C程序100例 提取码:t8oe
[*]C专家编程 提取码:uso7
[*]C语言指针经验总结 提取码:ibjw
[*]C语言深度解剖 提取码:6qho
[*]C语言深度解剖 解开程序员面试笔试的秘密 提取码:ffh1
[*]c语言入门经典(第5版) 提取码:lzro
[*]C语言解析教程 提取码:mfgv
[*]C语言函数大全 提取码:ir2d
[*]C语言的科学和艺术 提取码:zm88
[*]C语言答疑解惑与典型题解 提取码:8cw5
[*]C语言从入门到精通 第2版明日科技 提取码:4s8h
[*]C语言程序设计_现代方法 提取码:t4vn
[*]C语言常见问题集(问题提高版) 提取码:xto5
[*]C语言参悟之旅 提取码:5h1t
[*]C语言参考手册第五版 提取码:t3g1
[*]C语言编程精粹 提取码:5oai
[*]C陷阱与缺陷 提取码:nejz
[*]C和指针(中文版) 提取码:1gvd
[*]C程序设计语言(英文第2版)及其课后题答案 提取码:wzky
[*]C程序设计语言(第2版 新版)及课后答案 提取码:rowl
[*]C 程序设计语言(第2版) 提取码:4s98
[*]C Primer Plus 中英版 提取码:um90
[*]C Primer Plus 第6版 中文版 提取码:n30r
[*]21天学通C语言 第7版 提取码:8fuj
[*][学通C语言的24堂课].刘彬彬&孙秀梅 提取码:f44n
[*].明日科技.扫描版 提取码:bn80
C语言文章干货:


[*]C语言最全入门笔记
[*]C语言书籍、软件、60个源码
[*]一文带你学C/C++,详细知识点思维导图!
[*]10W+ 字C语言从入门到精通保姆级教程(2021版上)
[*]10W+字C语言从入门到精通保姆级教程(2021版下)
[*]熬夜整理的C/C++万字知识总结(一)
[*]熬夜整理的C/C++万字知识总结(二)
[*]熬夜整理的C/C++万字知识总结(三)
[*]熬夜整理的C/C++万字知识总结(四)
[*]熬夜整理的C/C++万字知识总结(五)
[*]聊聊我是如何编程入门的
[*]C语言中三块难啃的硬骨头
[*]C语言/C++基本语句编程风格
[*]C语言C++中assert的用法
[*]字符串操作的全面总结
[*]C/C++ 位操作详解
[*]C/C++基础之sizeof使用
[*]C语言常用标准库解读
[*]C/C++ 头文件 “ 细节 ”
[*]详细剖析 extern "C"
[*]头文件防卫式声明
[*]长文详解:C语言预处理命令
[*]C语言最常用的贪心算法就这么被攻克了
[*]干货|手把手教你写单片机的C语言结构体
[*]常见的C语言内存错误及对策
[*]C语言实现面向对象的原理
[*]一步步分析-C语言如何面向对象编程
[*]C语言字符串详解
[*]干货 | 深度剖析C语言的main函数
[*]C语言头文件组织与包含原则
[*]C 语言怎么可能被淘汰呢?
[*]数组越界及其避免方法,C语言数组越界详解
[*]看完这篇你还能不懂C语言/C++内存管理?
[*]C语言/C++ 堆栈工作机制
[*]关于堆栈的讲解(我见过的最经典的)
[*]C/C++ 基础栈溢出及保护机制
[*]C语言指针详解
[*]再谈指针:大佬给你拨开 C 指针的云雾
[*]C语言函数指针之回调函数
[*]C语言高效编程与代码优化
[*]C语言之结构体就这样被攻克了!值得收藏!
[*]原码, 反码, 补码 详解
[*]浮点数的秘密
[*]浮点数比较的精度问题
[*]简述C语言宏定义的使用
[*]一些值得被定义为常用C语言头文件库的漂亮宏定义(值得收藏,以备使用参考)
[*]c语言之共用体union、枚举、大小端模式
[*]C语言文件操作
[*]C语言常用的一些转换工具函数!
[*]几种特殊的函数宏封装方式
[*]C/C++程序员的编程修养
[*]编写可移植 C/C++ 程序的一些要点
[*]C语言干货分享|更高层次编写嵌入式C代码
[*]C语言编程规范 clean code
[*]C语言代码优化方案(深度好文)
[*]C语言执行效率如何保证,看这一文就够了!
[*]关于可重入函数
[*]听说有人不了解柔性数组
[*]一文读懂C语言与C++动态内存
[*]OOP 面向对象编程:由 C语言到 C++
[*]C语言与C++常见面试题
[*]难得啊,C语言/C++基础面试知识大集合
[*]面试中常见的C语言与C++区别的问题
[*]C/C++ 八股文
[*]熬夜整理,五万字长文总结 C/C++ 知识点
[*]面试大全 | C语言高级部分总结
[*]两万字带你狙击嵌入式笔试面试题
[*]面试:C/C++常见库函数实现
[*]学生成绩管理系统案例
[*]二叉树操作详解
[*]字符串之正则表达式
[*]熬夜总结14个秒杀算法题的套路!
[*]深拷贝与浅拷贝到底是什么
[*]十大经典排序算法(动态演示+代码)
[*]C 语言实现一个简单的 web 服务器
[*]400 行 C 代码实现一个虚拟机
[*]C/C++ 套接字通信类的封装
[*]C/C++ 服务器并发
[*]手写线程池 - C语言版
[*]C语言线程库的使用
[*]C/C++动态检测内存错误利器 - ASan
[*]C/C++ 关于 cJson 库的使用
视频推荐:


[*]《郝斌C语言自学教程》
[*]《程序设计入门——C语言(浙大翁恺)》
C语言相关小项目及源码


[*]大量好玩的C语言程序,训练编程思维,培养解决问题的思路,领略多姿多彩的C语言
[*]The Algorithms - C
[*]C语言PAT练习
[*]Learn-Algorithms
[*]C语言单元测试框架
[*]CJson:json解码器,C文件只有500行
[*]EasyLogger-一款轻量级高性能的日志库
[*]小型Lisp解释器,不超过1000行代码
[*]PAT实验辅助平台
[*]cwebsocket:一款轻量级websocket库
[*]C语言:斗地主的发牌器
[*]C 语言实现通讯录
[*]C 语言实现 2048 游戏
[*]Tinyhttpd,一个不到 500 行的超轻量型 HTTP Server,可以用来理解服务器程序的原理和本质
[*]db_tutorial,用 C 从零创建一个简单的数据库
[*]分享10个适合初学者学习的C开源项目代码

mahao 发表于 2023-10-30 16:44:09

C 语言的视频我只推荐浙江大学翁恺老师的 C 语言课,yyds!
当时学 C 语言的时候,自己还是个从来没接触过编程的菜鸡,当时的学习全靠翁恺老师了!
是一个课程质量非常棒,讲课幽默,深入浅出的课程,非常容易理解!
主要分两门:

[*]第一门是面向高考结束想提前自学一些编程的或者是刚开始学习的大一新生,叫《程序设计入门-C语言》,涵盖了主要的 C 语言知识点。
程序设计入门——C语言_浙江大学完成本课程之后,就能具有初步的运用C语言编写程序的能力。
2.第二门是《C语言程序设计进阶》,这门课就是要告诉你C语言到底有哪些独特的地方,为什么能长期占据15%上下的编程语言份额。这门课同样也是带你项目实操,和设计入门搭配使用,效果翻倍。
C语言程序设计进阶_浙江大学不过一点儿美中不足的是,不是 B 站的视频。
话说,学 C 语言也没必要只在 B 站上,你看你在知乎上提问问题,那就在知乎上学习 C 语言不也挺香的嘛!
知乎最近新上了一门《C 语言核心技术》,足足 171 集,平均每集的时长也不长,大多数都在十分钟左右。很容易就看完,没有那种动辄一个小时的难受。
内容简直全的不得了:常量-变量、分支语句、循环语句、操作符和表达式、函数、数组、指针(指针和指针类型、二级指针和多级指针、指针表达式解析、指针运算、数 组指针、函数指针、回调函数)、调试技巧、程序环境和预处理 等等等等,妈呀实在太全了!

http://picx.zhimg.com/v2-fd45f689cf331be7957afb267d57f66f_r.jpg?source=1940ef5c
地址放在下面了,搞起~
C 语言核心技术 - 知乎当然了,上面那些仅能算是 C 语言学习的初级阶段。
什么是初级阶段呢?
这个阶段学习 C 语言的基础语法知识。目标是可以开发一些简单的控制台小程序。
有初级阶段就会有提高阶段和应用阶段。
我在“这才是你最想要的 C 语言学习路线”这篇文章中说过:
Rocky0429:这才是你最想要的 C 语言学习路线!C 语言的学习其实就三个阶段就好了:
(1) 入门阶段
这个阶段学习 C 语言的基础语法知识。
目标是可以开发一些简单的控制台小程序。
(2) 提高阶段
这个阶段学习 C 语言自带的库函数,形成 C 语言的基本知识框架。
目标是开发一些基本的应用程序。
(3) 应用阶段
这个是实战阶段,要具备一定的综合性应用软件开发能力。
目标是能够开发像贪吃蛇、图书管理系统、学生信息管理系统等项目。
上面已经讲过初级阶段的视频推荐,其实还是得再配套着 C 语言的书籍,这里我推荐两本入门书籍吧:
《啊哈 C语言》
这本书是为计算机纯小白量身打造。
风格幽默,生动形象,通俗易懂,读起来令人耳目一新,对入门小白培养兴趣的帮助很大。
在语言艺术这方面,是登峰造极,让人不得不佩服作者的才华和用心。
只不过内容并不深入,真的是对零基础,大佬绕路。

http://pic1.zhimg.com/50/v2-bd933897384cd4811c8cdf3398007b1d_720w.jpg?source=1940ef5c
《c primer plus》
语法全覆盖,细节多,知识点讲的清楚,但是内容极多,是本大部头,容易劝退。如果你觉得入门差不多,可以啃一下。
现在是第六版了,书的封面啥的都换了,内容也更贴合现在的需求。
一共17章:

[*]第1、2章介绍了C语言编程的预备知识。
[*]第3~15章详细讲解了C语言的相关知识。
[*]第16章、17章介绍C预处理器、C库和高级数据表示。

http://pic1.zhimg.com/50/v2-b339198df624f9d1afa06eae40a3389f_720w.jpg?source=1940ef5c
如果你在这个阶段觉得差不多了,可以尝试找一些在线的练习题做下。
这里推荐一下牛客网,在线的编程题库做的很不错。
可以通过下面这个我的专属链接,开启你的 C 语言测试之旅~
传送门:牛客网 - 找工作神器|笔试题库|面试经验|实习招聘内推,求职就业一站解决_牛客网
http://picx.zhimg.com/v2-8629f9fbdd7f4586a0be5725b2d77e38_r.jpg?source=1940ef5c
到了提高阶段,你已经对 C 语言有一定认知了,这个时候我们就可以深入学习 C 语言中最重要的指针等内容了。
这个阶段的话,视频的话就没必要看了,直接推荐几本书,当然这些书有哪个知识点看不懂的话,再去找对应的视频去看就好了。
书籍主要推荐下面三本:
《C 和指针》
指针和指针操作一直是c语言中的重点和难点,反正我当时学到这里的时候,就很头疼。
这本书是 C 指针的经点之作,通过对指针的基础知识和高级特性的探讨,来让我们学会把指针的强大功能融入到自己的程序中去。
但是这本书不只是指针,更是一本很棒的 C 语言入门书,提供和C语言相关的全面资源,还有比较深入的讨论,让你形成一个正确的c语言观。

http://pic1.zhimg.com/50/v2-fde88d3ea94c60c18e944d7d25e6f342_720w.jpg?source=1940ef5c
《C 专家编程》
任何人都可以享受编程,编程应该是一项精妙绝伦、充满生机、富有挑战的活动,而讲述编程的书籍也应时时迸射出激情的火花。
这本书展示了最优秀的 C 程序员所使用的编码技巧,还对 C++的基础知识进行了介绍。
书里关于 C 的历史、语言特性、声明、数组、指针、链接、运行时、内存以及如何进一步学习 C++ 这些内容进行了细致的讲解和深入的分析。
差不多对几十个实例进行讲解,生动有趣,对 C 程序员具有非常高的实用价值。

http://pic1.zhimg.com/50/v2-db29d137c22246fc40f212b3b51a5f37_720w.jpg?source=1940ef5c
《C 陷阱与缺陷》
虽然这本书的名字叫《C 陷阱与缺陷》,但本质上这本书说的不是 C 语言的缺陷,而是编程者容易犯的错误。
C 从一开始就是这么设计的,很原始,很危险,所以对编程者有一定要求。
这本书不厚,挺薄的。它不是为了批判 C 语言,而是要帮助 C 程序员绕过编程过程中的陷阱和障碍。
全文的语言很有意思,丝毫没有说教的感觉,举的例子很简单却一针见血,可以作为手边的读物,没事经常翻翻加深印象。

http://picx.zhimg.com/50/v2-54da1e1d1e3976b29266cac7a90f7645_720w.jpg?source=1940ef5c
学编程除了理论外,更重要的是要应用,应用很好理解,前期多敲代码,之后慢慢去升华。
其实编程语言就是要多练,怎么多练,就是代码量。
自己多写,然后多观摩别人的项目,看人家的写法,模仿项目,学习其中的思想,一点点的积累,一步步形成自己的东西,厚积而薄发,慢慢你就会发现你也可以了。
1、C语言制作斗地主发牌器
通过本项目的学习,可以让学员掌握一些棋牌类的手机游戏中的发牌系统算法怎么编写,为学员就业后编写一些小的游戏类APP打下良好的基础。
传送门:C语言:斗地主的发牌器 - 网易云课堂、2、C语言实现通讯录/图书管理
这个课程将使用 C 语言完成一个简单的通讯录。会涉及到结构体、数组、链表等重要概念,需要对 C 语言有一定的了解。
地址:C 语言实现通讯录_C - 蓝桥云课3、C语言实现2048小游戏
2048是之前十分火爆的一款益智游戏,这个课程将使用 C 语言完成一个2048游戏。适合对C语言有一定基础,需要了解C语言,以及绘图库ncurses的实用。大大提高你的动手能力。
地址:C 语言实现 2048 游戏_C4、Tinyhttpd(7.3k+ star)
一个不到 500 行的超轻量型 HTTP Server,可以用来理解服务器程序的原理和本质。
C语言 的入门级项目!
传送门:https://github.com/EZLippi/Tiny5、db_tutorial(5.9k+ star)
用 C 从零创建一个简单的数据库。
传送门:https://github.com/cstack/db_tu希望对你有所帮助

祝大家早日学会 C 语言,早日成为大佬!
如果觉得你是大佬的料,记得过来给我 @Rocky0429 ,大家一起加油鼓劲~

wo177775 发表于 2023-10-30 16:44:16

国内浙大翁凯老师的课,看过的都说好~
浙大C语言-翁凯,分为两门:
C语言程序设计CAP(大学先修课):https://www.icourse163.org/course/ZJU-1001614008
C语言程序设计进阶:https://www.icourse163.org/course/ZJU-200001第一门是面向高考结束想提前自学一点编程和大一新生的,叫大学先修课。
虽然叫先修课,但是覆盖了C语言的主要知识点~
第二门是C语言程序设计进阶,会带你用C语言完成一些有趣的项目,比如一些图形界面小游戏。
先修课学习C语言语法基础,进阶课带你项目实操,搭配使用,你就是同学中的大神!
计算机专业必看经典书籍(附pdf下载),全部豆瓣评分9.0以上~关于编辑器/IDE,推荐如下几个适合初学者的:


[*]Visual Studio(Windows平台)。微软出的,有点庞大。
[*]Dev C++。没有VS那么复杂,是一款免费的C/C++ IDE,内嵌GCC编译器,是NOI等比赛的指定工具。
[*]Code::Blocks一款开源、跨平台、免费的 C/C++ IDE,它和 Dev C++ 非常类似,小巧灵活,易于安装和卸载,不过它的界面要比 Dev C++ 复杂一些,不如 Dev C++ 来得清爽。
C语言经典的书籍这里推荐3本:


[*]第一本是《C Primer Plus》,比较适合入门。内容循序渐进,书中的每一个知识点都有很多生动简单的示例,并给出了相应的运行结果。而且每章末设计了大量复习题和编程练习,帮助巩固所学知识和提高实际编程能力。


[*]第二本是《C程序设计语言》,豆瓣评分9.4分,适合有一点基础后再来看。


[*]进阶推荐《C和指针》。全书共18章,覆盖了数据、语句、操作符和表达式、指针、函数、数组、字符串、结构和联合等几乎所有重要的C编程话题。书中给出了很多编程技巧和提示,每章后面有针对性很强的练习。
适合新手练习的C语言项目推荐!

核心的基础知识掌握并会初步运用,其实就可以开始做一些mini的项目了,在实践中学习更有体感,理解更深刻。并不建议大家在理论基础上花太多时间,毕竟计算机是时间性强的学科,必须多动手,多实践。
<a data-draft-node="block" data-draft-type="link-card" href="http://zhuanlan.zhihu.com/p/456950962" data-size="small" data-image="http://pic2.zhimg.com/v2-4ffb32fd1a5ac5e70b1c9b3bec83006d_720w.jpg" data-entity-type="article" class="internal">计算机专业必看经典书籍(附pdf下载),全部豆瓣评分9.0以上~(1)PTA-程序设计实验辅助教学平台

传送带:https://pintia.cn/problem-sets?tab=0
上面有非常多的习题,非常适合练习。
(2)webbench-网站压测工具

一款知名的linux下的网站性能压测工具,由Lionbridge公司开发,代码不多,不到1000行。
它使用fork()模拟多个客户端同时访问我们设定的url,测试网站在压力下的性能,可以同时模拟3W个并发连接去测试网站的负载能力。
webBech的标准测试可以向我们展示服务器的两项内容:每秒钟相应请求数和每秒钟传输数据量。
webbench不但能具有便准静态页面的测试能力,还能对动态页面(ASP,PHP,JAVA,CGI)进行测试的能力。还有就是他支持对含有SSL的安全网站例如电子商务网站进行静态或动态的性能测试,
下载地址:
http://home.tiscali.cz/~cz210552/webbench.html
使用起来非常简单:
wget https://www.ha97.com/code/webbench-1.5.tar.gz
tar zxvf webbench-1.5.tar.gz
cd webbench-1.5
make
make install命令行选项

http://picx.zhimg.com/v2-87a91855dd7d98526b6a2f54bef9fcf1_r.jpg?source=1940ef5c
其核心原理:

[*]父进程fork多个子进程,每个子进程在用户要求时间或默认时间对目标网站发起访问请求,父子进程通过管道进行通信。子进程通过管道写记录到的信息,父进程通过管道读子进程的信息,子进程在时间到后结束。父进程在子进程退出后统计并展示信息。
(3)CJson-JSON解码器

CJson是一款JSON解码器,代码不到1000行。github star 6.7K。
github:https://github.com/DaveGamble/cJSON
其核心数据结构:
/* The cJSON structure: */
typedef struct cJSON
{
    struct cJSON *next;
    struct cJSON *prev;
    struct cJSON *child;
    int type;
    char *valuestring;
    /* writing to valueint is DEPRECATED, use cJSON_SetNumberValue instead */
    int valueint;
    double valuedouble;
    char *string;
} cJSON;支持的类型:
/* cJSON Types: */
#define cJSON_False 0
#define cJSON_True 1
#define cJSON_NULL 2
#define cJSON_Number 3
#define cJSON_String 4
#define cJSON_Array 5
#define cJSON_Object 6其API用起来也非常简单:
char *out;cJSON *json;
   
json=cJSON_Parse(text);
if (!json) {
    printf("Error before: [%s]\n",cJSON_GetErrorPtr());
} else {
    out=cJSON_Print(json);
    cJSON_Delete(json);
    printf("%s\n",out);
    free(out);
}(4)EasyLogger-高性能、轻量级C/C++日志库

是一款超轻量级、高性能的C/C++日志库,非常适合资源敏感的场景。
其功能简单,上手迅速,以插件形式动态扩展支持更多实用功能。
代码下载链接:
https://gitee.com/Armink/EasyLogger
主要特性:
支持用户自定义输出方式(例如:终端、文件、数据库、串口、485、Flash...);
日志内容可包含级别、时间戳、线程信息、进程信息等;
日志输出被设计为线程安全的方式,并支持 异步输出 及 缓冲输出 模式;
支持多种操作系统(RT-Thread、UCOS、Linux、Windows...),也支持裸机平台;
日志支持 RAW格式 ,支持 hexdump ;
支持按 标签 、 级别 、 关键词 进行动态过滤;
各级别日志支持不同颜色显示;
扩展性强,支持以插件形式扩展新功能。(5)cWebsocket-轻量级websocket服务库

传送带:https://github.com/m8rge/cwebsocket
特点:跨平台、轻量级。
(6)cmockery-轻量级单元测试框架

一款轻量级C语言单测框架,google发布的,非常小巧和轻量级,代码不到3K行。对其他开源包没有依赖,对被测试代码侵入性非常小。
是由google在2008年发布的,这是google open source blog上的博文:
https://opensource.googleblog.com/2008/09/cmockery-easier-unit-tests-for-c.html
github链接:
https://github.com/google/cmockery
(7)C语言实现数独

youtube上有完整的详细的系列教学视频,强烈推荐:
https://www.youtube.com/playlist?list=PLkTXsX7igf8edTYU92nU-f5Ntzuf-RKvW
不过视频是英文的,需要一定的英文听力能力。

http://pica.zhimg.com/v2-18604dcf2267441a70556d85b6d8edc8_r.jpg?source=1940ef5c
(8)Tinyhttpd-轻量级http server

一款超轻量级http server,使用C语言开发,代码总共才500行左右。通过这个小工程可以理解一个httpserver的本质。
github star 7.8K:https://github.com/EZLippi/Tinyhttpd
基础工作原理:

http://pic1.zhimg.com/v2-e6b2851046fc88749bcde88de2c91e4f_r.jpg?source=1940ef5c
(9)libev-开源事件驱动框架

难度指数:中。一款C语言编写的高性能事件驱动框架,基于reactor模式实现。
官网:http://software.schmorp.de/pkg/libev.html
github(star 1.2K):https://github.com/enki/libev
文档介绍:https://metacpan.org/dist/EV/view/libev/ev.pod
注意:学习此框架需要了解Linux操作系统部分基础知识。IO多路复用技术:

http://pic1.zhimg.com/v2-dc211e9207787146bfe92788e4a9bf27_r.jpg?source=1940ef5c
reactor模式:

http://pica.zhimg.com/v2-b7bbd589f830050f6b59f668e830dd0d_r.jpg?source=1940ef5c
模块间的交互:

http://pic1.zhimg.com/v2-be7fe7bd675892e0d3437a23cfdb8801_r.jpg?source=1940ef5c
(10)buildyourownlisp-小型Lisp解释器

难度指数:高。一本开源书籍,教你用C语言实现自己的lisp语言:一个1000行左右的简单lisp。
链接:https://www.buildyourownlisp.com/
网上有2个中文翻译版:
(1)https://www.abnerchou.me/BuildYourOwnLispCn/
(2)并未翻译完成:https://ksco.gitbooks.io/build-your-own-lisp/content/

http://pic1.zhimg.com/v2-76bb1d59391ad8e458aac924e6e53063_r.jpg?source=1940ef5c
网友的实现:https://github.com/NessOffice/Lisp_on_C
(11)kilo-文件编辑器

用不足1000行代码实现一个文件编辑器,酷不酷?
github star已有5.3K:https://github.com/antirez/kilo
博客介绍:http://antirez.com/news/108
官网:https://viewsourcecode.org/snaptoken/kilo/

http://picx.zhimg.com/v2-0a674302202bad13663b9438de62fc0c_r.jpg?source=1940ef5c
(12)ffmpeg-视频播放

不足1000行代码实现视频处理功能:
http://dranger.com/ffmpeg/ffmpeg.html
在做项目的过程中,大家还要掌握良好的编码习惯,这里挑选了业内毕竟推崇的2个编码规范:
①华为C语言编码规范:https://www.dongeasy.com/wp-content/uploads/2018/03/%E5%8D%8E%E4%B8%BA%E6%8A%80%E6%9C%AF%E6%9C%89%E9%99%90%E5%85%AC%E5%8F%B8c%E8%AF%AD%E8%A8%80%E7%BC%96%E7%A8%8B%E8%A7%84%E8%8C%83.pdf
②Google C++ Stype:https://google.github.io/styleguide/cppguide.html
学习计算机一定不要想着速成,没有什么捷径和超能力。要下苦功夫去啃那些经典书和源码,然后自己动手写,所有技术大佬都是一行行代码敲,一本本书啃出来的。

http://pic1.zhimg.com/v2-8135608f595038824c82fe2267303a3d_r.jpg?source=1940ef5c

我看过的书籍里的一部分

我在大学期间,为了把专业学好,看了大量经典的专业书籍,整理了这份计算机必读的高分经典书籍:

http://picx.zhimg.com/v2-94952ac3d3918060d6edb85dadbdce90_r.jpg?source=1940ef5c

需要的戳下面链接下载

这份书单对于CS学习的同学帮助非常大且十分系统,这些书籍的电子版已经整理好了。
需要的直接戳这里领:计算机必看经典书籍(附pdf下载),请注意查收~
希望本回答能对你有所帮助~

欢迎联系交流获取更多学习经验~

vfi10863 发表于 2023-10-30 16:45:14

其实好多视频的质量都还是可以的,比如郝斌老师的课程,小甲鱼的课程等,或者翁恺老师的课程。
浙江大学 翁恺C语言入门_哔哩哔哩 (゜-゜)つロ 干杯~-bilibiliP.S. 其实换个平台,比如MOOC,里面会有更多,更好的一些选择,毕竟平台的建立初衷是不同的,在两个平台学习的体验也是不同的。
<hr/>单篇阅读量破五百了,那就小小的更新一下,丰富一下内容。
我是在中学接触C语言的,那会儿B站还没现在这么火,靠着网上找的“360云盘”用户分享的课程和《C primer plus》第五版自学。多少有点经验:
1、买本靠谱的入门书籍很重要,别指望一个视频能教的很全面;
2、也别指望只看书能有兴趣走完全程,要看点简单一点的视频教程,建议先看书,然后倍速播放教程,毕竟看视频简直不要再浪费时间;
3、C语言终究学下还是让用的,别认为背背概念就万事大吉了,其实没用,到头来发现不上机多敲代码用的时候啥也不会,编的代码错误百出;
4、别一直停留在语法层面,这算是我的切身体会了,如果不想学玩指针还啥也不会做的话那就去刷一刷算法题,或者去找个类似于贪吃蛇的小项目做一做;
P.S. 附一个链接:里面有一些不错的刷题网站https://www.zhihu.com/question/440591338/answer/1691268256
5、永远不要自满,要知道C语言可是可以开发出操作系统的(当然这需要数据结构,操作系统等方面的知识)。
页: [1]
查看完整版本: 在b站学c语言,应该听哪个?