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程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现 ...
随机推荐
- 关于标准I/O缓冲区和fork函数
标准I/O库提供缓冲的目的是尽可能减少使用read和write调用的次数.标准I/O提供三个类型的缓冲:全缓冲.行缓冲和不带缓冲.标准输入(stdin)和标准输出(stdout)是行缓冲,标准出错(s ...
- SSIS如何引用外部DLL
原文:SSIS如何引用外部DLL 当SSIS引用外部的DLL时,外部的DLL须满足以下条件: 1. DLL是强命名. 2. 加入到GAC (C:\WINDOWS\assembly),直接把DLL拉进目 ...
- ASP.NET MVC应用程序实现下载功能
ASP.NET MVC应用程序实现下载功能 上次Insus.NET有在MVC应用程序实现了上传文件的功能<MVC应用程序显示上传的图片> http://www.cnblogs.com/in ...
- FineUI开发一个b/s结构
手把手教你使用FineUI开发一个b/s结构的取送货管理信息系统(附源码+视频教程(第5节)) 一 本系列随笔概览及产生的背景 近阶段接到一些b/s类型的软件项目,但是团队成员之前大部分没有这方面 ...
- 安装dynamics CRM 2013提示“实例名称必须与计算机名称相同”
在安装CRM 2013的时候,最后一步一直提示“实例名称必须与计算机名称相同”. 原因是在安装数据库之后,我更改了计算机名称.因此就导致了可这个错. 在安装数据库的时候,数据库会记住计算机的名称,用 ...
- 对于vijos11.2模拟赛
特意起了个傻逼标题,只是想提醒一下自己以后不要犯逗(所以应该没有什么神犇点进来吧?) T1,T3 当场写的时候就觉得是不可写的,看了题解之后还是觉得不可写,人弱没办法.到了这个时候也懒得管这么难的东西 ...
- Trie字典树算法
特性 Trie树属于树形结构,查询效率比红黑树和哈希表都要快.假设有这么一种应用场景:有若干个英文单词,需要快速查找某个单词是否存在于字典中.使用Trie时先从根节点开始查找,直至匹配到给出字符串的最 ...
- D10
=-=今天被dev-c++坑到死..简直 晚上准备怒装liunx.. T1:数论 一开始碰到的是T1的运算符优先问题吧..maybe..但是我加上括号了还是WA啊..后面把式子拆开写才A了..次奥 附 ...
- go语言defer使用
defer Go语言中有种不错的设计,即延迟(defer)语句,你可以在函数中添加多个defer语句.当函数执行到最后时,这些defer语句会按照逆序执行,最后该函数返回.特别是当你在进行一些打开资源 ...
- GTK+编程概述
目标 什么是GTK? 怎样做一个GTK应用程序 事件(Events).信号(Signals).回调函数(Callbacks) 组件(widgets) 引言 GIMP工具包(GTK+)最初被设计为一个光 ...