输出的结果是:
My formula for success?
Rise early, work late, strike oil.
在printf()语句中,在文本的开头和第一句的后面,增加了字符\n,它是另一个转义序列,代表换行符。这样输出光标就会移动到下一行,后续的输出就会显示在新行上。反斜杠(\)在文本字符串里有特殊的意义,它表示转义序列的开始。反斜杠后面的字符表示是哪种转义序列。对于\n,n 表示换行。还有其他许多转义序列。显然,反斜杠是有
特殊意义的,所以需要一种方式在字符串中指定反斜杠。为此,应使用两个反斜杠(\\)。
输入以下的程序:
// Program 1.5 Another Simple C Program - Displaying Great Quotations
#include <stdio.h>
int main(void)
{
printf("\"It is a wise father that knows his own child.\"\nShakespeare\n");
return 0;
}
输出的结果如下:
"It is a wise father that knows his own child."
Shakespeare
输出中包含双引号,因为在字符串中使用了双引号的转义序列。Shakespeare 显示在下一行,因为在\”的后面有\n 转义序列。
在输出字符串中使用转义序列\a 可以发出声音,说明发生了有趣或重要的事情。输
入以下的程序并执行:
// Program 1.6 A Simple C Program – Important
#include <stdio.h>
int main(void)
{
printf("Be careful!!\n\a");
return 0;
}
这个程序的输出如下所示且带有声音。仔细聆听,电脑的扬声器会发出鸣响。
Be careful!!
转义序列\a 表示发出鸣响。表1-1 是转义序列表。
试着在屏幕上显示多行文本,在该文本中插入空。使用 \n 可以把文本放在多个行上,使用\t 可以给文本加上空。本书将大量使用这些转义序列。
1.8.9 三字母序列
一般可以直接在字符串中使用问号。\?转义序列存在的唯一原因是,有9 个特殊的字母序列,称为三字母序列,这是包含三个字母的序列,分别表示#、[、]、\、^、~、\、{和}:
在International Organization for Standardization(ISO)不变的代码集中编写C 代码时,就需要它们,因为它没有这些字符。这可能不适用于你。可以完全不理会它们,除非希望编写如下语句:
printf("What??!\n");
这个语句生成的输出如下:
What|
三字母序列??!会转换为|。为了获得希望的输出,需要把上述语句写成:
printf("What?\?!\n");
现在三字母序列不会出现,因为第二个问号用其转义序列指定。使用三字母序列时,编译器会发出一个警告,因为通常是不应使用三字母序列的。
1.9 预处理器
上述示例介绍了如何使用预处理指令,把头文件的内容包含到源文件中。编译的预处理阶段可以做的工作远不止此。除了指令之外,源文件还可以包含宏。宏是提供给预处理器的指令,来添加或修改程序中的C 语句。宏可以很简单,只定义一个符号,例如INCHES_PER_FOOT,只要出现这个符号,就用12 替代。其指令如下:
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-32998-7.html
1
此物痴线
#吴亦凡##挑战者吴亦凡#虽然不能去