常量
即 在程序运行过程中,值不能被改变的量
例如:数字,字母等
常量一般分为以下几类:
-
整形常量:整数
- 例如:123456,-100,056,0x8A
-
实型常量:有两种表现姓氏
-
十进制小数形式:有小数和小数点组成 例如:123.45、0.1、0.0等
-
指数形式:由于计算机输入或输出时无法表示上标和下标,所以规定以字母e或E代表以10为底的指数,e之前必须有数字,e之后数字必须为整数
错误示范:e5、12e12.3
正确示范:12.34e3、12.34E3
-
-
字符常量:有两种形式
-
普通字符 常量:用单引号括起来的一个字符 (不能超过一个) ‘a’ ,‘#’,‘3’
-
转义字符: ‘\n’换行符,’\t’制表符tab,’ \’ 单引号,‘\"’ 双引号,‘?‘问号,’\\‘斜杠 ,’\a’警告声 ,’\b’退格符,‘\f’换页符,’\r’回车,‘\v’垂直制表符,’\o’八进制形式,'\x’十六进制形式
即将\后面的字符转换为其他功能的字符
-
-
字符串常量 : 用双引号将多个字符括起来
- 例如:“abc”
-
符号常量 : 用#define指定指定用一个符号代表一个常量
- 例如 #define PI 3.1415926 结尾不需要分号
-
地址常量:每一个常量、变量、数组的地址在程序的运行期间是不能够被改变的 因此将他称为地址常量
变量
在运行中可以被改变的量
注意:
-
变量必须先定义再使用
-
变量名称的命名规则
- 只能由数字、字母、下划线组成
- 不允许数字开头
- 同一作用域不允许重名
-
在声明变量时赋值 被称为初始化
-
在声明后再赋值被称为赋值
常用基本数据类型
整形 无符号(unsigned)、有符号(signed)大小(字节)无符号表示:unsigned int 有符号:int
- short 2 2
- int 4 4
- long 4 4
- long long 8 8
一字节为8位 一位代表一个二进制 0000 0000
字符型
-
char 1字节 ‘A’ 可以转换为数字 其数字对应ASCII表
-
//工具头文件 #include <stdio.h> void main() {//主函数入口有且只有一个 char c1 = 'a'; int a; a = c1;//隐式转换 a = (int)c1;//强制转换 printf("%c\t%d", a, c1); }
-
结果
-
-
string 多字节 “ABC…”
浮点型 :小数
编译器默认为小数类型为double
浮点型 | 类型表示 | 占用大小 | 精度 | 例子 |
---|---|---|---|---|
单精度 | float | 4字节 | 小数点后6-7位 | 1.396f |
双精度 | double | 8字节 | 小数点后16-17位 |
- 基本类型之间可以转换 、如果是计算 ,会统一将变量转换到最高精度之后再进行计算
即 double =double+int 那么 会先将int类型抓换为double类型之后再进行加运算
-
浮点型、整型 则会将小数部分去掉
-
代码
//工具头文件 #include <stdio.h> void float_to_int(); void int_to_float(); void main() {//主函数入口有且只有一个 /* char c1 = 'a'; int a; a = c1;//隐式转换 a = (int)c1;//强制转换 printf("%c\t%d", a, c1); */ float_to_int(); int_to_float(); } void int_to_float() { int a=1; float b = 33.14354f; b = a; printf("int_to_float:%f\n", b); } void float_to_int() { int a = 1; float b = 33.14354f; a = b; printf("float_to_int:%d\n",a); }
-
结果
-