初识C语言

1.C语言中的关键字

C语言中有一批保留名字的符号,这些符号在C语言中是相当重要的,写代码是离不开这些关键字的。比如 int if,return等等 

关于关键字有三点注意事项

A.每个关键字都有着它自己的含义

B.我们敲代码的时候,常常会创建变量,要注意这些变量不能和关键字相同,不然程序会报错

C.关键字是约定俗成的,不能随意更改,更不能自己创建

C语言中的32个关键字

但在c99标准中又加入了许多关键字,可去下面链接看看。

https://zh.cppreference.com/w/c/keyword(C语言关键字介绍)

2.字符和ASCll编码

什么叫作字符?字符就是类似a,#,%,&等,这些符号都叫做字符。C语⾔中字符是⽤单引号 括起来的,如:'a','b','@'。我们知道在计算机中所有的数据都是以⼆进制的形式存储的,那这些字符在内存中分别以什么样的⼆ 进制存储的呢?如果我们每个⼈⾃⼰给这些字符中的每个字符编⼀个⼆进制序列,这个叫做编码,为 了⽅便⼤家相互通信,不造成混乱,后来美国国家标准学会(ANSI)出台了⼀个标准 ASCII 编码,C语 ⾔中的字符就遵循了 ASCII 编码的⽅式。此编码可以见https://zh.cppreference.com/w/cpp/language/ascii

由于编码太多,我们不可能一一全部背下,但是我们得掌握一些比较特殊字符的ASCll码值

A.字符A~Z的ASCII码值从65~90

B.字符a~z的ASCII码值从97~122

C.对⼤⼩写字符(a和A)的ASCII码值的差值是32

D.数字字符0~9的ASCII码值从48~57

E.换⾏ \n 的ASCII值是:10

 F.在这些字符中ASCII码值从0~31 这32个字符是不可打印字符,⽆法打印在屏幕上观察

这就是可以打印出来的字符。

3.字符串和\0

什么叫作字符串,例如abcdefg,这就是一串字符串。想要打印字符串有两种方式,1是直接输入,2是使用占位符%s

以上两种方式都可以打印出abcd。

实际上,在字符串的末尾隐藏着一个\0,它的作用就是告诉计算机到此停止,相当于一个结束的标志。但是它没有被计算机打印出来,使用strlen计算字符串长度时同理,是不被计算在内的。我们可以通过一组代码来体会一下\0的作用

我们很容易看见第一个打印出来的并不单纯的是abcd,由于没有\0,但是程序要停止啊,怎么办呢。这个时候计算机就形成了越界访问,会一直输出至有\0的位置。这时候我们就会问,要是我们给它加上\0会不会只打印abcd呢,我们不妨试试。

我们会发现加上\0后可以只打印abcd。

4.转义字符

大家可能看见我前面的代码可能会有疑问,那个\n,\0,到底是什么东西。实际上它们就是我们所说的转义字符。转义字符,顾名思义,改变了原来字符的意思。比如\n,在加上\之前我们输出n

就会打印n,但是加上\后它的意思就变了,就不再是代表n这个字符了。

我们发现,输出的结果空了一行,这就是我们\n的作用了即换行符

C语⾔中像这样的转义字符还有⼀些,具体如下:

• \? :在书写连续多个问号时使⽤,防⽌他们被解析成三字⺟词,在新的编译器上没法验证了。

• \' :⽤于表⽰字符常量'

• \" :⽤于表⽰⼀个字符串内部的双引号

• \\ :⽤于表⽰⼀个反斜杠,防⽌它被解释为⼀个转义序列符。

• \a :警报,这会使得终端发出警报声或出现闪烁,或者两者同时发⽣。

• \b :退格键,光标回退⼀个字符,但不删除字符。

• \f :换⻚符,光标移到下⼀⻚。在现代系统上,这已经反映不出来了,⾏为改成类似于 \v 。

• \n :换⾏符。

• \r :回⻋符,光标移到同⼀⾏的开头。

 • \t :制表符,光标移到下⼀个⽔平制表位,通常是下⼀个8的倍数。

• \v :垂直分隔符,光标移到下⼀个垂直制表位,通常是下⼀⾏的同⼀列。

下⾯2种转义字符可以理解为:字符的8进制或者16进制表⽰形式

• \ddd :d d d表⽰1~3个⼋进制的数字。如,\130表⽰字符X

• \xdd :d d表⽰2个⼗六进制数字。如:\x30表⽰字符0 \0 :null 字符,代表没有内容, \0 就是 \ddd 这类转义字符的⼀种,⽤于字符串的结束标志,其 ASCII码值是0

这些ASCII码值是可以⾃⼰写代码验证的,⼤家也可以⾃⼰验证。 关于转义字符我们⾸先要了解,然后要能在字符串中识别出来。 转义字符参考:https://zh.cppreference.com/w/c/language/escape

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值