字符类型的名称是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. Libevent 学习笔记 (1)——Libevent 2.0安装与简单演示样例

    今天開始学习Libevent . Libevent 是开源社区的一款高性能I/O框架库. 主要特点有: 1 跨平台. 2 统一事件源 3 线程安全 4 基于Reactor 今天主要进行了Libeven ...

  2. 解析Qt元对象系统(四) 属性系统(确实比较方便)

    官方解释 我们在Qt源码中可以看到一个QObject的子类经常会用到一些Q_开头的宏,例如QMainWindow类开始部分代码是这样的: Q_PROPERTY(QSize iconSize READ ...

  3. C#备份及还原数据库的实现代码(粗略) // 利用C#还原数据库(SQL SERVER)备份文件到指定路径

    C#数据库备份及还原 1.在用户的配置时,我们需要列出当前局域网内所有的数据库服务器,并且要列出指定服务器的所有数据库,实现代码如下: 取得数据库服务器列表: public ArrayList Get ...

  4. CodeForces - 811C Vladik and Memorable Trip(dp)

    C. Vladik and Memorable Trip time limit per test 2 seconds memory limit per test 256 megabytes input ...

  5. hdoj-1896 stones

    Stones Time Limit: 5000/3000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Total Sub ...

  6. TCP打开文件传输(服务器端并发code)

    #include <stdio.h>#include <stdlib.h>#include <arpa/inet.h>#include <sys/types. ...

  7. iOS中的数据库—使用FMDB

    一.回顾 iOS中的数据存储方式 1.XML属性列表(plist) 写入OC的一些基本数据类型,不是所有对象都可以写入 2.Preference(偏好设置) 本质还是通过“plist”来存储数据,但是 ...

  8. Python入门 老司机带你上路

    Phthon安装 https://www.python.org/download/releases/2.7.5/ 安装结束还没完,我们还差最后一步:设置环境变量.这是什么东西我暂时先不解释,大家照着做 ...

  9. (Go)10.流程控制示例

    package main import ( "math/rand" "fmt" ) func main() { //var n int n := rand.In ...

  10. E20170829-mk

    Parse   vt. 从语法上描述或分析(词句等); serial    adj. 连续的; 连载的; 顺序排列的; 分期偿付的; MultiThread n. 多线程; 多流; concurren ...