import{_ as s,D as o,c as i,I as r,j as e,a as t,a4 as l,o as c}from"./chunks/framework.DtvhUNIn.js";const N=JSON.parse('{"title":"C 语言前置概念学习","description":"","frontmatter":{},"headers":[],"relativePath":"技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.4C语言前置概念学习.md","filePath":"技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.4C语言前置概念学习.md"}'),_={name:"技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.4C语言前置概念学习.md"},h=e("h1",{id:"c-语言前置概念学习",tabindex:"-1"},[t("C 语言前置概念学习 "),e("a",{class:"header-anchor",href:"#c-语言前置概念学习","aria-label":'Permalink to "C 语言前置概念学习"'},"")],-1),d=e("p",null,"如何学习 C 语言?**第一步:Throw away the textbook。**也许你可以通过以下途径:",-1),p=e("p",null,"以下方式难度由易到难,但并不意味着收获由小到大:",-1),u=e("p",null,[t("1.Video:"),e("a",{href:"https://www.bilibili.com/video/BV1dr4y1n7vA",target:"_blank",rel:"noreferrer"},"B 站翁恺的 C 语言课程"),t("(非常基础,缺点是只看视频学的过浅)")],-1),m=e("p",null,[t("2.MOOC:"),e("a",{href:"https://www.icourse163.org/course/ZJU-9001",target:"_blank",rel:"noreferrer"},"翁凯 C 课程的 MOOC 慕课"),t("(同上,慕课的习题和 Projects 性价比不高,几乎没有差别)")],-1),g=e("p",null,[t("3.Web:"),e("a",{href:"https://www.runoob.com/cprogramming/c-tutorial.html",target:"_blank",rel:"noreferrer"},"菜鸟教程"),t("(基础但是覆盖面较广,不够深入)")],-1),b=e("p",null,[t("4.Web:"),e("a",{href:"https://github.com/coderit666/CNote",target:"_blank",rel:"noreferrer"},"CNote"),t("(例子密集,学习曲线平滑,覆盖面广且具有深度)")],-1),C={class:"tip custom-block"},f=e("p",{class:"custom-block-title"},"📥",-1),w=l('
5.Book:教材替换用书——《C Primer Plus》!(基础且深入的恰到好处,有一定拓展,可能后面的章节有点难懂,是一本不可多得的好书,不要忽视课本习题及 Projects)
6.MOOC:Introductory C Programming 专项课程(全英文,好处是涉及到计算机思维,包含许多常用 tools 的教学例如 git、make、emacs、gdb,视频讲解结合文档阅读,对于 C 的重要核心知识讲解透彻,难度颇高,建议用作提升)
7.Web:LinuxC 一站式编程(难度大,枯燥硬核,收获多,基于 linux)
关于“6.Introductory C Programming 专项课程”的一些思考
该课程的免费修读需要在 coursera 上申请助学金(并不困难)申请教程。
对于以上几种方式,6 有其特殊性,6 不仅仅是对于 C 语言的学习,其其中包含的计算机思维,Tools 的使用等等都有其普遍适用性。对比其他方式(包含学校课程)不难发现,对于计算机思维的训练与提升,在一定程度上,我们存在着缺失,但它又是极其重要的,如果你希望在学习 C 的同时又有其他多方面的提升,强烈建议你试试该课程(不要被英语劝退!2.5 以理工科的方式阅读英语 )。
当然你也可以通过其他方式培养计算机思维以及学习 Tools 的使用。但是越早培养,越有优势。
计算机思维与计算机科学与编码能力
