C语言之字符集、ASCII码和sizeof运算符
一 字符集和ASCII码
结论:字符本质上也是一个整数,每个字符都有唯一一个与之对应的整数,
比如说小写的a对应97,b对应98,c对应99,大写的A对应65,B对应66,C对应67
所以字符对应的那个数字,也可以称之为ASCII码值
二 sizeof运算符
sizeof:
用法:sizeof(类型);
sizeof(变量);
sizeof(常量);
可以计算这个类型或者变量或者常量占用的字节数
tips:
sizeof结果是unsigned long类型(unsigned long; 无符号的long型 有符号:代表可以是负数 无符号:代表只能是正数
整数类型又分为无符号整型和有符号整型
int long short都是有符号的整型,其实完整的写法是在前面加一个signed,但是因为默认就是signed,所以直接写int long short就可以了
也就是说 int long short都可以保存负数.tips: 整型有无符号和有符号之分别,浮点数没有unsigned
)
- sizeof如果计算的是字符常量,那么会默认把字符转成ASCII值,然后计算出来就是4个字节,注意:只是常量,字符类型和字符变量还是1个
tips:代码例子如下
#include <stdio.h>
int main(int argc, const char * argv[]) {
//字符集和ASCII码练习
// int num1=10,num2=20;
//
// //int sum = num1 + num2;
//
// int sum = num1 + 'a';
//
// printf("%d\n",sum);//107
char ch = 97;
printf("%c\n",ch);//a
// sizeof运算符的练习
//sizeof计算类型
/*
int len = sizeof(char);
printf("%d\n",len);//1
int len2 = sizeof(int);
printf("%d\n",len2);//4
int len3 = sizeof(float);
printf("%d\n",len3);//4
int len4 = sizeof(long);
printf("%d\n",len4);//8
int len5 = sizeof(double);
printf("%d\n",len5);//8
*/
//sizeof计算变量
/*
int num = 10;
printf("%lu\n",sizeof(num));//4
char ch = 'a';
printf("%lu\n",sizeof(ch));//1
float f = 303.333f;
printf("%lu\n",sizeof(f));//4
*/
//sizeof计算常量
printf("%lu\n",sizeof(10));//4
printf("%lu\n",sizeof(10l));//8
printf("%lu\n",sizeof(10.3f));//4
printf("%lu\n",sizeof(10.333));//8
printf("%lu\n",sizeof('a'));//4个
return 0;
}
C语言之字符集、ASCII码和sizeof运算符的更多相关文章
- C语言字符转换ASCII码
//函 数 名:CharToHex()//功能描述:把ASCII字符转换为16进制//函数说明://调用函数://全局变量://输 入:ASCII字符//返 回:16进制///////// ...
- 排坑·ASCII码为160的空格(nbsp)
阅文时长 | 2.83分钟 字数统计 | 1345.2字符 『排坑·ASCII码为160的空格(nbsp)』 编写人 | SCscHero 编写时间 | Wednesday, September 9, ...
- 扩展ASCII码,不同的国家有不同的字符集。Unicode转换为utf8的规则,utf8没有大小端的问题。超过0xFFFF的Unicode字符WINAPI也无能为力(附各种字符编码表及转换表)good
一.概念 1,ASCII ASCII(American Standard Code for Information Interchange),中文名称为美国信息交换标准代码.是 ...
- 字符集详解 ASCII码、Unicode、UTF-8 (转)
认识字符集 对于计算机而言,它仅认识两个0和1,不管是在内存中还是外部存储设备上,我们所看到的文字.图片.视频等等“数据”在计算机中都是已二进制形式存在的.不同字符对应二进制数的规则,就是字符的编码. ...
- C语言中两位ASCII码可以表示汉字
最近偶然有人问到这个相关字符编码的问题,所以百度了下参考了这两个资料,进行了简单分析. ******************************************************** ...
- LANG=C是最早最简单的C语言环境(标准ASCII码)
LANG=C是最早最简单的C语言环境(标准ASCII码)
- ASCII码与unicode字符集
问题1:为什么需要字符ASCII码.unicode码等等???它们到底有什么作用? 首先要明白一个事实:在计算机中只能用一系列存储着的0和1,当我们把一个字符存放在计算机时,我们是如何表示常用的字符呢 ...
- [整理]C语言中字符常量与ASCII码
所有的ASCII码都可以用“\”加数字(一般是8进制数字)来表示.而C中定义了一些字母前加"\"来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符,因为 ...
- C语言编程基础学习字符型数据的ASCII码值为何是负数?
C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构.C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现 ...
随机推荐
- php调用webservice报错Class 'SoapClient' not found
原文:php调用webservice报错Class 'SoapClient' not found php在调用webservice时,报告如下类似错误: ( ! ) Fatal error: Clas ...
- LINUX下FD_SET介绍
刚刚了解了linux下select系统调用,函数原型是 #include <sys/select.h> #include <sys/time.h> int select(int ...
- a:focus{outline: none;} 如何去掉点击链接时周围的虚线框outline属性
1. CSS方式 在IE下是使用html属性:hideFoucs,在HTML标签中加上hidefocus=”true”属性即可,但这个属性是IE私有的,Firefox是不认的. 加了hidefocus ...
- ACE_Message_Block 学习
本文参考http://www.cnblogs.com/TianFang/archive/2006/12/30/607960.html 1. ACE_Message_Block 的length() 返回 ...
- 【转】Android双向滑动菜单完全解析,教你如何一分钟实现双向滑动特效
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/9671609 记得在很早之前,我写了一篇关于Android滑动菜单的文章,其中有一个 ...
- Android项目---ActivityGroup的使用
ActivityGroup在一年前已经被说明不用了,但是腾讯QQ,新浪微博上也不乏ActivityGroup的身影.所以,即使是过时的东西,也有学习的必要,当然项目中也是可以添加的.在网上找了一个博客 ...
- NhibernateProfiler-写个自动破解工具(源码)
04 2013 档案 [屌丝的逆袭系列]是个人都能破解之终结NhibernateProfiler-写个自动破解工具(源码) 摘要: 破解思路分析及手动破解 增加“附加到进程”功能--功能介绍增加“ ...
- 领域驱动设计(DDD)的实际应用
领域驱动设计(DDD)的实际应用 笔者先前参与了一个有关汽车信息的网站开发,用于显示不同品牌的汽车的信息,包括车型,发动机型号,车身尺寸和汽车报价等信息.在建模时,我们只需要创建名为Car的实体( ...
- 关于Dictionary字典和List列表
命名空间System.Collections.Generic中有两个非常重要,而且常用的泛型集合类,它们分别是Dictionary<TKey,TValue>字典和List<T> ...
- Linux学习-Linux历史(总结篇)
Linux之前,Unix的历史 1969年以前,一个伟大的梦想:Bell,MIT与GE的Multics系统 在此之前的计算机主机少,用户从多,程序是在读卡纸上打洞,光是等待.为了更加强化大型主机的功能 ...