汉字机内码在计算机的表达方式的描述是,使用二个字节,每个字节最高位一位为1. 
计算机中,补码第一位是符号位,1 表示为负数,所以 汉字机内码的每个字节表示的十进制数都是负数  
所以这题也就可以简化为输入字符串判断其中字符转化为十进制数是否小于零.
注意:汉字是有两个小于零的字符组成,所以在统计结果的时候就要将count除以2了.

#include <stdio.h>

int main(void)
{
    int count;
    char c;

while(1){
        count = 0;

while ((c = getchar()) != '\n')//逐个判断字符,汉字的是两个字符
        {
            if (c < 0)
                count++;
        }

printf("%d\n", count / 2);    
    }
    return 0;
}

getchar()函数:从stdio流中读字符,相当于getc(stdin),它从标准输入里读取下一个字符.

getchar有一个int型的返回值.当程序调用getchar时.程序就等着用户按键.用户输入的字符被存放在键盘缓冲区中.直到用户按回车为止(回车字符也放在缓冲区中).当用户键入回车之后,getchar才开始从stdin流中每次读入一个字符.getchar函数的返回值是用户输入的第一个字符的ASCII码,如出错返回-1,且将用户输入的字符回显到屏幕.如用户在按回车之前输入了不止一个字符,其他字符会保留在键盘缓存区中,等待后续getchar调用读取.也就是说,后续的getchar调用不会等待用户按键,而直接读取缓冲区中的字符,直到缓冲区中的字符读完为后,才等待用户按键.

注意:如果输入的是中文字符,由于汉字是两个字节,所以getchar()函数对汉字要处理两次.比如我输入2个汉字,getchar()处理4次,返回4个值,由于是中文返回的肯定是负数.

什么是汉字机内码?

答:机内码,就是用二个字节,最高位为1,用它来表示一个汉字,在用到这个字时,系统按这个编号去找它的点阵信息,然后把它显示出来

用C语言统计给定文本文件中汉字的个数相关推荐

  1. 用C语言统计给定文本文件中汉字的个数。

    汉字机内码在计算机的表达方式的描述是,使用二个字节,每个字节最高位一位为1. 计算机中,补码第一位是符号位,1 表示为负数,所以 汉字机内码的每个字节表示的十进制数都是负数 所以这题也就可以简化为输入 ...

  2. 位运算—统计文本文件中汉字的个数

    声明:这些内容主要是面向C语言的初学者,尤其是正在学习C语言的学生. C语言进行底层开发时经常会用到位运算,比如操作系统中的各种描述符,不同的位代表着不同的含义,经常需要按位赋值.关于位运算的细节,教 ...

  3. java 汉字个数_java语言中如何获取字符串中汉字的个数

    java语言中如何获取字符串中汉字的个数? [实例描述] 字符串中可以包含数字,字母.汉字或者其他字符.使用Character 类的isDigit()方法可以判断字符中的某个字符是否为数字,使用Cha ...

  4. MapReduce初体验——统计指定文本文件中每一个单词出现的总次数

    相信小伙伴们看了小菌上一篇博客<什么是MapReduce(入门篇)>后,对MapReduce的概念有了更深的认知!本篇博客,小菌为大家带来的则是MapReduce的实战--统计指定文本文件 ...

  5. python中列表用某个数字出现的次数_Python实现统计给定列表中指定数字出现次数的方法...

    本文实例讲述了Python实现统计给定列表中指定数字出现次数的方法.分享给大家供大家参考,具体如下: 直接看实现: #!usr/bin/env python #encoding:utf-8 ''''' ...

  6. C语言编程>第十周 ⑦ 请编写函数fun,该函数的功能是:统计一行字符串中单词的个数,作为函数值返回。一行字符串在主函数中输入,规定所有单词由小写字母组成,单词之间由若干个空格隔开,一行……

    例题:请编写函数fun,该函数的功能是:统计一行字符串中单词的个数,作为函数值返回.一行字符串在主函数中输入,规定所有单词由小写字母组成,单词之间由若干个空格隔开,一行的开始和结尾都没有空格. 请勿改 ...

  7. java识别汉字个数_统计字符串中汉字的个数

    字符串可以包括数字.字母.汉字或者其他字符.使用Charater类的isDigit()方法可以判断字符串中的某个字符是否为数字, 使用Character类的isLetter()方法可以判断字符串中的某 ...

  8. 7-64 统计大写辅音字母 (15 分)英文辅音字母是除A、E、I、O、U以外的字母。本题要求编写程序,统计给定字符串中大写辅音字母的个数。PTA:中M2021春C、Java入门练习第I段

    7-64 统计大写辅音字母 (15 分) 英文辅音字母是除A.E.I.O.U以外的字母.本题要求编写程序,统计给定字符串中大写辅音字母的个数. 输入格式: 输入在一行中给出一个不超过80个字符.并以回 ...

  9. 英文辅音字母是除A、E、I、O、U以外的字母。本题要求编写程序,统计给定字符串中大写辅音字母的个数。

    英文辅音字母是除A.E.I.O.U以外的字母.本题要求编写程序,统计给定字符串中大写辅音字母的个数. 输入格式: 输入在一行中给出一个不超过80个字符.并以回车结束的字符串. 输出格式: 输出在一行中 ...

  10. 统计一个字符串中单词的个数

    <程序设计基础-c语言>杨莉 刘鸿翔 ISBN-978-7-03-032903-5 p113 习题4 7.统计一个字符串中单词的个数.字符串中两个空格之间的非空格字符串可看做单词. #in ...

最新文章

  1. matlab实验是啥,matlab实验心得体会
  2. 转:场景管理--BSP
  3. hdu 4289 Control
  4. 转:ext2文件系统详解
  5. 修改数据库文件为自动扩展以达到表空间自动扩展的目的
  6. mysql源代码安装
  7. Ethereum-EIPs
  8. Java方法中的参数太多,第7部分:可变状态
  9. 如何把Python脚本导出为exe程序
  10. Python学习汇总,做数据采集的一些小技巧,收获满满
  11. Spring Boot jar方式打包发布
  12. ios把数据传递到另一个页面_iOS 应用之间的跳转和数据传递
  13. 牛客练习赛20:A. 礼物(组合数学/小球与盒子问题)
  14. 如何对一个普通的Java项目进行打包,打成jar包,idea操作
  15. 抗量子加密:为什么你迫切需要它
  16. mac excel 函数
  17. 10分钟免费邮箱:10minutemail
  18. python爬取12306_详解python 爬取12306验证码
  19. win10开机的微软服务器,部分 Win10 Edge 浏览器开机自动启动,微软确认是 bug
  20. 伯俊软件获得阿里云原生核心授牌伙伴认证,共建新生态

热门文章

  1. Linux 内存管理之 SLUB分配器(6):slub debug 实例测试
  2. DM9000驱动分析之发送
  3. (十三)洞悉linux下的Netfilteriptables:为防火墙增添功能模块【实战】
  4. 漫谈Linux标准的文件系统(Ext2/Ext3/Ext4)
  5. ffmpeg time_base详解
  6. 蓝桥方格分割(搜索)
  7. 分解质因数(包括证明的详解)
  8. 【数据结构】图文例题详解单调栈与单调队列
  9. 思科网院Packet Tracer实验(十)
  10. linux定时器时间来源,linux 时间定时器 介绍