数据类型及其运算
每日一练:Int可以为用户表示符吗?
目录
在生活中也有不同的类型,比如说人、动物、植物都是表示他们自身的属性,在计算机中也不例外。在C语言中数据类有基本数据类型和非基本数据类型,常见的数据类型包括整型、实型、字符型。
常量:
在高级语言程序中不可改变的量。举个例子:从你出生你的身份证号是不是不可改变的。所以就是常量。
变量:
在高级语言程序中,可以改变的量。例子:你现在要吃主食,可以是米饭、馒头也就是可以变化的量,成为变量。
整型数据:
整型常量:也就是数学中说的整数
八进制、十进制、十六进制
在C语言中我们定义常量不加前导默认的是十进制。012表示八进制数前导为0,0xAC表示输入的是十六进制数前导为0x或者o(欧)x。
main() { int a = 12;//十进制 int b = 045;//八进制 int c = 0xAA;//十六进制 printf("%d,%d,%d\n",a,b,c);//三个数以十进制个数输出 }
整型变量:
Int 成为基本类,在常规的编译器中占4个字节
short 短整型:占2个字节
long长整型:占4个字节
unsigned 无符号型(以后说)
我们可以理解可以这样理解变量,就是相当于一个容器用来存储东西,在现实生活中我们去买菜如果东西少就拿个小的购物车,如果东西比较多就拿一个相对较大的购物车这里可以比作int、long。占的字节越多证明它可以存放的东西越多。
C语言中整型常量不包括二进制常量
实型数据:
实型数据也就是我们在数学中说的的小数。
实型常量:
小数点格式:由数字,正负号,小数点组成。
例:-0.1,1.5,1.
组成规则:必须有小数点,小数点至少一边由数字,这点有点奇葩,在我们的理解中小数点应该是两边都应该有数据的,但是在C语言中并不是这样的例如:.5
也就是0.5,1.就是1.0。大家一定要记住这个。可以在以后你看不懂它写的是什么。
指数形式:E和构成的也就是我们学过的科学计数法
例如:1.2e3 5.2e10
组成规则:E两边都要由数组,指数部分必须是整数(E的右边为整数)
实型变量:
单精度:float 占4个字节保留小数点后8位
双精度:double占8个字节保留小数点后16位
float=1.12345678
double=1.12345678
自动数据类型转换:当不同的数据类型混合运算的结果位精度最高的。
解释:我们去超市买菜我们刚开始拿了个小的袋子去装东西,然后由拿一个大的袋子把小的的带子装到大的袋子里边去,是不是能剩余可以转的空间就是这个大的袋子剩余的部分。
float d= 1.12345678; double e= 1.123456789101110113; printf("%f\n", d); printf("%f\n", e);//%f默认保留小数点后6位,不足补0,超过四舍五入
字符型数据
字符常量:
‘a’ ‘b’ ‘c’ 单引号括住的,只能存放一个字节。不能存放汉字,一个汉字占两个字节。
转义字符:
转义字符 |
意义 |
ASCII码值(十进制) |
\a |
响铃(BEL) |
007 |
\b |
退格(BS) ,将当前位置移到前一列 |
008 |
\f |
换页(FF),将当前位置移到下页开头 |
012 |
\n |
换行(LF) ,将当前位置移到下一行开头 |
010 |
\r |
回车(CR) ,将当前位置移到本行开头 |
013 |
\t |
水平制表(HT) |
009 |
\v |
垂直制表(VT) |
011 |
\' |
单引号 |
039 |
\" |
双引号 |
034 |
\\ |
反斜杠 |
092 |
转义字符占一个字节
\ddd:1-3位八进制表示1个字符
例:’\101’ ‘\120’
\xhh: 1-2位十六进制表示1个字符
例:‘\xA‘ ‘\xAB’
字符串常量:
“abcde”
‘a‘一个字符占一个字节
“a”字符串占两个字节,因为a后边由\0我们是看不到的。
字符串变量:
char a=‘b’;
char相当于一个容器只能存储一个字符。