C编程语言执行效率高可以控制操作硬件资源开销小跨平台可移植性强 行业基础C语言学习内容基本数据类型表达式及运算符常用输入输出函数流程控制分支结构.循环结构函数数组指针构造数据类型内存管理 位运算程序调试方法C语言学前储备知识计算机如何执行C语言程序计算机基本组成部分运算器 控制器 存储器 输入设备 输出设备运算器控制器》CPU (GPU/NPU)存储器内存掉电数据丢失、空间小、读写效率高、价格昂贵硬盘掉电数据不丢失、空间大、读写效率低cache:高速缓存设备寄存器计算机中数据的单位bit 位 0/1byte 字节计算机内存存储单位 8bits1 bytekb 1024bytes1kbmb 1024kb1mbgb 1024mb1gbtb 1024gb1tb进制转换二进制0 1八进制0 1 2 3 4 5 6 7十进制0 1 2 3 4 5 6 7 8 9十六进制0 1 2 3 4 5 6 7 8 9 a b c d e f二进制转换成八进制、十进制、十六进制规则 对应位*对应位的权值累加求和十进制转二进制、八进制、十六进制短除法要转数据/进制数取得的余数逆序二进制转十六进制、八进制4个二进制位 转换1个十六进制位3个二进制位 转换1个八进制位按照8421编码方式转换基本数据类型、表达式及 运算符C语言中的数据类型基本数据类型整数类型*字符类型*浮点类型*缺省类型空类型void函数的形参和返回值不传递函数、不返回数据指针void*--》万能指针波尔类型c逻辑类型内存中1字节true/false1/0#includestdbool.h构造数据类型指针类型基本数据类型整数类型1整数类型分类:有符号整形可以表示正数也可以表示负数最高位符号位 0正数 1负数其他位数据位无符号整形只能表示正数064位ubuntu系统下:short:短整形内存中2字节unsigned short: 无符号短整形最大值1111 1111 1111 1111---》2^16-165535最小值0000 0000 0000 0000---》0short(signed short): 有符号短整形最大值0111 1111 1111 1111--》2^15-132767最小值1000 0000 0000 0000--》-32768int 整形内存4字节unsigned int无符号整形最大值1111 1111 1111 1111 1111 1111 1111 1111--》2^32-142亿最小值0000 0000 0000 0000 0000 0000 0000 0000--》0intsigned int有符号整形最大值0111 1111 1111 1111 1111 1111 1111 1111--》2^31-1 21亿最小值1000 0000 0000 0000 0000 0000 0000 0000--》-2^31 -21亿long 长整形内存8字节unsigned long(int):无符号长整形最大值2^64-1最小值0long(signed long int)有符号长整型最大值2^63-1最小值-2^63关键字sizeof数据类型--》返回一个结果整形数据获取某种数据类型在内存中所占的字节数printf:向终端打印数据工具2整形数据在内存中的存储方式无符号整形原码补码原码有符号整形最高位符号位--》0正数 1负数其他位数据位正数原码方式储存负数补码方式储存补码补码反码13整形数据的溢出unsigned short 最大值1最大值1--》最小值最小值-1--》最大值3.字符类型char 字符类型内存1字节‘a’ ‘b’ ‘$’ ‘#’ ‘?’ ‘\n’unsigned char:无符号字符形最大值1111 1111----》2^8-1255最小值0000 0000----》0signed char: 有符号字符形最大值0111 1111---》2^7-1127最小值1000 0000---》-2^7-128ASCII:转换标准字符和整形数据之间的转换标准4.浮点类型用来表示小数的数据类型。单精度浮点型float精度范围6-8位内存占的字节数4IEEE标准规定float类型在内存中以符号位1bit、指数位8bits、尾数位23bits的方式存储尾数位指数位补齐尾数位23内存小数点后指数位尾数位双精度浮点型double精度范围12-16位内存中占的字节数8IEEE标准规定double类型在内存中符号位1bit、指数位11bits、尾数位52bits方式存储。1. 0.9 → double 常量不能二进制精确存储2. float f 0.9double 转 float精度丢失得到粗略近似值3. f 0.9f 提升为 double粗略近似值 vs double 高精度近似值4. 两个近似值不相等 → 条件不成立 → 打印No!单精度 %双精度 %lf