变量和基本类型>变量:在运行时分配内存空间、值可以被改变的量变量必须先定义,后使用>变量定义的语法是:TypeIDENTIFIER['IDENTIFIER]*Type是类型版权所有陈暂保留所有权利IDENTIFIER是变量名例如:inti;float f1, f2;11
版 权 所 有 © 陈 哲 保 留 所 有 权 利 变量和基本类型 ➢变量:在运行时分配内存空间、值可以 被改变的量 ◦变量必须先定义,后使用 ➢变量定义的语法是: Type IDENTIFIER [‘,’ IDENTIFIER]* ‘;’ ◦Type是类型 ◦IDENTIFIER是变量名 例如:int i; float f1, f2; 11
>变量名必须是一个标识符。>标识符只能由字母(A~Z、az)、数字和下划线3种字符组成,且第一个字符必须为字母或下划线。合法的标识符:例如,sum,average,_total,Class, day, BASIC, li_ling不合法的标识符:例如,M.D.John,¥123,#33, 3D64, a>b放>标识符是大小写敏感的:例如,sum和有@陈替保留所有权利Sum是不同的标识符12
版 权 所 有 © 陈 哲 保 留 所 有 权 利 ➢变量名必须是一个标识符。 ➢标识符只能由字母(A~Z、a~z)、数字和 下划线3种字符组成,且第一个字符必须 为字母或下划线。 ◦合法的标识符:例如,sum,average,_total, Class,day,BASIC,li_ling ◦不合法的标识符:例如,M.D.John,¥123, #33,3D64,a>b ➢标识符是大小写敏感的:例如,sum和 Sum是不同的标识符 12
>类型就是变量要存储的数据的类型,影响变量的内存分配,包括分配的内存空间的大小(占多少字节)以及数据的存储格式。类型包括:基本类型枚举类型空类型void派生类型版权所有@陈暂保留所有权利指针类型函数类型数组类型结构体类型共用体类型13
版 权 所 有 © 陈 哲 保 留 所 有 权 利 ➢类型就是变量要存储的数据的类型,影 响变量的内存分配,包括分配的内存空 间的大小(占多少字节)以及数据的存 储格式。类型包括: ◦基本类型 ◦枚举类型 ◦空类型 void ◦派生类型 ◦ 指针类型 ◦ 函数类型 ◦ 数组类型 ◦ 结构体类型 ◦ 共用体类型 13
>基本类型的大小(32位程序)类型符号位数关键字表示范围有短整型1632768~32767[signed] short [int]无160~65535unsigned short [int]有32基本整型[signed] int2147483648~2147483647无32unsigned int0~4294967295有长整型322147483648~2147483647[signed] long [int]无320~4294967295unsigned long [int]有64双长整型-9.223372e+18~9.223372e+18[signed] longlong无64unsigned long long0~1.8446744e+19有8版权所有@陈暂保留所有权利字符型[signed] char-128~127无80~255unsignedchar有32float单精度浮点型3.4e-38~3.4e38有64双精度浮点型double1.7e-308~1.7e308说明:基本类型所占位数随可执行文件位数的不同而不同14
版 权 所 有 © 陈 哲 保 留 所 有 权 利 ➢基本类型的大小(32位程序) 14 说明:基本类型所占位数随可执行文件位数的不同而不同 类型 符号 关键字 位数 表示范围 短整型 有 [signed] short [int] 16 -32768 ~ 32767 无 unsigned short [int] 16 0 ~ 65535 基本整型 有 [signed] int 32 -2147483648 ~ 2147483647 无 unsigned int 32 0 ~ 4294967295 长整型 有 [signed] long [int] 32 -2147483648 ~ 2147483647 无 unsigned long [int] 32 0 ~ 4294967295 双长整型 有 [signed] long long 64 -9.223372e+18 ~ 9.223372e+18 无 unsigned long long 64 0 ~ 1.8446744e+19 字符型 有 [signed] char 8 -128 ~ 127 无 unsigned char 8 0 ~ 255 单精度浮点型 有 float 32 3.4e-38 ~ 3.4e38 双精度浮点型 有 double 64 1.7e-308 ~ 1.7e308
>例:编程输出基本类型的内存大小(位数)#include <stdio.h>int main()1printf("%lld)n", sizeof(short) * 8);printf("%lld)n", sizeof(int) * 8);printf("%lld)n", sizeof(long) * 8);printf("%lld\n", sizeof(long long) * 8);printf("%lld)n", sizeof(char) * 8);版权所有@陈暂保留所有权利printf("%lld)n", sizeof(float) * 8);printf("%lld\n", sizeof(double) * 8);return O;15
版 权 所 有 © 陈 哲 保 留 所 有 权 利 ➢例:编程输出基本类型的内存大小(位数) 15 #include <stdio.h> int main() { printf("%lld\n", sizeof(short) * 8); printf("%lld\n", sizeof(int) * 8); printf("%lld\n", sizeof(long) * 8); printf("%lld\n", sizeof(long long) * 8); printf("%lld\n", sizeof(char) * 8); printf("%lld\n", sizeof(float) * 8); printf("%lld\n", sizeof(double) * 8); return 0; }