0基础认识C语言(理论知识)

为了给0基础一个舒服的学习路径,就有了这个专栏希望带大家一起进步。

话不多说,开始正题。


一、C语言的一段小历史

C语言的设计要追溯到20世纪60年代末和70年代初,在那个时代美国有这么一号人叫做丹尼斯.里奇,他和同事肯.汤普逊合作开发了UNIX操作系统

PS:这里给大家普及一下目前有许多种操作系统,企业常见的为Unix系统和Linux系统,个人一般用Windows系统和MacOs系统

随后C语言逐渐取代了B语言,成为UNIX系统的主要编程语言。

之后为了统一标准,美国国家标准协会(ANSI)成立了一个委员会,发布了第一个C语言标准,之后国际标准化组织(ISO)也发布了标准,几乎是一样的。

到目前为止,C语言依然被广泛的运用,排名也保持在前五。

由此可见,C语言是极其重要的~

二、C语言的一些理论知识

1.编译和链接

C语言是一门编译型语言,C语言源代码是文本文件,本身无法执行,需要生成二进制可执行的文件才能执行,那么怎么变成二进制文件呢?

这个时候 .c 为后缀的文件就要提到编译和链接了,一般 .c 经过编译器编译成 .obj为后缀的目标文件(windows环境下),之后多个目标文件和链接库中的库文件在通过链接器变成可执行程序 .exe为后缀的文件。

2. 编译器的使用

新手来说VS2022是不错的选择,格式很好,比VS Code安装简单,比dev c++格式好,新手养成自己的代码风格的话VS是值得推荐的

VS唯一不足的是占用内存较大,大家自行选择~

三、C语言0基础入门小知识

1.main函数

一般在一个工程里,可能有多个 .c 文件,但是main函数只有一个,它是主函数,也是程序的入口,程序的指向从main函数第一行开始执行。

2.C语言的常见关键字

1. auto break case char const continue defauult do double else enum extern

2. float for goto if int long register return short signed sizeof static

3. struct switch typedef unino unsigned void volatile while

PS:这些关键字不用背!!!不用背!!!因为以后大家都会见到,见一个学一个,效果更佳,贪多嚼不烂~

3.ASCII 编码

PS:不需要背诵!!!

我们只要记住 :

a从97开始

A从65开始

数字 0~9是 48~57

\n 是10 (\n 的意思是换行)

0~31为不可打印字符

4.字符&字符串

单独一个为字符,比如 'a' '1' ......(%c)

多个字符一起组成字符串 'achhsd' ......(%s)

这个时候大家要注意字符串的末尾放着1个 \0 ,此时这个 \0 是字符串结束的标志,举个例子:

char arr1[ ] = "abc";

此时arr1为:arr1[0] = 'a' arr1[1] = 'b' arr1[2] = 'c' arr[3] = \0

PS:怕新手不理解,给大家解释一下,这个 arr1[ ] 是从0开始的,char类型是存放字符的,所以上面都是一个一个拆下来的

5.转义字符

\n 换行

\0 字符串结束的标志

\\ 避免打印不出 \ 因为 \ 会和其它一些字母形成新的意义,这个时候在 \ 前再加一 个 \ 就可以让计算机认为我们只输出一个 \

\' 同理,在 ' 前加一个 \ 就可以输出一个 '

\'' 同理,在 ' 前加一个 \ 就可以输出一个 '

\b 回退字符

\a 报警字符

\t 水平制表符(这里就是让输入的一些数据始终 包含自己所占的空格和下一个数 据前的空格之间始终保持在4 / 8个空格)

\v 垂直制表符

\ddd 表示 1~3 个八进制的数字

\xdd 表示 2 个十六进制的数字


这就是以上的内容了,大家需要自己下来多练习,至于安装VS的教程,b站上能找到,希望大家有所收获~

当你决定灿烂,山无拦,海无遮

下面这张图是从图书馆出来记录下的场景~

虽然现在很菜,但是坚持下去,只要进步,就会让人快乐

相关推荐
小陈工5 分钟前
2026年3月24日技术资讯洞察:边缘AI商业化,Java26正式发布与开源大模型成本革命
java·运维·开发语言·人工智能·python·容器·开源
haibindev10 分钟前
把近5万个源文件喂给AI之前,我先做了一件事
java·前端·c++·ai编程·代码审计·架构分析
方安乐22 分钟前
Javascript工具库:classnames
开发语言·javascript·ecmascript
xushichao198925 分钟前
C++中的中介者模式
开发语言·c++·算法
FatHonor26 分钟前
【golang学习之旅】使用VScode安装配置Go开发环境
vscode·学习·golang
Hello.Reader27 分钟前
从零开始安装 Qt完整新手教程(1)
开发语言·qt
MORE_7727 分钟前
leecode100-买卖股票的最佳时期-贪心算法
python·算法·贪心算法
娇娇yyyyyy28 分钟前
QT编程(19) : Qt 实现自定义delegate
开发语言·数据库·qt
AI科技星30 分钟前
基于wr/c + h/c = 1的螺旋线矢量特性及应用分析
c语言·开发语言·人工智能·opencv·算法·计算机视觉·r语言
颜酱33 分钟前
回溯算法专项突破练习(1)
javascript·后端·算法