字符类型的名称是char
字符类型里包含256个不同的整数,每个
整数对应一个字符(例如'a', '^'等)
这些整数和字符完全可以互相替代
ASCII码表列出所有整数和字符的对应关系
'a'
'A'
'' ASCII码表里所有小写英文字母是连续排列的,
其中'a'对应的整数最小,'z'对应的整数
最大
所有大写英文字母和阿拉伯数字字符也都符合
这个规律 'd' - 'a' 等于 'D' - 'A'
'd' - 'a' 等于 '' - '' 等于 - 所有字符数据被分成两组,每组包含128个
其中一组字符对应的整数在所有计算机上都
一样,这些整数的范围从0到127
另外一组字符对应的整数在不同计算机上有可能
不同,这些整数的范围可能从-128到-1也
可能从128到255 '\n' 换行字符
'\r' 回车字符
'\\' 代表字符\
'\'' 代表字符'
'\"' 代表字符" 短整数类型名称是short
它里面包含65536个不同的整数,其中一半是
负数,另外一半是非负数。这些数字以0
为中心向两边扩展。 长整数类型名称是long
它里面包含2的32次方个不同的整数,其中
一半是负数,另外一半是非负数。这些
数字以0为中心向两边扩展。 整数类型名称是int
在我们的计算机里整数类型和长整数类型
完全一样 以上类型都叫做有符号类型
每个有符号类型都有一个对应的无符号类型,
无符号类型的名称就是在对应有符号类型
名称前加unsigned(例如unsigned char,
unsigned int等)
无符号类型包含的数字个数和对应的有符号
类型一样,但是不包含负数 整数相关类型所包含的数字范围互相重叠并
逐渐扩大 程序中不带小数点的数字后加u表示这个数字
的类型是无符号整数类型 C语言里用浮点类型表示带小数点的数字
浮点类型分为单精度浮点类型和双精度浮点类型
双精度浮点类型可以记录更多小数点后面的数位
单精度浮点类型的名称是float
双精度浮点类型的名称是double 程序中带小数点的数字默认都是双精度浮点
类型的
如果在带小数点的数字后加f就表示这个数字的
类型是单精度浮点类型 C语言里可以创建新的数据类型
这些新的数据类型叫做复合数据类型
复合数据类型必须先创建出来然后才能使用 C99规范里引入布尔类型
布尔类型里只包含两个数字,一个叫真另外
一个叫假。真用1表示,假用0表示。
真和假都叫做布尔值 所有整数都可以当作布尔值使用,0当作布尔值
使用的时候是假,其他所有整数当布尔值
使用的时候都是真 一般在程序里不需要使用布尔类型,直接用
整数类型代替 数据类型和占位符的对应关系
char和unsigned char %c
short %hd
unsigned short %hu
long %ld
unsigned long %lu
int %d
unsigned int %u
float %f或%g
double %lf或%lg
%f或%lf会保留小数点后
无效的0,%g和%lg不会保留 不同类型存储区所包含的字节个数可能不同
sizeof关键字可以用来计算一个类型的存储区
所包含的字节个数 char和unsigned char 1个字节
short和unsigned short 2个字节
int和unsigned int 4个字节
long和unsigned long 4个字节
float 4个字节
double 8个字节 sizeof关键字小括号里可以写任何能当作
数字使用的内容
sizeof小括号里对任何存储区内容的修改不会
真正发生 scanf标准函数可以用来从键盘得到用户临时
输入的数字
为了使用这个标准函数需要包含stdio.h头文件
scanf函数调用语句里要使用存储区的地址
表示存储区
双引号里使用占位符表示存储区的类型
不要在scanf函数调用语句的双引号里写不是
占位符的内容
如果用户输入的内容不符合程序中要求的格式
程序就不能得到数字
可以在一条scanf函数调用语句里得到多个数字,
这个时候要提供多个存储区地址 一个字节分成八段,每段只能记录一个0或者1
要想把一个数字记录到一个字节里就需要首先
把这个数字拆分成八个0或者1
用一组0或者1表示数字的方法叫做二进制
任何一个数字既可以用十进制方式表示也可以
用二进制方式表示
计算机里只能记录二进制方式表示的数字
二进制表示方式里包含很多数位,每个数位
有一个编号。最右边数位的编号是0,向左
依次递增。
某个数位里的1代表的数字是2的数位编号次方
二进制表示方式中如果两个相邻数位的内容一样
则左边数位代表的数字是右边数位代表
数字的2倍
二进制表示的非负数符合以上规则
二进制数字加一的时候需要把编号0位置开始的
连续多个1都变成0,把最右边的0变成1 二进制表示的非负数转换成十进制的时候首先
把每个数位单独代表的数字计算出来然后再
求和 = 2的4次方 + 2的1次方 + 2的0次方
= + +
= = 2的6次方 +2的5次方 + 2的3次方
+ 2的1次方
= + + +
= 不断对原始数字进行除以2并保留整数部分的
操作可以得到一组数字,用这组数字中的
每一个除以2取余得到一个数位的内容。
把所有数位按照从后向前的顺序书写就
得到转换结果。 *******
******
*****
****
**** 转换结果是0000 转换结果是0101 负数的二进制和十进制之间不能直接转换,
必须借助相反数 转换过程需要首先计算相反数,然后把相反数
进行转换,最后根据转换结果再计算相反数 把二进制数字中每个数位的内容变成相反数然后
再加一就得到相反数的二进制 - + = 有符号类型数字最左边的二进制数位内容可以
用来判断数字的符号,这个数位叫做符号位。
符号位内容是0表示数字是非负数,符号位
内容是1表示数字是负数。 + = -

数据类型 scanf标准函数 sizeof关键字 二进制(day03)的更多相关文章

  1. C++之数据类型--整形&sizeof关键字

    数据类型: C++规定在创建一个变量或者常量时,必须要指定出相应的数据类型,否则无法给变量分配内存 整型 **作用**:整型变量表示的是==整数类型==的数据 C++中能够表示整型的类型有以下几种方式 ...

  2. C语言基础(4)-原码,反码,补码及sizeof关键字

    1. 原码 +7的原码是0000 0111 -7的原码是1000 0111 +0的原码是0000 0000 -0的原码是1000 0000 2. 反码 一个数如果值为正,那么反码和原码相同. 一个数如 ...

  3. 深刻理解void,void*和sizeof关键字

    void的字面值是“无类型”,void*则是"无类型指针".void*可以指向任何类型的数据.void几乎只有"注释"和限制程序的作用,因为从来没有人会定义一个 ...

  4. sizeof关键字

    sizeof关键字 sizeof不是函数,所以不需要包含任何头文件,它的功能是计算一个数据类型的大小,单位为字节 sizeof的返回值为size_t size_t类型在32位操作系统下是unsigne ...

  5. C语言学习笔记--enum和sizeof关键字

    1.enum关键字 C语言中enum关键字用来定义枚举类型 (1)enum 是 C 语言中的一种自定义类型(2)enum 值是可以根据需要自定义的的整型值(3)第一个定义的 enum 值默认为 0 ( ...

  6. Java学习笔记 01 基本数据类型、标识符、关键字和运算符

    一.基本数据类型 基本数据类型 数据类型 内存空间(8位等于1字节) 取值范围 备注 byte 8位 -128~127   short 16位 -32768~32767   int 32位 -2147 ...

  7. [置顶] C语言中各种数据类型的长度 sizeof char, short, int, long, long long

    这些数据类型的sizeof具体长度依赖于编译器和操作系统(32-bit or 64-bit) 1: 首先,参见c99标准 标准中没有定义这些数据类型的长度,而是定义了这些数据类型能表达的大小范围的最小 ...

  8. java基本数据类型总结 类型转换 final关键字的用法

    java基本数据类型总结 Java数据类型总结 数据类型在计算机语言里面,是对内存位置的一个抽象表达方式,可以理解为针对内存的一种抽象的表达方式.接触每种语言的时候,都会存在数据类型的认识,有复杂的. ...

  9. java学习笔记(基础篇)--java关键字与数据类型

    java关键字与数据类型 Java语言的关键字是程序代码中的特殊字符.包括: . 类和接口的声明--class, extends, implements, interface . 包引入和包声明--i ...

随机推荐

  1. Hilbert曲线简单介绍及生成算法

    Hilbert曲线 Hilbert曲线是一种填充曲线,相似的填充曲线还包含Z曲线.格雷码等其它方法.Hilbert曲线根据自身空间填充曲线的特性,能够线性地贯穿二维或者更高维度每一个离散单元.而且只穿 ...

  2. 一条SQL语句求前面记录的平均值

    有算法要求如下: For (i=1,i<=10,i++) { ta[i] = (t[1] + t[2] + ... + t[i]) / i; } 用一条SQL语句实现它: 分别用表变量 @ta ...

  3. luogu1070 道路游戏 单调队列

    题目大意 小新正在玩一个简单的电脑游戏. 游戏中有一条环形马路,马路上有 nn 个机器人工厂,两个相邻机器人工厂之间由一小段马路连接.小新以某个机器人工厂为起点,按顺时针顺序依次将这 nn 个机器人工 ...

  4. luogu2278 [HNOI2003]操作系统

    题目大意 写一个程序来模拟操作系统的进程调度.假设该系统只有一个CPU,每一个进程的到达时间,执行时间和运行优先级都是已知的.其中运行优先级用自然数表示,数字越大,则优先级越高.如果一个进程到达的时候 ...

  5. SqlServer 自动备份策略设置

    企业管理器中的Tools,Database Maintenance Planner,可以设置数据库的定期自动备份计划.并通过启动Sql server Agent来自动运行备份计划.具体步骤如下: 1. ...

  6. hdoj--5233--Gunner II(map+queue&&二分)

     Gunner II Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Tot ...

  7. 【BZOJ 2565】 最长双回文串

    [题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=2565 [算法] Manacher [代码] #include<bits/std ...

  8. 0503 php中for与foreach的区别

    结论: foreach:只能用于数组和对象,如果是非索引数组,只可以用foreach. for:如果是索引数组,可以用for遍历. foreach循环结构是按照数组内部的指针去循环的,当 foreac ...

  9. 延时提示框制作思路[简单javascript案例]

    模拟QQ软件中的弹出提示框功能,制作一个简易的延时提示框. 功能实现: 1.当鼠标移入指定区块时,弹出隐藏的区块:当鼠标移出指定区块时,弹出的隐藏区块再次隐藏. 2.同时要求在鼠标移入该弹出区块后,区 ...

  10. 利用poi,jxl将Excel数据导入数据库

    需求:‘需要将本地的Excel中的数据经过验证之后导入数据库,在导入数据库之前在页面上展示出来 思路:将Excel导入存到session里面 去判断有没有不合法数据  如果有阻止提交 工具类: imp ...