【速通C语言(纯小白版)】第一部分:准备工作

1 谁适合阅读本文?

本系列力求用最简单,最容易理解的语言(我自己认为的)给读者分享有关C语言的相关知识,所以即便是对编程毫无概念的朋友也可以阅读本文。

您可能需要的前置知识和技能有:

  • 高中数学:简单的加减乘除(也许初中数学知识也足够了?)
  • 使用浏览器检索信息和安装软件
  • 计算机的基本知识(不是必须的)

有了上述知识和技能,相信您一定能够学习完本系列内容!让我们一起踏上轻松愉快的C语言之旅。

2 什么是C语言?

我想这个问题不需要我来做什么总结,对吧?您只需要打开浏览器(也许是Edge或者Chrome)搜索:"什么是C语言?",就能得到以下的回答。

C语言是一种通用的编程语言,由丹尼斯·里奇(Dennis Ritchie)在20世纪70年代早期于贝尔实验室开发。它是一种过程式语言,以其高效性、灵活性和对底层硬件的控制能力而闻名。C语言是许多现代编程语言的基础,包括C++、C#、Java和JavaScript等。C语言的广泛应用使其成为计算机科学和工程领域中非常重要的语言之一。

多么准确和正式的回答!不过我要告诉您,您现在需要记住的是:C语言是一门高级语言

扩展知识:自然语言、高级语言和机器语言

我们人类平常说话的语言叫做自然语言 ,如汉语,英语等,并且我们知道,计算机是一种机器,计算机使用的语言叫做机器语言。我想,您应该不会直接用汉语或者英语对计算机说:请帮我查找一下什么是C语言并告诉我。(不过现在有语音助手,确实可以做到这件事情。)我这里的意思是,计算机作为机器,是不能直接听懂我们人类说的自然语言(汉语或者英语等),它所能接受的语言是机器语言。那么我们该如何告诉计算机让它帮我们做一些事情呢?

计算机科学家们冥思苦想,说我们为什么不发明一门语言,把我们所说的自然语言"翻译"成计算机能够听懂的机器语言,问题不久解决了吗?bingo!这个时候高级语言就诞生了。

读者朋友可能会因为高级语言这个词,觉得它是一种高大上的语言,非常晦涩难懂,但是这里的"高级"只是相对于"低级"而言的。我们可以用一张图来说明。

图1:自然语言、高级语言和机器语言。

"低级"指的是机器语言,意思是更加偏向于,偏向于硬件设备(底层)的语言,而高级语言中的"高级",意思是更加偏向于编程人员思维(上层)的语言,并没有优劣之分,只是展示出了一种层级关系。

3 开发环境和工具的选择

3.1 编译器

学习一门编程语言,开发环境是必不可少的,选择一个令人舒适的开发环境会让您的学习过程事半功倍。您可能会听说过一些非常出名的编译器,如Visual Studio,Code::Blocks,这些集成式的环境可以非常高效地开发工程。但是我觉得,作为初学者,最合适的开发环境必须具备容易获得和上手的特点。因此我推荐您使用网页端的在线编译器。如:

本系列也将使用网页端在线编辑器。

3.2 一些辅助工具

我将在这里推荐一些工具,它们可能会帮助您更好地学习。

  • 大模型工具。它可以帮助您更好地理解代码和知识。鉴于使用ChatGPT可能需要一些特殊的方法,您可以使用Kimi等替换,它们同样非常有效。
  • 一些视频网站,如哔哩哔哩等。您可以在上面检索对应的视频进行学习。

4 参考资料

这些资料可以帮助您更好地学习C语言,包含电子书和视频等。

  • 翁恺老师的C语言程序设计
  • 王道训练营-C语言教程
  • 菜鸟教程-C教程
  • 等待补充...

5 总结

本文介绍了四个方面的内容:

  1. 适合本系列的读者;
  2. C语言的简单介绍,以及什么是自然语言,高级语言和机器语言;
  3. 选择开发环境和工具,推荐使用网页在线编辑器;
  4. 一些有用的资料。

有了这些准备工作,相信您已经有了足够的准备迎接新的挑战!

相关推荐
茶猫_2 小时前
力扣面试题 - 25 二进制数转字符串
c语言·算法·leetcode·职场和发展
ö Constancy3 小时前
Linux 使用gdb调试core文件
linux·c语言·vim
lb36363636363 小时前
介绍一下strncmp(c基础)
c语言·知识点
wellnw3 小时前
[linux] linux c实现共享内存读写操作
linux·c语言
珹洺6 小时前
C语言数据结构——详细讲解 双链表
c语言·开发语言·网络·数据结构·c++·算法·leetcode
.Cnn6 小时前
用邻接矩阵实现图的深度优先遍历
c语言·数据结构·算法·深度优先·图论
2401_858286117 小时前
101.【C语言】数据结构之二叉树的堆实现(顺序结构) 下
c语言·开发语言·数据结构·算法·
寻找码源7 小时前
【头歌实训:利用kmp算法求子串在主串中不重叠出现的次数】
c语言·数据结构·算法·字符串·kmp
带多刺的玫瑰9 小时前
Leecode刷题C语言之统计不是特殊数字的数字数量
java·c语言·算法
陌小呆^O^10 小时前
Cmakelist.txt之win-c-udp-server
c语言·开发语言·udp