C基础
1. 基本常识
(1)计算机只认识机器码(0和1),因为它的大脑是CPU,CPU是由晶体管组成
(2)编译型语言和解释型语言的本质区别:
编译型:将源代码通过编译器编译为CPU认识的机器码
解释型:不能将源代码转换成机器码,而是转换成中间代码,然后发送给解释器,在翻译给CPU来执行
(3)Linux上编译的可执行程序,不能直接在其他系统上执行,因为大部分可执行文件格式不同
(4)解释型语言是为每个操作系统定制一个解释器作为中转,解释器只需要提供一个统一的入口,以此来跨平台
2. 打印
(1)Linux里面要执行C编写的程序,需要先编译:
gcc 文件名 -o 目标
(2)程序语言中一般打印就是输出在屏幕上的意思
3. 变量
1、程序处理的两种基本数据对象是:变量和常量
2、变量由变量名和存储单元组成;变量名的命名规则:只能由英文字母,数字和下划线组成,并且开头只能是字母或者下划线
3、C语言中常用的基本数据类型:
char—-字符型,占用一个字节
int—–整型,通常反映了所用机器中整数的自然长度
float—-单精度浮点型
double—-双精度浮点型
4. 常量
(1)常见的常量:
整型常量:520,1314,123
实型常量:3.14,5.12,8.97
字符常量:
-普通字符:’L’,’o’,’v’,’e’
-转义字符:’\n’,’\t’,’\b’
字符串常量:”Fishc”(双引号中可以写任意内容)
符号常量:使用之前必须先(宏)定义
(2)标识符:指一切的名字,比如变量名,符号常量名
规则:
-只能是英文字母和数字活着下划线组成
-第一个字节必须是字母或者下划线开头
-标识符区分大小写
-不能使用关键字来命名标识符
5. 数据类型
(1)数据的几种类型:
基本类型:整数类型、浮点数类型、字符类型、布尔类型、枚举类型
指针类型
构造类型:数组类型、结构类型、联合类型
空类型
(2)sizeof (它是一个运算符)用于获取数据类型或表达式的长度
(3)signed 和 unsigned :类型限定符
signed:表示变量是带符号位
unsigned:表示变量不带符号位
6. 取值范围
(1)比特位和字节:
-CPU能读懂的最小单位(只能存放0和1)—–比特位,bit,b
-内存机构的最小寻址单位:字节,Byte,B
-关系:1Byte == 8bit
因此一个字节可以表示的最大的数是:11111111
(2)二进制、十进制和十六进制
(3)符号位:
存放 signed 类型的存储单元中,左边第一位表示符号位。如果该位为 0,表示该整数是一个正数;如果该位为 1,表示该整数是一个负数。一个 32 位的整型变量,除去左边第一位符号位,剩下表示值的只有 31 个比特位
(4)补码:计算机是用补码的形式来存放整数的值
正数的补码:是该数的二进制形式
负数的补码:
① 先取得该数的绝对值的二进制形式
② 再将第一步的值按位取反
③ 最后将第二步的值加1
(5)二进制的最大值和最小值
(6)基本数据类型的取值范围