总体学习大纲
对于即将步入的研究生工作生涯,需要准备大量的非专业知识,包括但不限于大热门的计算机编程、英语能力、文献阅读能力等。
因此,笔者打算从计算机编程语言——C语言入手,开始为研究生工作进行适度的铺垫,后续将考虑铺展、过度到英语、文献阅读等其他能力的自学准备。
概要
通过结合Bilibili、中国大学mooc等网站课程,与 ChatGPT 上的情境模拟,总结出以下学习大纲:
- C语言的基本语法:
学习C语言的基本语法,包括变量、数据类型、运算符、条件语句、循环语句、函数等基础知识。 - 编辑器的选用:
选择合适的编译器,如Visual Studio、Code::Blocks等,借此进行程序编写、调试和运行。 - 实践练习:
搜索恰当的案例练手,积累编程经验,熟悉代码,提高编程能力。 - 程序设计的思路:
尝试思维模仿,寻找问题分析思路,将方案转化程序。
学习进度(1/100)
C语言入门
-
C语言是什么?
在日常生活、工作中,语言,就是人类进行沟通交流的工具。- 中国人与中国人交流,使用中文语言;
- 英国人与英国人交流,使用英文语言;
- 人与计算机交流,使用计算机语言。
而C语言,就是一种用于和计算机交流的高级语言。
有趣的是,C语言之所以命名为C,是因为C语言脱胎于 Ken Thompson 发明的B语言,而B语言又源自于BCPL语言。
- C语言是做什么的?
既然C语言是与计算机交流的语言,那它是如何与不会说话、没有生命力的计算机沟通交流的?
这就需要提及计算的特别之处。-
计算机发展背景与计算机语言的诞生:
-
计算机从诞生开始,经历了几百年的发展,从机械式计算机发展到电子计算机,又从电子计算机发展到超大规模集成电路组成的微型计算机。
-
-
1946年2月14日,世界上第一台电子计算机在美国宾夕法尼亚大学诞生,取名为ENIAC。
-
由于计算机作为电器,只能识别通电与断电两种状态;
-
因此,最初 ENIAC 的程序是由6000个开关和大量的连接电线来完成的,每一次程序的改动都需要大量人工调试;
-
为了简化流程、提高效率,计算机之父冯·诺依曼提出,利用数学语言系统储存程序和数据在存储器中,并凭此提出了存储程序计算机模型(这是所谓的冯·诺依曼机);
-
那利用数学语言如何表示计算机能够识别的通电和断电两种状态呢?
- 非常简单,用0和1表示即可(即二进制数据);
- 高低电平:1代表通电,0代表断电(纸带存储时 1有孔,0没孔);
- 这就是最初的机器语言—— 利用二进制代码表示计算机能直接识别和执行的一种机器指令的集合,它是计算机的设计者通过计算机的硬件结构赋予计算机的操作功能。
- 这也是最初的计算机语言。
-
-
常见的计算机语言:
-
机器语言:二进制
10111000 00000001 00000000 00000101 00000001 00000000
- 就是用一串0或1构成的语言
- 量级庞大:
- “1字节 = 8 byte = 一串8位数的01组合”;而一个中文就等于2字节。
- 当满屏的中文时,想象一下,这个代码量级有多惊人。
-
汇编语言:高级一些,符号化的机器语言
MOV AX, 1 ADD AX, 1
- 用一个符号(英文单词、数字)来代表一条机器指令
- 符号非常多和难记、无可移植性
-
高级语言:C、C++、python、php、java等,大大简化了中间过程
1 + 1
- 非常接近自然语言的高级语言,语法和结构类似于普通英文
- 编写更容易,可读性较高
-
-
因此,C 语言实际就是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
资源搜集
以下是一些学习C语言的资源:
- C语言程序设计(第三版)(谭浩强著):是一本经典的C语言教材,可作为入门教材使用。
- C语言教程(菜鸟教程):是一份较为全面的C语言教程,从基础语法到高级应用都有涉及。
- Codecademy:是一个在线编程学习网站,提供C语言的入门教程。
- LeetCode:是一个在线编程练习网站,提供C语言的算法题目,适合提高编程能力。
编辑器选用
编写C语言程序用什么工具 ?
- 记事本(开发效率低)
- Vim(入门门槛高)
- VSCode(常见)
- Visual Studio
- eclipse
- CLion(收费)
- Xcode(逼格高,Mac)
学习参考对象
- c语言入门这一篇就够了-学习笔记(一万字)
- 13 万字 C 语言从入门到精通保姆级教程2021 年版
- C语言程序设计 —— 中国大学mooc
- 【2023年官方C语言】9小时快速精通C语言,动画讲解C语言视频教程 —— Bilibili