目录
1.1 十进制转二进制(128 64 32 16 8 4 2 1)
一、进制转换
十进制:0-9 例:1234
二进制:0-1 B/b 例:11
八进制:0-7 O/o/0 例:075
十六进制:0-15 10-a 11-b 12-c 13-d 14-e 15-f
代码书写:0x/0X : 0xa6
实体资料一般用h/H表示 : a6H
1.1 十进制转二进制(128 64 32 16 8 4 2 1)
例:126 --- 10000010
1.2 二进制转十进制
例:1 0 0 0 1 1 0 1
1*2^7+0*2^6+0*2^5+0*2^4+1*2^3+1*2^2+0*2^1+1*2^0=141
1.3 十六进制转二进制(8 4 2 1)
一位十六进制转四位二进制
例:0xa7c – 1010 0111 1100
1.4 二进制转十六进制
例:b101 0010 1111 0001 0110 --- 0x52f16
b0110 1010 1000 1110 1001 --- 0x6a8e9
1.5 八进制转二进制(4 2 1)
例:012 --- b001 010
045736 --- b100 101 111 011 110
1.6 二进制转八进制
例:b1 101 000 010 --- 01502
b110 101 000 000 000 --- 065000
综合运用
(1) 将0x45ad转换为八进制
先转二进制:b0 100 010 110 101 101
再转八进制:042655
(2) 将65转换为十六进制
65 --- b100 0001 --- 0x41
(3) 将076转换成十进制
076 --- b111 110 --- 62
二、数据存储方式
正负数以原码、反码、补码形式存储
正数:三码都一样
负数:原码:最高位代表符号,0代表正,1代表负
反码:在原码基础上,除符号位,1变0,0变1
补码:反码+1
三、数据类型
数据类型主要是为了定义数据在内存中所占的空间大小以及分配数据的位置及其数据大小范围。1字节=8位(1byte=8bit)
数据类型分为:基本数据类型、构造数据类型、空类型
3.1 基本数据类型
3.1.1 整型数据---int
整型数据是指不包含小数的数值(例:11、-12)。int类型数据至少占2个字节,通常为4个字节(8位、16位单片机中int占2个字节,32位单片机和PC电脑int占4个字节)以下所讲以32位为基础。
(1)整型:
①有符号类型 (signed)int
最高位表示符号位(0正1负),取值范围:-2^31~2^31-1
②无符号类型 unsigned int
取值范围:0~2^32-1
(2)短整型 short (int):
占2个字节空间。有符号短整型:-2^15~+2^15-1,无符号短整型:0~2^16-1(65535)
(3)长整型 long(int):
与int一样
(4)长长整型 long long int:
占8个字节空间。有符号:-2^31~+2^31-1,无符号:0~2^32-1
3.1.2 浮点型/实型---小数类型
浮点型数据也称为实型数据类型,用于存储小数(例:0.125、-12.5、3.0 ),数据为有符号类型。
(1)单精度浮点型float
占4个字节空间,精确到小数点后6~7位
(2)双精度浮点型double
占8个字节空间,精确到小数点后16~17位
3.1.3 字符型---char
字符型数据是通过存储一个特殊的正数来表示一个特定字符,表示方法:‘0’、‘a’
字符型数据意义:
1)存放整数
C语言中规定“char”占1个字节空间大小,字符型同样分“有符号(char/signed char,数据的取值范围是:-2^7~+2^7-1)”和“无符号(unsigned char,数据的取值范围是:0~2^8-1)”。
2)存放字符
C语言中字符分为两类,一类为打印字符(可见字符,普通字符),例如:‘a’、‘1’;另一类为控制字符(不可见字符,转义字符),使用反斜杠(\)+字符来表示。例如:\n(换行)、\r(空格)、\b(退格)、\t:Tab。
3.1.4 关键字sizeof
用于计算数据类型所占字节空间大小
Sizeof(基本数据类型/变量名)
#include "stdio.h"
int main()
{
int a=10;
char b=3;
short c;
long d;
long long w;
float f;
double e;
printf("int:%d\n",sizeof(a));
printf("char:%d\n",sizeof(b));
printf("short:%d\n",sizeof(c));
printf("long:%d\n",sizeof(d));
printf("long long:%d\n",sizeof(w));
printf("float:%d\n",sizeof(f));
printf("double:%d\n",sizeof(e));
d=a/b;
printf("d:%d\n",d);
}
3.2 数据常量和数据变量
3.2.1 数据常量
数据常量是指在程序运行过程中不可改变的数据。
(1)数值型常量
整型常量默认为int,浮点型常量默认为double。
(2)字符型常量
字符常量:用单引号‘’引起来的,占用1个字节。
字符串常量:用双引号“”引起来的,占用字节位字符串字符个数+1。
3.2.2 数据变量
(1) 概述
数据变量是指在程序运行过程中,其值可以改变的数据。因其数值变化所以一般用一个固定名称代表一个变量。
(2) 组成
数据变量由变量名(标识符)和变量值(常量数值、变量、表达式)两部分组成。
(3)命名规则
① 可由数字、字母、下划线以及$组成
② 不能用数字开头
③ 不能与关键字相同
例:int a_12=6
四、printf函数与scanf函数
4.1 printf函数
printf函数是一个标准输出函数,将内容输出到电脑屏幕上
打印函数常用格式符:
%d: 以十进制格式输出
%o: 以八进制格式输出
%x: 以十六进制格式输出
%c: 以字符格式输出
%s: 以字符串格式输出
%f: 以单精度格式输出(只能用于输出浮点型数据)float
%lf: 以双精度格式输出(只能用于输出浮点型数据)double
%.nf:输出n个小数位(只能用于输出浮点型数据)
%%: 输出一个%
%u: 打印无符号数值
%p: 输出变量的地址或者指针地址
%nd : 以右对齐的方式打印十进制数值
%-nd : 以左对齐的方式打印十进制数值
#include "stdio.h"
int main()
{
float c=0.123456789;
printf("c:%f\n",c);
printf("hello world\n");
}
4.2 scanf函数
scanf函数是标准输入函数,可以按用户指定的格式从键盘上把数据输入到指定的变量中。
#include "stdio.h"
int main()
{
char ch;
printf("请输入:\n");
scanf("%c",&ch);
printf("%c\n",ch);
}