根据数据在程序运行过程中的变化将数据分为:
常量数据:在程序运行过程中始终不能改变的数据
变量数据:在程序运行过程中可以被改变的数据
1.常量数据(常量)
【1】整形常量(整数)
十进制表示:123
十六进制表示:0x123
八进制表示:0123
【2】浮点型常量(小数)
浮点表示:3.1415926
e计数法表示:3.14e2或3.14E2
【3】字符常量(用 ’ ’ 表示一个字符)
可见字符 ----------- 打印时可以看到:
’ A’ ’ H’
不可见字符 -------- 打印时看不到:
‘\n’ ‘\0’
7 -------- 十进制表示
’ 007’ -------- 八进制表示
’ x07’ -------- 十六进制表示
’ \a’ -------- 字符序列表示不可见字符
【4】字符串常量(用" "表示)
例如:“hello” “good”
[5]符号常量(需定义符号,用#define定义)
例如:#define ME 666 //定义一个符号ME,用来表示常量666
2.变量数据(变量)
变量必须先定义,然后才能使用
c语言中不同关键字可以定义不同类型的变量;
char 1 byte 表示字符类型
short 2 byte 表示短整型
int 4 byte 表示整形
long 4 byte 表示长整型
long long 8 byte 表示长长整形
float 4 byte 浮点型(单精度)
double 8 byte 浮点型(双精度)
bool 1 byte 布尔型-----真假值
【1】整形:short int long
1)定义
int a;
int b,c ;
2)初始化 (定义的同时赋值)
int a = 10;
int b = 11, c = 12 ;
3)赋值 =
b = 20 ; //赋一个常量
d = a ; //赋一个变量的值
c = a+b+20; //赋一个表达式的值
4)存储 //以二进制补码形式存储
正数 ------ 补码:对应二进制
负数 ------ 补码:该负数对应的正数的补码取反加1
例如:
13 ----- 0000 1101
-13 ----- 1111 0011
∴正数最高位是0,负数最高位是1
【2】浮点型变量:float double
1)定义
float a;
float b,c;
2)初始化(定义的同时赋值)
float a = 11.11;
float b = 11.0,c = 11.1;
3 )赋值 =
a = 11.1; //赋一个常量
b = a ; //赋一个变量的值
e = a+b+10.2; //赋一个表达式的值
4)存储 (符号位+指数位+小数位)
例如 :13.125存储
13.125 —> 1101.001 —> 1.101001*2^3 —>0100 0001 0101 0010 0000 0000 0000 0000
[3]字符型变量:char
1)定义
char a ;
char b,c,d;
2)初始化
char a = ‘A’ ;
char b = ‘C’ , c = ‘D’ ;
3)赋值
b = ‘A’ ; //赋一个常量
d = a; //赋一个变量的值
e = a+3; //赋一个表达式的值
4)存储 //以ASCII码的二进制补码形式存储
man ASCII //查看ASCII码
Oct Dec Hex Char Oct Dec Hex Char
────────────────────────────────────────────────────────────────────────
000 0 00 NUL ‘\0’ 100 64 40 @
001 1 01 SOH (start of heading) 101 65 41 A
002 2 02 STX (start of text) 102 66 42 B
003 3 03 ETX (end of text) 103 67 43 C
004 4 04 EOT (end of transmission) 104 68 44 D
005 5 05 ENQ (enquiry) 105 69 45 E
006 6 06 ACK (acknowledge) 106 70 46 F
007 7 07 BEL ‘\a’ (bell) 107 71 47 G
010 8 08 BS ‘\b’ (backspace) 110 72 48 H
011 9 09 HT ‘\t’ (horizontal tab) 111 73 49 I
012 10 0A LF ‘\n’ (new line) 112 74 4A J
013 11 0B VT ‘\v’ (vertical tab) 113 75 4B K
014 12 0C FF ‘\f’ (form feed) 114 76 4C L
015 13 0D CR ‘\r’ (carriage ret) 115 77 4D M
016 14 0E SO (shift out) 116 78 4E N
017 15 0F SI (shift in) 117 79 4F O
020 16 10 DLE (data link escape) 120 80 50 P
021 17 11 DC1 (device control 1) 121 81 51 Q
022 18 12 DC2 (device control 2) 122 82 52 R
023 19 13 DC3 (device control 3) 123 83 53 S
024 20 14 DC4 (device control 4) 124 84 54 T
【4】布尔型:bool
主要存储真假值。C语言中,1表示真,0表示假
#include <stdio.h>
#include <stdbool.h>
int main(void)
{
bool b;
b = 10; //b为真
printf("b = %d\n",b);
b = -7; //b为真
printf("b = %d\n",b);
b = 0; //b为假
printf("b = %d\n",b);
return 0;
}