数据类型
数据类型:基本类型、构造类型、指针类型、空类型(void)
基本类型:整型:signed (有符号数) short 、int 、long、long long
unsigned(无符号数)只能存正数 short、int、long、long long
字符型 char
实型 float double
枚举型 enum
基本数据类型
逻辑类型 只有两个量true和false,表示逻辑真值和逻辑假值。
整数类型 包括char,short,int,和long。
浮点类型 包括float和double。
bool类型 :非零(true),零(false)
对bool类型的使用需要引入头文件 <stdbool.h>
_Bool 是基本数据类型, 如果用到true和false需要头文件<stdio.h>
char 类型
-128补码:10000000
char 长度1个字节(1byte=8bite) 值域: -128~127或0~255
signed char 长度1个字节 -128~127
unsigned char 长度1个字节 0~255
使用char数据类型的变量需要特别注意:防止数据超出值域。
char c1=128; (出错,数据越界。输出-128)
char c1=129; (出错,数据越界。输出-127)
unsigned char c2=-1; (出错,数据越界。输出255)
short类型
short(signed short) 2个字节 -32768~32767
unsigned short 2个字节 0~65535
int类型
int(signed int) 4个字节 -2147483648~2147483647
unsigned int 4个字节 0~4294967295
整型常量
常量是指在程序运行期间其数值不发生变化的数据。整型常量通常简称为整数。
整数可以是十进制数,八进制数和十六进制数。(八进制数:0开头;十六进制数:0x开头)
八进制一个数对应3个二进制位。十六进制一个数对应4个二进制位
浮点常量
浮点常量又称为实数,一般含有小数部分。
在C语言中,实数只有十进制的实数,分为单精度和双精度。实数有两种表示方法,即一般形式和指数形式。
指数常量
指数形式的实数一般是由尾数部分、字母e或E和指数部分组成。当一个实数的符号为正号时,可以省略不写。
例:1.176e+10表示1.176*10^10 -3.5789e-8表示-3.5789*10^-8
字符常量
字符常量是指一个单一字符,其形式是由两个单引号包括的一个字符。
A=65,a=97,空格=32, 1=49
例: a=‘F’ 将70送给a 分别相当于; a=70
b=‘A’+2 b存放字符‘C’ b=65+2
u=‘ ’+‘B’ u存放字符‘b’ u=32+66
v=‘b’-32 v存放字符‘B’ v=97-32
字符串常量
指用双引号括起来的一串字符来表示的数据。(字符串以\0结尾)"9"='9'与‘\0’组成
例: "abc"相当于'a','b','c','\0'
printf中%s表示打印字符串常量
符号常量
用#define指令,指定用一个符号名称代替一个常量。
变量的基础
变量在程序中用变量名表示。变量名由用户根据其用途任意命名。
变量名由字母、数字、下划线组成,不能以数字开头,不能和C语言关键字重复。
变量说明的一般形式是:
<存储类型><数据类型><变量名>;
存储类型:关键字auto、register、static和extern。(默认是auto)
数据类型:可以是基本数据类型,也可以自定义的数据类型。
变量的存储类型
auto说明的变量只能在某个程序范围内使用,通常在函数体内或函数中的复合语句里。(默认是随机值)
register称为寄存器型,register变量是想将变量放入CPU的寄存器中,这样可以加快程序的运行速度。