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程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现 ...
随机推荐
- uploadify.js
基于uploadify.js实现多文件上传和上传进度条的显示 uploadify是JQuery的一个插件,主要实现文件的异步上传功能,可以自定义文件大小限制.文件类型.是否自动上传等属性,可以显示上传 ...
- NHibernate-Generator主键生成方式
NHibernate之Generator主键生成方式 (1) assigned主键由外部程序负责生成,无需NHibernate参与. (2) hilo通过hi/lo 算法实现的主键生成机制,需要额 ...
- MySQL replace into 说明(insert into 增强版)
MySQL replace into 说明(insert into 增强版) 在插入数据到一个表时,通常是这种情况:1. 先推断数据是否存在: 2. 假设不存在,则插入:3.假设存在,则更新. 在 S ...
- Asterisk 未来之路3.0_0003
原文:Asterisk 未来之路3.0_0003 Asterisk: The Hacker's PBX 如果电信公司忽视了asterisk,那么正在处于危险中.asterisk 良好的扩展性,能够创建 ...
- 浅谈DevExpress<六>:为chart创建动态数据源
今天搞点稍微复杂些的东西,在列表中点击不同的行时,图表中显示和其数据关联的图,效果如下:
- C#自定义配置文件节点
老实说,在以前没写个自定义配置节点之前,我都是写到一个很常用的节点里面,就是appSettings里add,然后再对各个节点的value值进行字符串分割操作,根据各种分割字符嵌套循环处理,后来看到一些 ...
- GNU Make 学习系列一:怎样写一个简单的Makefile
编程通常遵循一个相当简单的程序:编辑源文件,编译源代码成可执行的格式,调试结果.尽管将源代码翻译成可执行程序是常规的过程,如果做的不正确,程序员可能会浪费大量的时间去追踪问题.大多数的开发者都经历过这 ...
- PHP GD 库 缩略图 添加水印
class cls_image { var $error_no = 0; var $error_msg = ''; //var $images_dir = IMAGE_DIR; //var $data ...
- IOS使用不同父类的 view 进行约束
最终效果图如下: 很多限制条件都已经应用到了视图中,我们在解释一下: ·在我们的视图控制器的主视图中有两个灰色的视图.两个视图距视图控制器的视图左 边和右边都有一个标准的空白距离.视图的顶部距顶部的视 ...
- IOS学习之路十八(通过 NSURLConnection 发送 HTTP 各种请求)
你想通过 Http 协议向服务器发送一个 Get 的包装请求,并在这个请求中添加了一些请 求参数. 向远程服务器发送一个 GET 请求,然后解析返回的数据.通常一个 GET 请求是添加了 一些参数的, ...