首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >基础魔法语言常见概念(一)(C语言)

基础魔法语言常见概念(一)(C语言)

作者头像
散峰而望
发布2025-12-23 12:35:25
发布2025-12-23 12:35:25
1450
举报

众所周知,想要于指尖绽放出绚丽的魔法,常常离不开魔法语言的吟唱。而任何一项的学习都不是一蹴而就的,往往需要花费大量时间与精力,魔法语言更是如此。越是如同银河倾泻般宏丽的魔法,就越需要大量魔法语言的支撑,为一个个魔力因子提供强有力的支点。可无论魔法再如何多姿多彩,总归要深扎于最底层的构架之中。那么,接下来让我们一同去探索魔法语言最核心的知识吧。

C语言是什么?

从古至今,任何一种生物之间的交流往往需要“语言”来明白对方的意思。人与人之间可以用汉语、英语等自然语言进行交流,那人与魔杖(计算机)之间又是怎么交流的呢?自然是通过魔法语言(计算机语言)的内容,进行指挥操作的啦。随着时代的进步与发展,魔法语言(计算机语言)已知已有上千种,可常用的仅有几种,如C++/Java/Go/Python等魔法语言。而这些语言最底层的代码是由C语言来构建的。

C语言的历史与发展

1969年,贝尔实验室的Ken Thompson与Dennis Ritchie共同开发了Unix操作系统,为了能够移植其他计算机,他们在BCPL语言的基础上发明了B语言。后来在1972年Dennis Ritchie和Brian Kemighan有着B语言的基础上设计了一种新语言,并取代了B语言,故称C语言。1973年时,Unix操作系统都使用C语言重写。此后,C语言快速流传,广泛用于各种操作系统和系统软件的开发。ANSI协会于1988年正式将C语言标准化,这标志着C语言开始稳定和规范化。到如今,各种各样的计算机语言于C语言中衍化,而C语言仍然在广泛使用。

源文件、头文件与翻译过程

C语言中,把.c为后缀的文件为源文件,把.h为后缀的文件为头文件。同时C语言是一门编译型计算机语言,C语言源代码都是文本文件,是无法执行的,必须通过编译器翻译和链接器链接,生成二进制可执行文件,才能执行。如

test.c(源文件)— 编译器(cl.exe) — 目标文件test.obj — 链接器link.exe — 可执行程序xxx.exe

C语言程序

说了那么多,那么让我们具体看看C语言程序长什么样。

代码语言:javascript
复制
#include <stdio.h>

int main()
{
   printf("Hello!\n");
   return 0;
}

这就是最简单的C语言程序啦。

main函数

每个C语言不管有多少行代码,都有一个最底层的魔法支点,这就是main函数。main函数是一个魔法框架(程序)的入手处,因此main函数也被称为“主函数”。main前面的int表示main函数执行结束的时候返回一个整型类型的值,所以main函数的最后要写return 0。main函数有很多值得注意的地方

  • main函数只有一个
  • 一个项目中有多个.c文件,但只能有一个main函数(因为程序入口只能有一个)

当然,如果第一次写代码时,总会出现一些错误

  • main写成mian
  • main后()漏掉了
  • 代码中使用了中文符号
  • 一句话结束后写错或漏掉分号

printf和库函数

在上面的代码有一句代码如下`

代码语言:javascript
复制
printf("Hello!\n");

代码使用了printf函数,实现信息打印。同时printf是一个库函数,作用是在标准输出设备(一般是屏幕)上进行信息的打印。printf函数也可以用来打印其他类型的数据,如:

代码语言:javascript
复制
printf("%d\n",10)//打印整形
printf("%c\n",'a')//打印字符
printf("%lf\n",3.14)//打印浮点数
printf("%s\n","Hello")//打印字符串

这里的%d、%c等是占位符,会被后边的值替换(后期会介绍)。 同时这有个很重要辨析点

  • %d、%f这些整型、浮点型的内容不用加引号
  • %c字符是加单引号
  • %s字符串是加双引号

那么接下来什么是库函数呢?简单来说就是提升魔法施放效率(程序员提升开发效率),规定了一种标准支架(C语言标准了一组函数),再由不同的咒语翻译器(编译器)根据标准进行实现,提供魔法师(程序员)使用。这些函数组成了一个函数库,被称为标准函数,也被称为库函数。一个系列的库函数一般会声明在同一个头文件中,所以库函数的使用,要包含所对应的头文件,如printf函数要包含stdio.h头文件,具体如下

代码语言:javascript
复制
#include <stdio.h>

库函数比较多,后期会慢慢介绍,想提前了解可参考:https://cplusplus.com/reference/clibrary

在这里插入图片描述
在这里插入图片描述

关键字介绍

C语言有一批保留的名字的符号,如:int、if、return,这些被称为保留字关键字

  • 关键字都有特殊的意义
  • 创建标识符不能与关键字重复
  • 关键字不能自己创建

C语言的关键字如:auto break case char const for if return short switch union等 后面会慢慢介绍 ,想提前了解可参考https://zh.cppreference.com/w/c/keyword

在这里插入图片描述
在这里插入图片描述

字符和ASCII编码

像a,b,@,¥等被称为字符,C语言中要用单引号括起来。同时我们都知道计算机中数据都是以二进制的形式储存,那么这些字符在内存中分别以什么样的二进制储存呢?为了方便相互通信,美国ANSI出台了一个标准ASCII编码,C语言中字符就遵循ASCII编码的方式。参考:https://zh.cppreference.com/w/cpp/language/ascii

在这里插入图片描述
在这里插入图片描述

我们不需要记住所有的ASCII码表中的数字,使用时查看就行。

字符串和\0

使用双引号括起来的一串字符就是字符串,如"abc"。字符串打印格式可以用%s指定。C语言字符串有个特殊的知识,就是字符串的尾端隐藏放着一个\0字符,这个\0字符是字符串结束标志。

转义字符

像代码中你看到的\n,\0都是转义字符,转义字符顾名思义是转变原先的意思的字符。 C语言中像这种的转义字符还有一些,如:

  • ?:在书写连续多个?时使用,防止解析成三字母词
  • ':用于表示字符常量
  • ":表示一个字符串内部的双引号
  • \:表示反斜杠,防止被解释转义序列符
  • \a:警报
  • \f:退格键,但不删字符
  • \n:换行符
  • \r:回车符
  • \t:制表符
  • \v:垂直分隔符
  • \0:null字符,代表没内容,表结束

参考:https://zh.cppreference.com/w/c/language/escape

(暂时就更这么多,可能会有一些小问题,还请各位大佬多多指教)

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-11-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • C语言是什么?
  • C语言的历史与发展
  • 源文件、头文件与翻译过程
  • C语言程序
  • main函数
  • printf和库函数
  • 关键字介绍
  • 字符和ASCII编码
  • 字符串和\0
  • 转义字符
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档