江湖车侠|C和指针:如何快速上手C语言
从头开始介绍一门编程语言总是显得很困难,因为有许多细节还没有介绍,很难让读者在头脑中形成一幅完整的图 。 在本章中,我将向大家展示一个例子程序,并逐行讲解它的工作过程,试图让大家对C语言的整体有一个大概的印象 。 这个例子程序同时向你展示了你所熟悉的过程在C语言中是如何实现的 。 这些信息再加上本章所讨论的其他主题,向你介绍了c语言的基础知识,这样你就可以自己编写有用的C程序了 。
我们所要分析的这个程序从标准输入读取文本并对其进行修改,然后把它写到标准输出 。 程序1.1首先读取一串列标号 。 这些列标号成对出现,表示输入行的列范围 。 这串列标号以一个负值结尾,作为结束标志 。 剩余的输入行被程序读入并打印,然后输入行中被选中范围的字符串被提取出来并打印 。 注意,每行第1列的列标号为零 。 例如,如果输入如下:
则程序的输出如下:
这个程序的重要之处在于它展示了当你开始编写C程序时所需要知道的绝大多数基本技巧 。
程序1.1重排字符
1.1.1 空白和注释
现在,让我们仔细观察这个程序 。 首先需要注意的是程序的空白:空行将程序的不同部分分隔开来;制表符( tab )用于缩进语句,更好地显示程序的结构等等 。 C是一种自由格式的语言,并没有规则要求你必须怎样书写语句 。 然而,如果你在编写程序时能够遵守一些约定还是非常值得的,它可以使代码更加容易阅读和修改 , 千万不要小看了这一点 。
清晰地显示程序的结构固然重要,但告诉读者程序能做些什么以及怎样做则更为重要 。 注释(comment)就是用于实现这个功能 。
这段文字就是注释 。 注释以符号/*开始,以符号*/结束 。 在C程序中,凡是可以插入空白的地方都可以插入注释 。 然而,注释不能嵌套,也就是说,第1个*/符号和第1个*/符号之间的内容都被看作是注释,不管里面还有多少个/*符号 。
在有些语言中,注释有时用于把一段代码“注释掉",也就是使这段代码在程序中不起作用,但并不将其真正从源文件中删除 。 在C语言中,这可不是个好主意,如果你试图在一段代码的首尾分别加上/*和*/符号来“注释掉”这段代码,你不一定能如愿 。 如果这段代码内部原先就有注释存在,这样做就会出问题 。 要从逻辑上删除一段C代码,更好的办法是使用#if指令 。 只要像下面这样使用:
在#if和#endif之间的程序段就可以有效地从程序中去除,即使这段代码之间原先存在注释也无妨,所以这是一种更为安全的方法 。 预处理指令的作用远比你想象的要大,我将在第14章详细讨论这个问题 。
推荐阅读
- 定格|有的人演再多的喜剧,也掩盖不了江湖人物的锋芒
- 阿里巴巴|马云,江湖再见
- 滴滴出行|网约江湖:生态闭环的滴滴
- 琴歌解说|出怀旧服才是这个游戏的出路,热血江湖:别再弄手游了
- 天涯明月刀手游|三千万预约,天刀手游终测能否让玩家买单?阿暖带你云游江湖
- 鲜闻快讯|行走江湖的七个哲学思维,《我的前半生》唐晶安全友善并不幸福
- 江湖车侠|国产操作系统发布:售价99元,你愿意花费这个价格去尝试吗
- 江湖车侠|谁说小米等于性价比?千元5G实力派,OPPO和VIVO不差
- 艺统江湖|赵丽颖演过的十二部古装电视剧,你最喜欢她的哪个古装扮相?
- 北府财君|收益随即放大十倍,江湖上失传已久的炒股秘籍——仅靠这两招买入技巧
