C语言——字符串、标识符、转义字符、注释、关键字

C语言中使用到的词汇有标识符、关键字、运算符、分隔符、常量和注释符等。今天主要学习字符集、关键字、标识符和注释符。

字符集

C语言的字符集是ASCII字符集的一个子集,由字母,数字,标点符号和特殊字符(标点符号和转义字符)构成。

字符串:

’单引号引起来的为单个字符‘

“双引号引起来的为一串字符”

\0是字符串结束的标志,一般隐藏在字符串的结尾

这是不加\0的程序及输出结果:

这是加了\0后的程序及输出结果:

由此可见,截止标志至关重要!!

注意:在计算字符串长度时\0仅作为结束标志,不计入字符串长度。

标识符-------为对象命名

标识符只能是字母、数字、下划线组成的字符串,并且第一个字符必须是字母或下划线

注意:标识符严格区分大小写。习惯上,符号常量用大写字母表示,变量名用小写字母表示;

变量名的长度不要超过31个字符(为了程序的可移植性);

命名时尽量做到”见名知意“;

先定义,后使用。

转义字符

    名  称

 符号

     名    称

 符号

   空字符

\0

换行

\n

   换页

\f

回车

\r

   退格

\b

响铃

\a

   水平制表

\t

垂直制表

\v

   反斜线

\\

问号

\?

   单引号

\'

双引号

\"

1-3位八进制数所代表的字符

\ddd

1-2位十六进制数所代表的字符

\xdd

注释-------用来解释复杂代码,提高代码可读性

//单行注释

/*

多行注释(不支持嵌套注释)

*/

快捷键:

crtl+k+c   多行注释

crtl+k+u   取消注释

在vs2019中,也可以点击“注释选中行”,实现多行注释(推荐)

效果

注释右边的键是”取消注释“。

关键字

关键字也称为保留字,具有固定含义,用户只能使用而不能改变其含义;关键字也不能做变量名。    根据关键字的作用,可将其分为四种:

数据类型关键字,控制语句关键字,存储类型关键字,其他关键字。以下给出32个关键字的简单解释。

1、关于数据类型的关键字12个)

(1) char :声明字符型变量或函数 

(2) double :声明双精度变量或函数 

(3) enum :声明枚举类型

(4) float:声明浮点型变量或函数 

(5) int: 声明整型变量或函数 

(6) long :声明长整型变量或函数 

(7) short :声明短整型变量或函数 

(8) signed:声明有符号类型变量或函数 

(9) struct:声明结构体变量或函数可以用来实现C语言的封装,继承,多态等等。

(10) union:声明共用体(联合)数据类型 union类型可以用来提高内存的使用率

(11) unsigned:声明无符号类型变量或函数 

(12) void :声明函数无返回值或无参数,声明无类型指针

2、关于控制语句的关键字12个)

循环语句

(13) for:一种循环语句

(14) do :循环语句的循环体 

(15) while :循环语句的循环条件 

条件判断语句

(16)if: 条件语句 

(17)else :条件语句否定分支(与 if 连用) 

(18)switch :用于开关语句 

(19)case:开关语句分支 

(20)default:开关语句中的“其他”分支

在case...switch语句中,当一个条件输入,从满足条件的那个case语句开始执行,直到遇到跳转指令(break;return;goto;contine;),所以建议在每条case语句后面加上break。

跳转语句

(21)goto:无条件跳转语句

(22) continue:结束当前循环,开始下一轮循环 

(23) break:跳出当前循环 

(24)return :子程序返回语句(可以带参数,也可以不带参数)在return语句之后函数中的所有指令都不会执行,所以需要确保在return语句之前执行完必要的指令。 

 3、关于存储类型的关键字4个)

(25)auto :声明自动变量 一般不使用,因为当我们声明一个局部变量是默认就是auto

(26)extern:声明变量是在其他文件正声明(也可以看做是引用变量),一般也需要经常使用,因为在C语言里面,全局变量和函数都是默认extern的属性

(27)register:声明寄存器变量,声明为register的变量是存放在CPU的寄存器里面的,所以读取速度非常快,但是数量有限,当定义的多个register变量,编译器多的那些register变量转换为auto变量。(计算机中的数据可以存到高速缓存、寄存器、内存、硬盘中,其中寄存器的 速度最快,但是空间最小)。

(28)static :声明静态变量

a、修饰全局变量:使全局变量只能在自己所在的源文件内部使用,其他源文件不能使用(因为全局变量被static修饰之后,他的外部链接属性变成了内部链接属性,其他源文件就不能连接到这个静态的全局变量了);

b修饰局部变量:改变了局部变量的生命周期(本质上是改变了变量的存储类型,由栈区到静态区);

c修饰函数:当把函数声明为static它的作用范围变为本源文件,本质上,是属性由external(外部)变为internal(内部)

4、其它关键字4个)

(29)const :声明只读变量

(30)sizeof:计算数据类型长度

补充:sizeof与strlen的区别:sizeof是运算符,而strlen是函数;sizeof计算的是数据类型的大小,而strlen计算的是字符串的长度;sizeof的参数既可以是数据类型,也可以是变量,而strlen的参数只能是char*,而且必须是空字符结尾;sizeof返回值类型为unsigned,而strlen返回值为signed,因为它需要返回负数来表示出错情况。

(31)typedef:用以给数据类型取别名当一个数据类型很长时(比如说函数指针),我们就可以用typedef来选用一个很合适的名字来替代它;

(32)volatile:说明变量在程序执行中可被隐含地改变

volatile 修饰的变量不允许编译器对与它有关的运算做任何优化;用volatile定义的变量可能会在程序外被改变,所以每次都必须从内存中读取,而不能把他放在cache或寄存器中重复使用。一般用在以下几个地方:

a、并行设备的硬件寄存器(如:状态寄存器) 

b、一个中断服务子程序中会访问到的非自动变量(Non-automatic variables) 

c、多线程应用中被几个任务共享的变量 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

采代码的小蘑菇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值