C语言基础教程:使用标准输入计算字符数量

何川
何川
发布时间:2026-10-13| 5人浏览过
原创

本文详细解析利用C语言标准库 getchar() 函数逐字符读取输入流并统计数量的经典写法。通过完整源码、GCC编译指令以及 Linux 管道操作的实战演示,帮助开发者快速理解字符计数逻辑及命令行数据处理方法。

C语言字符计数实现原理

在C语言中,最常用的方法是利用循环调用标准输入函数,直到遇到特定的结束标志(如文件结束符 EOF 或自定义终止符)。以下是一个基于 ASCII '0' (数值为 48) 作为终止条件的字符计数程序逻辑:

第1步:编写 C 源代码

目的:构建一个无限循环,每次从标准输入(stdin)获取一个字符,非终止符则计数器加一。

  • 入口/文件: char_counting.c
  • 关键参数: 终止条件设为 != '0'
#include <stdio.h>
int main()
{
  long nc;
  nc = 0;
  // 持续读取字符,直到读到 '0' 字符为止
  while(getchar() != '0')
    {
      ++nc;
    }
  // 输出累计的字符数
  printf("%ld\n", nc);
}

第2步:编译生成可执行文件

目的:将源代码转换为操作系统可执行的机器码。推荐使用 GCC 编译器。

  • 操作:** 打开终端,进入代码所在目录。
  • 命令:** gcc char_counting.c -o char_counting.o

注意:通常 .o 后缀用于目标文件,这里沿用原示例命名。实际部署建议改为无后缀或使用 .out 后缀以符合惯例。

第3步:本地交互测试

目的:验证程序能正确接收键盘输入的字符串并停止计数。

  • 操作:** 运行生成的程序,输入一串字符,最后输入 '0' 触发退出。
  • 预期结果:** 输入 123
    450
    (回车换行也算字符)时:
[root@server1 c]# ./char_counting.o
123
450[回车]
6

此处统计了前5个可见数字加上第6次回车键(Enter)产生的换行符,共计6个字符。

第4步:通过管道自动化处理

目的:利用 Linux 管道特性,将其他命令的输出直接作为本程序的输入源,无需手动键盘输入。

  • 操作:** 使用 echo 命令配合管道 |。
[root@server1 c]# echo helloworld0 | ./char_counting.o 
10

分析:helloworld 共10个字母,紧随其后的 0 被视为终止符号而不计入总数,故最终输出结果为 10。

总结

该示例直观展示了 C 语言在处理低层级输入流时的简洁性。对于需要精确控制数据截断点的场景非常有效。以上就是C语言简单实现计算字符个数的详细内容,更多关于C语言入门教程的资料请关注本站其它相关文章!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。