字符串相邻元素去重_程序的组成元素和格式

899f9292b68a4e9a927b49667d3c1e66.png

此处,我们插入一小结,再次总结和学习程序的各组成元素(关键字、运算符等)和格式相关的内容。

关键字

在C语言中,像if和else这样的标识符被赋予了特殊的意义。这种具有特殊意义的标识符称为关键字(keyword),它们是不能用作变量名的。C语言中的32个关键字如下所示[C99标准中又加入了inline、restrict、_Bool、_Complex和_Imaginary等关键字。]。

■表 A C语言的关键字

90d010422896c612dc80d9b38944f78f.png

运算符

目前为止我们己经介绍了 +-运算符(operator)。所有运算符的一览表后面章节有述。

>=+= 等由多个字符构成的运篝符中不可加入空格(即不可写成 > =+ = 等)。

标识符

标识符(identifier) 等的名称规则:

► 必须以非数字开头,之后可以是非数字和数字的组合。这里的非数字包括大小写字母和下划线。

C语言区分大小写,ABC、abc和aBc分别代表不同的标识符。

合法的标识符示例如下所示:

x1 a __y abc_def max_of_group xyz Ax3 If iF IF if3

非法的标识符示例如下所示:

if 123 98pc abc$ abc$xyz abc@def
► 以下划线幵头的标识符(如 _x、_comp)和仅有一个大写英文字母的标识符(如A、Z),有可能是编译器内部使用的,因此最好不要用作变量和函数的标识符。

分隔符

关键字和标识符都可以理解为构成语句的单位,用来分隔这些单位的符号就是分隔符(punctuator)。分隔符一共有13种,如下所示。

■ 表B 分隔符

1197156ef266b1cbc51d9b4aaaede0ad.png

常量和字符串常量

字符常量、整数常量、浮点数常量和字符串常量都是程序的构成要素。

自由的书写格式

代码清单 demo1.c 是前面九九乘法表代码的重写,程序本质上是一样的,显示的运行结果也一样。

代码清单 demo1.c

2beda3177443874dc65fb5a2af306a68.png

c语言原则上允许开发人员以自由的格式编写程序。它并不像有些编程语言那样,规定了程序中必须从第几个字符开始写,或者每条语句必须写在一行之内等。

上述程序就是一个自由书写的例子。不过再怎么自由也还是有一些限制的。

【1】构成语句的单位中间不能插入空格类字符

例如 intreturn 这样的关键字,变量 n1n2 这样的标识符,+=++ 这样的运算符,都是构成语句的单位。在它们中间是不能插入空格类字符(空格、制表符、换行等)的。如下的书写格式是不允许的。

3301358e69f003f2202e3a4c5167fdb4.png

【2】预处理指令中间不能换行

允许使用自由书写格式的C语言中也对 #include 这样以 # 开头的预处理指令有特殊要求。原则上这些指令都必须写在一行内。下面这样的方式是不允许的。

da63a197653d004938b39e513e01a64f.png

【3】字符串常置和字符常量中间不能换行

用双引号括起来的字符串常量"..."也是构成语句的单位,因此也不能像下面这样在中间进行换行。

00cb14f262098bcfce81b5c9e275f760.png

连接相邻的字符串常量

可以把被空格类字符以及注释分隔开的相邻字符串常量作为一个整体来看待。例如 "ABC" 和 "DEF",连接起来就是 "ABCDEF"。

使用这种方法,可以将长的字符串常量写得很易读。就刚才的那个例子而言,可以像下面这样写。

6ebc26eda83ba2449e3464f249f70d72.png

缩进

前面已经介绍过缩进,更容易地理解程序结构,更方便阅读。像这样以段落为单位向右移动的书写方式称为缩进(也称为"分段处理")。

下面演示了在 Sublmie Text中一个不正确的缩进,.... (空格)和 —— (TAB)混用是一定要避免的。

484359a28710f10bb8b190fb9e285cfd.png

本教程的程序全部使用4个空格缩进。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值