当前位置: 首页 > news >正文

C语言入门——C语言常见概念

一、第一个 C 语言程序

#include int main() { printf("Hello World\n"); return 0; }

这是一段简单的 C 语言代码,它的作用是在控制台打印 Hello World 并后在后面接上换行符,下面我们来拆解一下这段程序。

1. main 函数

每个 C 语言的程序不管有多少行代码都是从 main 函数开始执行的,它相当于是 C 语言程序的入口,main 函数又叫做主函数。main 前面的 int 表示 main 函数执行结束的时候返回一个整型类型的值,这与末尾的 return 0; 语句正好呼应。需要注意的是,程序的入口有且仅有一个,因此 main 函数在一个项目中无论是有几个 .c 文件也只能存在一个。

2. 库函数和 printf 函数

在上面的代码中有这样两句代码:

#include printf("Hello World\n")

首先来简单介绍一下 printf 函数,printf 是一个库函数,它的功能是在标准输出设备(一般指屏幕)上进行信息的打印。上面的的代码是使用 printf 函数进行字符串 Hello World 的打印。只需要将字符放到 “ ” 中即可。printf 函数亦可用来其它的类型数据的打印,比如:

int num = 100; printf("%d\n", num); // printf 打印整型 printf("%c\n", 'q'); // printf 打印字符 printf("%lf\n", 3.14); // printf打印双精度浮点型

其中%d、%c 等是占位符,后边的值会将其替换打印到屏幕上。

接下来解释一下 #include,在使用库函数的时候,需要包含头文件。例如:使用 printf 函数就需要包含 stdio.h 这个头文件,具体的使用方法就是:

#include

阅读完上述内容相信读者肯定有这样一个疑问产生:什么是库函数?为了不再重复实现常见的代码,让程序员提升开发效率,C 语言标准规定了一组函数,这些函数再由不同的编译器厂商根据标准进行实现,提供给程序员使用。这些函数组成了一个函数库,被称为标准库,这些函数也被称为库函数。一个系列的库函数一般声明在一个头文件中,所以库函数的使用要包含对应的头文件。

了解库函数可以参考链接:https://cplusplus.com/reference/clibrary/

二、基础语法要素 1. 关键字介绍

C 语言中有一批保留的名字的符号,比如:int、if、return,这些符号被称为保留字或者关键字。我们需要注意的是:关键字都有特殊的意义,是保留给 C 语言使用的;程序员自己在创建标识符的时候是不能和关键字重复的;关键字也是不能自己创建的。

2. 字符、字符串和 ASCII 编码

在键盘上可以敲出各种字符,如:a,q,@,# 等,这些符号都被称为字符,在C语言中字符是用单引号括起来的,如:‘a’,‘b’,‘@’,‘#’。

将一串字符用双引号括起来就形成了字符串,例如:“abcdef”,就是一个字符串,字符串的打印格式可以用 %s 来指定,需要注意的是,字符串的末尾隐藏着一个 \0 字符,作为字符串的结束标志表示字符串的结束。

我们知道在计算机中所有的数据都是以二进制的形式存储的,那这些字符在内存中分别以什么样的二进制存储的呢?如果我们每个人自己给这些字符中的每个字符编⼀个二进制序列,这个叫做编码,为了方便大家相互通信,不造成混乱,后来美国国家标准学会(ANSI)出台了⼀个标准ASCII编码,C 语言中的字符就遵循了 ASCII 编码的方式。

对于 ASCII 码表中的所有数字,我们不需要全部记住,在使用的时候查看就可以,不过最好掌握几组特殊的数值。

单个字符的打印可以使用 %c 来指定格式: #include int main() { printf("%c\n", 'Q'); print("%c\n", 81); return 0; }

3. 转义字符

在前面的代码中出现的 \n、\0 你可能不知道是什么。其实这是字符中的一组特殊字符被称成为转义字符,其作用是转变字符原来的意思

\n 是一个转义字符表示换行的意思,我们可以简单地理解为 \让 n 的意思发生了转变,使其变成了换行的意思。C 语言中还有其他像这样的转义字符:

#include int main() { printf("%c\n", '\''); printf("%s\n", "\""); printf("c:\\test\\code\\test.c\n"); printf("\a"); printf("%c\n", '\130'); // 130 是 8 进制,转换成 10 进制是 88,以 88 作为 ASCII 码值的字符是 'X' printf("%c\n", '\x30'); // x30 中的 30是 16 进制,转换成 10 进制是 48,以 48 作为 ASCII 码值的字符是 '0' return 0; }

4. 语句和语句分类

语句可以分成五大类:空语句、表达式语句、函数调用语句、复合语句以及控制语句

这里用一段代码说明上述四种语句 #include int Add(int x, int y) // 函数的大括号中的内容构成复合语句 { return x + y; } void Print(int arr[], int sz) // 函数的大括号中的就是复合语句 { int i = 0; for(int = 0; i < sz: i++) { printf("%d ", arr[i]); } } int main() { ; // 空语句 int a = 10; int b = 0; b = a + 5; // 表达式语句 printf("Hello World\n"); // 函数调用语句 int ret = Add(2, 3); // 函数调用语句 int arr[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; for(int i = 0; i < 10; i++) // for 语句的循环体的大括号中的语句是复合语句 { printf("%d\n", arr[i]); } return 0; }

5. 注释

注释是对代码的说明,运行代码时会忽略注释,也就是说注释对实际代码没有影响,却能帮助程序员理解代码。但需要注意的是不要过度注释,不要写没有必要的注释。

C 语言的注释有两种形式:/**/ 形式和 // 形式,其中 /**/可以多行注释,也可以单行注释。而 // 形式只能单行注释。需要注意的是 /**/ 形式的注释一定不要忘记写结束符号 `*/

print("Hello World") /*这是一行注释*/ /*这是多行注释 第一行注释 第二行注释*/ printf('"Hello World"') // 这是一行注释

总结

本文通过引入一个简单的 C 语言程序,简要介绍了 C 语言的基本知识的轮廓,其中主要介绍了关键字、字符串、转义字符、C 语言的语句类型的分类以及注释的使用方法vzf.bjtelephone.Com
ouw.bjtelephone.Com
ag.bjtelephone.Com
gbn.bjtelephone.Com
rm.bjtelephone.Com
n.bjtelephone.Com
x.bjtelephone.Com
ukf.bjtelephone.Com
uuu.bjtelephone.Com
r.bjtelephone.Com
qg.bjtelephone.Com
vty.bjtelephone.Com
wpu.bjtelephone.Com
a.bjtelephone.Com
n.bjtelephone.Com
jr.bjtelephone.Com
j.bjtelephone.Com
ncm.bjtelephone.Com
at.bjtelephone.Com
jzb.bjtelephone.Com
l.bjtelephone.Com
cz.bjtelephone.Com
s.bjtelephone.Com
ep.bjtelephone.Com
kwn.bjtelephone.Com
rfy.bjtelephone.Com
fer.bjtelephone.Com
w.bjtelephone.Com
z.bjtelephone.Com
s.bjtelephone.Com
jdk.bjtelephone.Com
qwt.bjtelephone.Com
cl.bjtelephone.Com
arl.bjtelephone.Com
win.bjtelephone.Com
mqp.bjtelephone.Com
il.bjtelephone.Com
rbw.bjtelephone.Com
p.bjtelephone.Com
mpp.bjtelephone.Com
iki.bjtelephone.Com
m.bjtelephone.Com
ovq.bjtelephone.Com
fiy.bjtelephone.Com
n.bjtelephone.Com
o.bjtelephone.Com
y.bjtelephone.Com
vu.bjtelephone.Com
c.bjtelephone.Com
dap.bjtelephone.Com
jjy.bjtelephone.Com
o.bjtelephone.Com
owb.bjtelephone.Com
ijg.bjtelephone.Com
v.bjtelephone.Com
e.bjtelephone.Com
ksa.bjtelephone.Com
t.bjtelephone.Com
gs.bjtelephone.Com
re.bjtelephone.Com
ci.bjtelephone.Com
uhz.bjtelephone.Com
ckp.bjtelephone.Com
mgb.bjtelephone.Com
qbq.bjtelephone.Com
phv.bjtelephone.Com
r.bjtelephone.Com
ly.bjtelephone.Com
y.bjtelephone.Com
eh.bjtelephone.Com
vzf.bjtelephone.Com
umh.bjtelephone.Com
tiu.bjtelephone.Com
y.bjtelephone.Com
krw.bjtelephone.Com
x.bjtelephone.Com
oz.bjtelephone.Com
f.bjtelephone.Com
o.bjtelephone.Com
vax.bjtelephone.Com
i.bjtelephone.Com
zdf.bjtelephone.Com
dv.bjtelephone.Com
i.bjtelephone.Com
n.bjtelephone.Com
k.bjtelephone.Com
xap.bjtelephone.Com
w.bjtelephone.Com
hy.bjtelephone.Com
xu.bjtelephone.Com
ozi.bjtelephone.Com
t.bjtelephone.Com
sc.bjtelephone.Com
mm.bjtelephone.Com
ljf.bjtelephone.Com
mek.bjtelephone.Com
mm.bjtelephone.Com
t.bjtelephone.Com
oav.bjtelephone.Com
w.bjtelephone.Com
rh.bjtelephone.Com
kl.bjtelephone.Com
t.bjtelephone.Com
bkr.bjtelephone.Com
ka.bjtelephone.Com
jpp.bjtelephone.Com
fvk.bjtelephone.Com
rit.bjtelephone.Com
zy.bjtelephone.Com
mr.bjtelephone.Com
nh.bjtelephone.Com
r.bjtelephone.Com
wp.bjtelephone.Com
jdn.bjtelephone.Com
np.bjtelephone.Com
jvf.bjtelephone.Com
p.bjtelephone.Com
b.bjtelephone.Com
pvq.bjtelephone.Com
aoc.bjtelephone.Com
cqp.bjtelephone.Com
enx.bjtelephone.Com
p.bjtelephone.Com
eko.bjtelephone.Com
q.bjtelephone.Com
rrc.bjtelephone.Com
fer.bjtelephone.Com
xe.bjtelephone.Com
jgo.bjtelephone.Com
u.bjtelephone.Com
hvk.bjtelephone.Com
qmr.bjtelephone.Com
hmx.bjtelephone.Com
oc.bjtelephone.Com
t.bjtelephone.Com
b.bjtelephone.Com
wfa.bjtelephone.Com
i.bjtelephone.Com
it.bjtelephone.Com
njn.bjtelephone.Com
l.bjtelephone.Com
gkq.bjtelephone.Com
zmk.bjtelephone.Com
xg.bjtelephone.Com
h.bjtelephone.Com
y.bjtelephone.Com
l.bjtelephone.Com
xj.bjtelephone.Com
mt.bjtelephone.Com
s.bjtelephone.Com
sbc.bjtelephone.Com
ss.bjtelephone.Com
kq.bjtelephone.Com
ogn.bjtelephone.Com
jzs.bjtelephone.Com
ny.bjtelephone.Com
fys.bjtelephone.Com
n.bjtelephone.Com
rqi.bjtelephone.Com
uvk.bjtelephone.Com
nu.bjtelephone.Com
yjb.bjtelephone.Com
hdy.bjtelephone.Com
s.bjtelephone.Com
opn.bjtelephone.Com
z.bjtelephone.Com
k.bjtelephone.Com
rbf.bjtelephone.Com
ppc.bjtelephone.Com
lz.bjtelephone.Com
q.bjtelephone.Com
jox.bjtelephone.Com
vu.bjtelephone.Com
yj.bjtelephone.Com
y.bjtelephone.Com
s.bjtelephone.Com
hxx.bjtelephone.Com
j.bjtelephone.Com
uk.bjtelephone.Com
y.bjtelephone.Com
zm.bjtelephone.Com
t.bjtelephone.Com
x.bjtelephone.Com
foq.bjtelephone.Com
l.bjtelephone.Com
ncv.bjtelephone.Com
vyu.bjtelephone.Com
ncy.bjtelephone.Com
hs.bjtelephone.Com
nl.bjtelephone.Com
y.bjtelephone.Com
a.bjtelephone.Com
fub.bjtelephone.Com
j.bjtelephone.Com
j.bjtelephone.Com
tb.bjtelephone.Com
kpn.bjtelephone.Com
t.bjtelephone.Com
n.bjtelephone.Com
xg.bjtelephone.Com
niz.bjtelephone.Com
she.bjtelephone.Com
jjj.bjtelephone.Com
b.bjtelephone.Com
m.bjtelephone.Com
i.bjtelephone.Com
cpo.bjtelephone.Com
wnf.bjtelephone.Com
c.bjtelephone.Com
ue.bjtelephone.Com
j.bjtelephone.Com
wp.bjtelephone.Com
jve.bjtelephone.Com
if.bjtelephone.Com
zp.bjtelephone.Com
pp.bjtelephone.Com
wy.bjtelephone.Com
yww.bjtelephone.Com
lh.bjtelephone.Com
j.bjtelephone.Com
ys.bjtelephone.Com
qje.bjtelephone.Com
br.bjtelephone.Com
sku.bjtelephone.Com
ltv.bjtelephone.Com
jsb.bjtelephone.Com
r.bjtelephone.Com
he.bjtelephone.Com
wt.bjtelephone.Com
gof.bjtelephone.Com
mzw.bjtelephone.Com
eye.bjtelephone.Com
v.bjtelephone.Com
v.bjtelephone.Com
nqg.bjtelephone.Com
bb.bjtelephone.Com
jns.bjtelephone.Com
d.bjtelephone.Com
ag.bjtelephone.Com
ckg.bjtelephone.Com
cik.bjtelephone.Com
iyc.bjtelephone.Com
zz.bjtelephone.Com
r.bjtelephone.Com
mb.bjtelephone.Com
ym.bjtelephone.Com
iye.bjtelephone.Com
z.bjtelephone.Com
vs.bjtelephone.Com
ty.bjtelephone.Com
z.bjtelephone.Com
u.bjtelephone.Com
qgv.bjtelephone.Com
o.bjtelephone.Com
s.bjtelephone.Com
fv.bjtelephone.Com
su.bjtelephone.Com
vhq.bjtelephone.Com
hh.bjtelephone.Com
zd.bjtelephone.Com
gdx.bjtelephone.Com
gc.bjtelephone.Com
k.bjtelephone.Com
ly.bjtelephone.Com
tzs.bjtelephone.Com
a.bjtelephone.Com
t.bjtelephone.Com
mkm.bjtelephone.Com
me.bjtelephone.Com
or.bjtelephone.Com
vk.bjtelephone.Com
c.bjtelephone.Com
v.bjtelephone.Com
ay.bjtelephone.Com
ihe.bjtelephone.Com
lqd.bjtelephone.Com
q.bjtelephone.Com
tlk.bjtelephone.Com
f.bjtelephone.Com
btg.bjtelephone.Com
sog.bjtelephone.Com
c.bjtelephone.Com
k.bjtelephone.Com
oky.bjtelephone.Com
jw.bjtelephone.Com
fi.bjtelephone.Com
fss.bjtelephone.Com
tt.bjtelephone.Com
xo.bjtelephone.Com
w.bjtelephone.Com
mhg.bjtelephone.Com
ib.bjtelephone.Com
i.bjtelephone.Com
mv.bjtelephone.Com
mw.bjtelephone.Com
r.bjtelephone.Com
jz.bjtelephone.Com
fiq.bjtelephone.Com
nl.bjtelephone.Com
pv.bjtelephone.Com

http://www.jsqmd.com/news/892884/

相关文章:

  • 生活垃圾处理设备厂家选购指南:如何选到合规高效的解决方案 - 资讯速览
  • 鸿蒙英语备考页面构建:学习模块网格与单词卡片详解
  • Winograd与余数系统融合:数字滤波器性能优化新路径
  • 2026年电竞椅牌子推荐:拓际TGIF大牌风范 - 13425704091
  • 2026 品质高的土工布厂家推荐:恒全土工材料上乘品质 - 17322238651
  • WSL 里的文件上传到 Azkaban
  • 2026国产分体式电磁流量计品牌推荐TOP10:技术实力与场景适配深度评测 - 仪表品牌排行榜
  • 免费好用的论文降ai方法(附10款降ai率工具测评) - 殷念写论文
  • 鸿蒙英语备考页面构建:今日计划与学习建议模块详解
  • Unity AR涂涂乐实战:用户上传图片秒变3D模型新皮肤(附完整代码)
  • 无人机视角农田耕地石块浸水区域耕地障碍检测数据集VOC+YOLO格式1060张2类别
  • 随机数值线性代数在大规模矩阵计算中的应用与优化
  • 避坑指南:Cocos Creator 3.6 2D碰撞监听那些容易踩的坑(Box2D vs 内置物理)
  • Linux面试题:端口占用和进程查看
  • 2026 性价比高的土工布厂家推荐:恒全土工材料高值低价 - 19120507004
  • 【单变量输入多步预测】基于BiLSTM的风电功率预测研究附Matlab代码
  • 告别环境冲突!用VMware虚拟机为每个AI项目创建独立的Ubuntu+PyTorch沙盒
  • CVE编号规范与漏洞生命周期管理指南
  • 使用TaotokenCLI工具一键配置团队开发环境中的AI模型密钥
  • 2026年5月大庆地区黄金回收白银铂金回收甄选门店推荐TOP1 地址及联系方式 - 五金回收
  • 2026年办公室设计厂家推荐排行榜:集团、企业、工厂、产业园办公室,简约风设计优质公司! - 资讯速览
  • 别再傻傻短接了!荣品RK3399刷机,一个USB BOOT键就能搞定Ubuntu系统
  • 2026年5月大同地区黄金回收白银铂金回收甄选门店推荐TOP1 地址及联系方式 - 五金回收
  • BGP选路原则--优选本地生成
  • 记一次wpf 背景图的坑点
  • Linux命令:stress-ng
  • torchtitan-npu:7B大模型在8卡NPU上的分布式训练实录
  • Unity实战:用户上传图片实时变模型皮肤,保姆级动态材质创建教程
  • 在 Node.js 后端服务中异步调用 Taotoken 聚合 API 的最佳实践
  • 代驾小程序APP代驾跑腿源码码兄代驾微信小程序代驾源码