C语言第一章导言中的05部分,你能详细解释一下吗?

2026-04-11 21:291阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计777个文字,预计阅读时间需要4分钟。

C语言第一章导言中的05部分,你能详细解释一下吗?

第1章 导言 - 05 1.5 符号常量 / 标准库提供的输入/输出模型非常简单。无文本说明输入/输出,输入/输出都是按照字符流的方式处理。标准库提供了一次读写一个字符的功能。

第1章 导言 -05

1.5 符号常量

// 标准库提供的输入/输出模型非常简单。 // 无论文本从何处输入,输出到何处,其输入/输出都是按照字符流的方式处理。 // 标准库提供了一次读/写一个字符的函数,其中最简单的是 getchar 和 putchar 两个函数。 // 变量 c 中将包含输入流中的下一个字符。 c = getchar() // 每次调用 putchar 函数时将打印一个字符。 putchar(c)

1 文件复制

// 借助于 getchar 与 putchar 函数,可以在不了解其他输入/输出知识的情况下编写出数量惊人的有用代码。 # include <stdio.h> /* 将输入复制到输出:版本1 */ int main() { int c; c = getchar(); while (c !=EOF) { putchar(c); c = getchar(); } return 0; }

// 如果将为 c 赋值的操作放在 while 循环语句的测试部分中,上述字符复制程序便可以改写成下列形式: # include <stdio.h> /* 将输入复制到输出:版本2 */ int main() { int c; while ((c = getchar()) !=EOF) { putchar(c); } return 0; }

C语言第一章导言中的05部分,你能详细解释一下吗?

2 字符计数

// 下列程序用于对字符进行计数 # include <stdio.h> /* 统计输入的字符数:版本1 */ int main() { long nc; nc = 0; while ( getchar() !=EOF) ++nc; printf("%ld\n", nc) return 0; } // 引入了一个新的运算符++,其功能是执行加1操作。 ++nc;

// 使用 double (双精度浮点数)类型可以处理更大的数字。 # include <stdio.h> /* 统计输入的字符数:版本2 */ int main() { double nc; for(nc = 0; getchar() != EOF; ++nc) ; printf("%.0f\n", nc); return 0; }

3.行计数

// 接下来的这个程序用于统计输入的行数。 # include <stdio.h> /* 统计输入的行数 */ int main() { int c, n1; n1 = 0; while ((c = getchar()) !=EOF) if (c == '\n') ++n1; printf("%d\n", n1); return 0; }

4.单词计数

// 我们将介绍的第4个实用程序用于统计行数、单词数与字符数。 // 下面这段程序是 UNIX 系统中 wc 程序的骨干部分: # include <stdio.h> #define IN 1 /* 在单词内 */ #define OUT 0 /* 在单词外 */ /* 统计输入的行数、单次数与字符数 */ int main() { int c, n1, nw, nc, state; state = OUT; n1 = nw = nc = 0; while ((c = getchar()) !=EOF) { ++nc; if (c == '\n') ++n1; if (c == ' ' || c == '\n' || c == '\t') { state = IN; ++nw; } } printf("%d %d %d\n", n1, nw, nc); return 0; } // 将把其中的3个变量 n1、 n1 = nw = nc = 0; // 如果 c 是空格,或 c 是换行符,或 c 是制表符 if (c == ' ' || c == '\n' || c == '\t')

本文共计777个文字,预计阅读时间需要4分钟。

C语言第一章导言中的05部分,你能详细解释一下吗?

第1章 导言 - 05 1.5 符号常量 / 标准库提供的输入/输出模型非常简单。无文本说明输入/输出,输入/输出都是按照字符流的方式处理。标准库提供了一次读写一个字符的功能。

第1章 导言 -05

1.5 符号常量

// 标准库提供的输入/输出模型非常简单。 // 无论文本从何处输入,输出到何处,其输入/输出都是按照字符流的方式处理。 // 标准库提供了一次读/写一个字符的函数,其中最简单的是 getchar 和 putchar 两个函数。 // 变量 c 中将包含输入流中的下一个字符。 c = getchar() // 每次调用 putchar 函数时将打印一个字符。 putchar(c)

1 文件复制

// 借助于 getchar 与 putchar 函数,可以在不了解其他输入/输出知识的情况下编写出数量惊人的有用代码。 # include <stdio.h> /* 将输入复制到输出:版本1 */ int main() { int c; c = getchar(); while (c !=EOF) { putchar(c); c = getchar(); } return 0; }

// 如果将为 c 赋值的操作放在 while 循环语句的测试部分中,上述字符复制程序便可以改写成下列形式: # include <stdio.h> /* 将输入复制到输出:版本2 */ int main() { int c; while ((c = getchar()) !=EOF) { putchar(c); } return 0; }

C语言第一章导言中的05部分,你能详细解释一下吗?

2 字符计数

// 下列程序用于对字符进行计数 # include <stdio.h> /* 统计输入的字符数:版本1 */ int main() { long nc; nc = 0; while ( getchar() !=EOF) ++nc; printf("%ld\n", nc) return 0; } // 引入了一个新的运算符++,其功能是执行加1操作。 ++nc;

// 使用 double (双精度浮点数)类型可以处理更大的数字。 # include <stdio.h> /* 统计输入的字符数:版本2 */ int main() { double nc; for(nc = 0; getchar() != EOF; ++nc) ; printf("%.0f\n", nc); return 0; }

3.行计数

// 接下来的这个程序用于统计输入的行数。 # include <stdio.h> /* 统计输入的行数 */ int main() { int c, n1; n1 = 0; while ((c = getchar()) !=EOF) if (c == '\n') ++n1; printf("%d\n", n1); return 0; }

4.单词计数

// 我们将介绍的第4个实用程序用于统计行数、单词数与字符数。 // 下面这段程序是 UNIX 系统中 wc 程序的骨干部分: # include <stdio.h> #define IN 1 /* 在单词内 */ #define OUT 0 /* 在单词外 */ /* 统计输入的行数、单次数与字符数 */ int main() { int c, n1, nw, nc, state; state = OUT; n1 = nw = nc = 0; while ((c = getchar()) !=EOF) { ++nc; if (c == '\n') ++n1; if (c == ' ' || c == '\n' || c == '\t') { state = IN; ++nw; } } printf("%d %d %d\n", n1, nw, nc); return 0; } // 将把其中的3个变量 n1、 n1 = nw = nc = 0; // 如果 c 是空格,或 c 是换行符,或 c 是制表符 if (c == ' ' || c == '\n' || c == '\t')