C语言编程:第二版习题解答

5星 · 超过95%的资源 需积分: 9 234 下载量 29 浏览量 更新于2024-07-29 5 收藏 1.34MB DOC 举报
"C语言编程习题解答第二版" 在"The C Programming Language"的第二版中,作者Kernighan和Ritchie提供了丰富的习题来帮助读者深入理解C语言。以下是对部分习题的解答: **习题1-1:** 这个练习要求运行经典的“hello, world”程序,并尝试省略程序的部分内容,观察会得到什么错误消息。根据墨菲定律,没有一个固定的正确答案。下面是一个标准的“hello, world”程序示例: ```c #include<stdio.h> int main(void) { printf("hello,world\n"); return 0; } ``` 这里添加了`return 0;`语句,因为`main()`函数通常应返回一个整数值,明确地表示程序执行结果是良好的编程习惯。 **习题1-2:** 本题要求探索当`printf`的格式字符串包含`\c`(其中`c`是除`\n`、`\t`、`\b`、`\"`、`\\`之外的任意字符)时会发生什么情况。未指定的转义序列会导致未定义的行为。为了展示所有合法的转义序列,但不包括已经给出的(除了`\n`,因为实际程序中需要它),以及十六进制和八进制转义序列,可以编写以下程序: ```c #include<stdio.h> int main(void) { printf("\\a\\b\\f\\n\\r\\t\\v\\'\\\\\n"); // \a (bell), \b (backspace), \f (form feed), \r (carriage return), \t (tab), \v (vertical tab), \' (single quote), \\ return 0; } ``` 这个程序将打印出一系列控制字符的转义序列,包括警告(`\a`)、退格(`\b`)、换页(`\f`)、换行(`\n`)、回车(`\r`)、制表符(`\t`)、垂直制表符(`\v`)、单引号(`\'`)和反斜杠(`\\`)。 通过这些练习,读者可以学习到C语言的基本语法,如输入输出、转义序列的使用以及函数调用的规范。了解并实践这些基础概念是掌握C语言编程的关键步骤。在后续的章节中,读者将深入学习指针、结构体、内存管理等高级主题,逐步成为一名熟练的C程序员。