《Linux C编程一站式学习》——继续Hello World

Ⅰ        C语言入门

第2章 常量、变量和表达式

1.继续Hello World

1)多行注释

#include <stdio.h>

/* 
 * comment1
 * main: generate some simple output
 */

int main(void)
{
	printf(/* comment2 */"Hello, world.\n"); /* comment3 */
	return 0;
}

(1)红色注释跨四行,头尾两行是注释的界定符(Delimiter)
/*
*/,中间两行开头*号(Asterisk)
无特殊含义,只为整齐

(2)注释不能嵌套(Nest)
使用
,如/* text1 /* text2 */ text3 */不对,编译器只把/* text1 /* text2 */看成注释,后面的 text3 */无法解析,因而报错(最先原则:最先出现的/* */中的内容为注释)

2)单行注释

(1)// comment的注释,两个/斜线(Slash)
表示从这里直到该行末尾的所有字符都属于注释(2)不能跨行,也不能穿插在一行代码中间,这是从C++借鉴的语法,在C99中被标准化

3)字符串界定符" "

(1)"Hello, world.\n"双引号(Double Quote)
引起来的一串字符称为字符串字面值(String Literal)
,简称字符串

(2)运行结果并无双引号printf只打印双引号里的字符内容Hello, world.

(3)注意:字符串字面值中的空格也算一个字符,也会出现在输出结果中

除去字符串界定符限定的范围,在程序别处的空格多一个少一个是无关紧要的,Tab和换行同理,不缩进、不换行不影响程序的结果,只影响代码可读性,但int和main之间至少要有一个空格隔开

4)转义序列

 C标准规定的转义字符

\'        单引号'(Single Quote或Apostrophe)


\"        双引号"

\?        问号?(Question Mark)


\\        反斜线\(Backslash)


\a        响铃(Alert或Bell)


\b        退格(Backspace)


\f        分页符(Form Feed)


\n        换行(Line Feed)

\r        回车(Carriage Return)


\t        水平制表符(Horizontal Tab)


\v        垂直制表符(Vertical Tab)

(1)转义序列的作用

        (a)把普通字符转义成特殊字符,如把字母n转义成换行符\n

        (b)把特殊字符转义成普通字符,如\和"是特殊字符,转义后取它的字面值"

如要表示单引号和问号,既可使用转义序列\'\?,也可直接用字符'和?,但表示\或"则必须使用转义序列,因为\字符表示转义而不表示它的字面含义,"表示字符串界定符而不表示它的字面含义

(2)转义序列中控制字符的说明:

        (a)C语言规定了几个控制字符,不能用键盘直接输入,因此采用\加字母的转义序列表示

        (b)\a是响铃字符,在字符终端下显示的效果是PC喇叭发出嘀的一声,图形界面终端下的效果取决于终端的实现

        (c)在终端下显示\b和按下退格键效果相同

        (d)\f是分页符,主用于控制打印机在打印源代码时提前分页,可避免一个函数跨页打印

        (e)\n\r分别表示Line Feed和Carriage Return,这两个词来自老式英文打字机

                Line Feed是跳到下一行(进纸,喂纸,有个喂的动作所以是feed)

                Carriage Return是回到本行开头

                (Carriage是卷纸轴,随打字慢慢左移,打完一行就一下移回最右边)

                老式打字机打完一行之后需要这两个动作,\r\n

                故Windows上的文本文件和许多应用层网络协议(如HTTP)\r\n做行分隔符

                而Linux和各种UNIX上的文本文件只用\n做行分隔符。

        (f)在终端下显示\t和按下Tab键的效果相同,用于在终端下定位表格的下一列

        (g)\v用于在终端下定位表格的下一行

    \v比较少用,\t比较常用,以后将“水平制表符”简称为“制表符”或Tab

好的代码风格要求缩进整齐,每个语句一行,适当留空行


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值