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
