C++编程:统计输入行字符的单词数方法

需积分: 9 5 下载量 155 浏览量 更新于2024-08-23 收藏 8.66MB PPT 举报
本篇文档是关于C++程序设计课程的一节实例讲解,由谭浩强编著,针对清华大学出版社的教材,主要探讨如何通过C++编程实现从键盘接收一行字符并统计其中的单词数。这一问题的关键在于如何正确识别单词边界,即仅根据字母和空格状态的变化来计数。 首先,程序设计者需要注意的是,传统的字母数或空格数的计数方法不足以准确判断单词数,因为单词可能包含连字符(-)或撇号('')等特殊字符,这些情况下需要更细致的处理。为了实现这个功能,作者建议使用一个状态变量word,将其初始化为0。当遇到字母时,word设置为1表示当前处于单词内;当遇到非字母字符(如空格)时,word变为0,此时确认单词结束,单词数加1。 在给出的代码示例中,每一行展示了字符输入与word状态的变化。例如,"w e a r e s" 这一串字符中,word状态从0变为1,然后连续出现多个1,接着变为0,表明这里有两个单词。整个过程需要遍历输入的每个字符,通过状态变化来计数单词。 C++语言的历史背景也被提及,自1972年C语言诞生以来,它在Unix操作系统中的广泛应用推动了其发展。C++作为C语言的增强版本,继承了C语言的结构化、灵活性和高效性,同时引入了面向对象编程特性。C++语言的特点包括: 1. 结构化:简洁易用,适用于大型系统和小型控制程序,以及科学计算。 2. 高级与低级结合:C++拥有丰富的运算符,支持位运算和灵活的数据结构,使程序表达力强且执行效率高。 3. 可移植性强:C++编写的程序能在不同类型的计算机上运行,无需过多修改。 4. 自由度大但语法要求高:对于有经验的开发者,C++提供了很大的设计空间;但对于新手,理解和调试可能会有一定的挑战。 总结来说,本篇内容涵盖了C++语言的基本概念、其发展背景,以及在实际编程中处理字符输入并统计单词数的具体实现方法。学习者可以通过这个实例理解C++在文本处理中的应用,并提升对状态机和逻辑判断的理解。