从零到一的C语言教程(基础篇)

dd#应我的某位朋友的诉求,特作此教程(我明明擅长的是python来着😔)#

#本教程适合一些有Windows操作基础的人#

各位互联网上的朋友大家好啊!本人是一个专科学生目前在企业实习阶段,在校期间有朋友说让我教他C语言。我就想着教一个也是教,抽空写个博客吧也许还能帮到其他人呢?

那么正片开始:

一、计算机基础部分

在教程正式开始之前,需要了解一下我们计算机的基础知识

基础知识一:由冯诺依曼提出的计算机架构

冯诺依曼架构示意图——图片转载自百度百科

是不是看不懂?我也看不懂(😜)

其实计算机的结构很简单,主要由五大部件组成:

输入/输出设备(I/O设备):键盘鼠标负责输入,显示屏打印机负责输出存储器:包括内存、缓存和硬盘(注意:这三者完全不同,可别像买手机时问"内存多大"那样混淆哦)运算器和控制器:简单理解就是CPU啦

看,是不是一下子就明白啦? 什么!你说还是看不懂?那很完蛋了。

基础知识二:编程语言

在计算机中主要存在三种编程语言:

高级语言

高级语言是接近人类自然语言的编程语言,具有较高的抽象层次,开发者无需直接操作硬件细节。这类语言通常通过编译器或解释器转换为机器语言。语法直观,适合开发复杂应用。

特点:

跨平台性强(如Java、Python)。支持面向对象、函数式等编程范式。典型代表:Python(简洁易读)、Java(跨平台)、C++(高性能)。

汇编语言

汇编语言是低级语言,与机器语言一一对应,但使用助记符(如MOV、ADD)代替二进制指令。需通过汇编器转换为机器语言,常用于硬件操作或性能优化场景。

特点:

直接操作寄存器、内存等硬件资源。执行效率高,但开发难度大。依赖特定处理器架构(如x86、ARM)。

机器语言

机器语言由二进制指令(0和1)构成,是计算机直接执行的唯一语言。所有其他语言最终需转换为机器语言。不同CPU架构的机器语言不同。

特点:

无需转换,直接由CPU执行。可读性极差,难以手动编写。典型形式:二进制码或十六进制码。

基础知识三:储存单位

小学老师曾经教过计算机中都是以0101010这样的单位进行计算的,那我们常听的MB(兆)GB(吉)都是啥单位呢?

首先是两个币(这里不是B站啊喂(╯▔皿▔)╯),错了错了,是b、B:

比特(bit):也叫位,表示二进制中一个最小的单位,值是0或1。字节(Byte):八个位就是一个字节 1Byte = 8bit(注意大小写奥)。

后面就是以1024为进制的:

千字节(KB):1 KB = 1024 Byte。兆字节(MB):1 MB = 1024 KB。吉字节(GB):1 GB = 1024 MB。太字节(TB):1 TB = 1024 GB。

了解这个的时候你就明白为啥明明买的是100Mb的

宽带实际上跑出来的网速只有15MB左右了

好了基础部分到此结束。

二、环境

1、编译运行

在了解上面的基础知识后,对比我们需要学习的C语言,我们就能明白C语言属于高级语言的一种,这种语言需要相对应的环境才能让计算机听懂。C语言的运行流程如下:

C语言编写到运行全流程图(每个分支的 右边是详细流程)

当然,这一步可以只用与了解,实在看不懂可以跳过。详细可以看一下链接:

【C语言】C程序编译过程详解_c语言编译过程5步骤-CSDN博客文章浏览阅读2.6k次,点赞2次,收藏25次。本文详细阐述了C代码从源代码到可执行程序的五个关键步骤:预处理、编译、汇编、链接和运行。包括每个阶段的任务、具体处理方式以及静态链接和动态链接的区别。https://blog.csdn.net/Jacky_Feng/article/details/84067991?fromshare=blogdetail&sharetype=blogdetail&sharerId=84067991&sharerefer=PC&sharesource=wxwyyt&sharefrom=from_link

2. 第一个程序!!!

2.1编写C语言

现在终于,我们迎来了第一段程序!在桌面上新建一个文件夹,按照自己的喜好命名作为项目文件夹,并且开启显示文件后缀名。

在文件夹下新建一个文本文档输入以下内容并按ctrl+s保存:

#include

int main() {

printf("Hello, World!\n");

return 0;

}

将文件改名为day_1.c

现在,我们写好了c语言程序,但是运行不了。只能干看着。(个P啊,那我写这个玩意的意义是什么!!!(╯▔皿▔)╯)

2.2下载并使用编译器

在Windows环境下,我们没有工具来编译c语言代码,这时候就要借助MinGW来帮帮忙啦!详细过程就参考站内另一篇大佬文章吧:MinGW下载安装教程 傻瓜式操作【超详细】-CSDN博客文章浏览阅读10w+次,点赞299次,收藏370次。进入安装 MinGW 配置器的界面,耐心等待安装完成(显示 100%)即可。安装完成之后,继续点击“continue”,进入下面的对话框,这是一个名为 “MinGW Installer Manager” 的软件,借助它,我们可以随时根据需要修改 GCC 编译器的配置。_mingw下载安装教程https://blog.csdn.net/qq_38196449/article/details/136125995?fromshare=blogdetail&sharetype=blogdetail&sharerId=136125995&sharerefer=PC&sharesource=wxwyyt&sharefrom=from_link

再附上一个我自己打的包,只需要将包中的bin目录添加到环境变量中:(仅限网络条件差的同学交流学习,可能有兼容性问题,所以最好还是自己走一遍流程)MinGW.ziphttps://pan.baidu.com/s/1r7FjNffLWU9v2lOtVPtEXQ?pwd=kxh5

回到上一步中的文件夹中,在导航栏输入cmd并回车

依次输入以下命令:

gcc day_1.c -o day_1.exe #编译程序

day_1 #运行程序

输出如下:

OK!你已经学会C语言了,快拿去给同学炫耀吧!!!!哈哈哈哈!!!!!(作者此时被人打了一拳QWQ)

2.3IDE的下载使用

我们已经学会了如何编译C语言,有的同学要问了:编译太麻烦了,有没有更方便的办法?让我稍加思考:

诶!该吃饭了!☝️🤓

有的兄弟,有的。这时候就要有请另一位:’开发环境(简称:IDE;英文名:Integrated Development Environment )‘大人!!!

IDE,是用于提供程序开发环境的应用程序,一般包括代码编辑器(上文使用的文本编辑器)、编译器(MinGW)、调试器(内存控制)和图形用户界面等工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。具备这一特性的软件或者软件套(组)都可以叫集成开发环境。

不理解的小朋友也没事的,就一句话总结:IDE就是可以给我们提供很多必要工具,把一堆工具集成起来,变成了一个软件,我们可以在上面开发各种程序。可以一键编译调试,还可以智能补全代码! 针对C语言的IDE市面上有许多免费的,作者钟爱VScode所以这里使用VScode转跳下载按照图片所示点击。

按照图片所示安装:

点击安装即可。第一次打开应该是这样的(这里应该是英文,但是我安装了汉化插件和其他插件所以选项和界面是不一样的,但是位置都是一样的):

根据图片所示安装插件(安装完成重启后就是中文界面了):

装c语言插件后vscode就支持c语言的编写了,到这里还差编译与运行,我们直接试试 运行: 打开刚刚我们建立的项目文件夹直接第一个,启动!!

不出所料,寄~~~ 我们手动将项目文件移动到C盘根目录C://C/ 然后在.vscode文件夹中添加两个文件launch.json和tasks.json内容如下,注意将项目目录哪儿,改到自己的目录

#launch.json

{

"version": "0.2.0",

"configurations": [

{

"name": "Debug",

"type": "cppdbg",

"request": "launch",

"program": "${fileDirname}\\${fileBasenameNoExtension}.exe",

"args": [],

"stopAtEntry": false,

"cwd": "C:\\C", #改这里,不要有中文名

"environment": [],

"externalConsole": true,

"MIMode": "gdb",

"miDebuggerPath": "C:\\MinGW\\bin\\gdb.exe",#这里的路径不一样也得改

"preLaunchTask": "C Compiler",

"setupCommands": [

{

"description": "Enable pretty-printing for gdb",

"text": "-enable-pretty-printing",

"ignoreFailures": true

}

]

}

]

}

#tasks.json

{

"version": "2.0.0",

"tasks": [

{

"type": "shell",

"label": "C Compiler",

"command": "C:\\MinGW\\bin\\gcc.exe",#这里如果有不一样也得改

"args": [

"-g",

"${file}",

"-o",

"${fileDirname}\\${fileBasenameNoExtension}.exe"

],

"options": {

"cwd": "C:\\C" #改这里

},

"problemMatcher": ["$gcc"],

"group": {

"kind": "build",

"isDefault": true

}

}

]

}

到这里就可以按ctrl+shift+B键调试,按F5一键调试输出了

运行后,有一个小黑框一闪而过。但是没有报错,不用担心,你的程序已经运行了,但是没有阻断或者显示到内部的窗口,所以一闪而过。在源码中加入getchar ()函数就可以实现一个简单的断点啦。

#include

int main() {

printf("Hello, World!\n");

getchar();

return 0;

}

按F5运行如下:

三、本次的教程就到这啦。

本人第一篇技术项博客,其中穿插着作者的皮皮属性,若有哪些地方有错误,还请各位前辈批评指正!!我们下期再见!