该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

以下是我本人通过实例得出的结论,没有参照任何参考书。可能有不对的地方。

哪里不对,情各位大虾指正。

在说明之前,本人编写了一个小代码。

#include

#include

int main()

{

char a[10];

strcpy(a,"你好吗");

for(int i=0;i<10;i++)

printf("%X  ",(unsigned char)a[i]);

printf("\n");

puts(a);

printf("\n");

return 0;

}

大家可以调试运行一下。

输出结果是。

C4  E3  BA  C3  C2  F0  0  CC  CC  CC

你好吗

Press any key to continue

字符串a中存放了3个汉字,每个char是占用一个字节。

在C语言中汉字采用的是gb2312编码,每个汉字占两个字节。

printf("%X  ",(unsigned char)a[i]);

输出了每个char地址存放的数据的16进制码。

两个char地址存放一个汉字。

所以

你=====C4  E3

好=====BA  C3

吗=====C2  F0

最后由于是一个字符串。在该字符串的结尾又另外存放了一个\0,表示字符串结束。

程序开头声明了char a[10];十个字符空间。

对于没有存放数据的3个char空间默认存放了CC。

a[0]表示的是“你”的gb2312编码的高八位

a[1]表示的是“你”的gb2312编码的低八位

a[2]表示的是“好”的gb2312编码的高八位

a[3]表示的是“好”的gb2312编码的低八位

a[4]表示的是“吗”的gb2312编码的高八位

a[5]表示的是“吗”的gb2312编码的低八位

a[0]表示的是“\0”的gb2312编码的ASCCII编码

其实gb2312兼容是ASCII编码。对于英文字符和中文字符同时具有的字符串。

请看下面这个例子。

#include

#include

int main()

{

char a[20];

strcpy(a,"你好吗mylove");

for(int i=0;i<20;i++)

printf("%X  ",(unsigned char)a[i]);

printf("\n");

puts(a);

printf("\n");

return 0;

}

输出结果

C4  E3  BA  C3  C2  F0  6D  79  6C  6F  76  65  0  CC  CC  CC  CC  CC  CC  CC

你好吗mylove

从输出结果中我们可以看出总共使用了13个字节。

其中“你好吗”占用6个字节

“mylove”占用6个字节。

字符串结束符占用1个字节。。

这样大家对C语言中汉字的存储是不是很清晰的了解了呢?

下面看C语言中汉字的输入。

在头文件#include

中的gets()可以实现汉字的输入。同样是gb2312码的输入。gb2312兼容了ASCII编码。

好了,就写这些了。我的QQ号 791808990

换用大家来交流。

c语言中汉字编码,【C语言学习】C语言汉字编码。。。C语言中汉字的输入相关推荐

  1. c语言for循环笔记,【学习笔记】【C语言】循环结构-for

    1.使用: for (语句1; 条件; 语句2) { 循环体 } 语句1:初始化语句 语句2:增量语句(执行完循环体后再执行的语句) 1.for一开始就会执行一次语句1(整个for循环只会执行一次) ...

  2. BST-V51开发板用c语言,小代码 向原文学习 BST 简单的C语言版本

    /******************************** 运行环境:http://www.anycodes.cn/zh/ 原文:http://blog.csdn.net/u014488381 ...

  3. 高通Linux Android 平台中的蓝牙功能学习 (4)-- Android Marshmallow 中的蓝牙 4.2

    为增强 BLE,蓝牙 4.2 引入了多项修正和功能.只有在需要全面认证器件是否符合蓝牙 4.2 标准时,这些修正才是必要的.这意味着蓝牙 4.2 功能并非器件认证的必要条件. 4.2 BLE 安全连接 ...

  4. 计算机在英语教学中的应用课题,浅谈信息技术在英语教学中的应用

    浅谈信息技术在英语教学中的应用 毕业论文 摘要:随着信息技术的发展, 计算机多媒体技术和网络被广泛地应用在外语教学中, 改变了传统外语教学模式.现代化外语教学提高了外语教学水平, 从而培养高素质的外语 ...

  5. php中yii的controller,详解PHP的Yii框架中的Controller控制器,yiicontroller

    详解PHP的Yii框架中的Controller控制器,yiicontroller 控制器是 MVC 模式中的一部分, 是继承yii\base\Controller类的对象,负责处理请求和生成响应. 具 ...

  6. 【C语言进阶深度学习记录】五 C语言中变量的属性

    上一篇文章学习了C语言中的类型转换,点击链接查看:[C语言进阶深度学习记录]四 C语言中的类型转换. 文章目录 1 C语言的变量属性 1.1 auto关键字 1.2 register关键字 1.3 s ...

  7. C语言学习(十)C语言中的小数

    C语言学习(十)C语言中的小数 小数的表示方式 小数分为整数部分和小数部分,他们之间用点号.分隔,如0.0.7.5.4.098.0.27.-987.333等都是合法小数,这是最常见的小数形式,我们称为 ...

  8. 如何用计算机辅助语言学习英语,浅析计算机辅助语言学习在高职高专英语教学中的运用研究...

    浅析计算机辅助语言学习在高职高专英语教学中的运用研究 [论文关键词]计算机辅助语言学习 英语教学 优势 问题 [论文摘 要]本文通过对河北外国语职业学院181名学生的问卷调查,对目前计算机辅助语言学习 ...

  9. 数据库SQL语言学习--数据查询(持续更新中)

    数据库SQL语言学习--数据查询(持续更新中) 上机练习1 1.              启动SQL Server 2008中的 SQL Server Management Studio. 2.   ...

最新文章

  1. Learn OpenGL (二):三角形
  2. pycharm 转大写
  3. Steve Lin:如何撰写一篇优秀的SIGGRAPH论文
  4. delphi中的函数传参如何传枚举参数_我是这样使用SpringBoot(API传参)
  5. c语音学习-输入一个字母,输出其对应的ASCII码
  6. html特殊符号sm,以前搜集的一些资料—html中的特殊字符(2)
  7. fio 磁盘I/O测试工具
  8. E4A直播盒子APP源码搭建教程之——APP源码篇
  9. BPNN-Belief Propagation Neural Networks
  10. 计算机怎么语音通话,微信电脑版怎么语音聊天?微信电脑版语音聊天教程
  11. Alt + 数字键 符号大全
  12. pycharm中python环境的配置
  13. 重估维信金科:担保压身,负重难行
  14. 判断域名 转向 php,ASP,PHP,一空间多域名根据域名判断转向地址程序代码
  15. 服务器安装win7系统不停重启,win7系统下路由器总是每天都自动重启如何解决
  16. 用于拆解和组合PDF中各个对象的shell脚本
  17. Windows日志分析(中)
  18. Ajax+JDBC+Json处理多个数据
  19. 网易邮箱出现 FA_INVALID_SESSION
  20. android 获取年月日

热门文章

  1. 软件测试需要学什么?软件测试技能图谱
  2. Android 面试题合集 - 收藏集 - 掘金
  3. 小游戏-在评论留下你的运行结果吧
  4. 我的新版edge插件推荐!!!
  5. 国产32核服务器CPU验证成功!100%自主指令架构,单机最多可支持四路128核,来自龙芯中科...
  6. android中级开发师必备_【招聘】Android开发工程师 – 中级 – 陌陌
  7. html手机上怎么修改,怎么用手机修改路由器密码?
  8. note20220411
  9. 最新的单片机_涨势比深圳的房价还快!研究了39个ST单片机热门型号后,我发现了这些特点!...
  10. 手机大厂开始走上AI芯片 将来掀起AI应用