C语言
1.数据:数据类型,变量,常量,函数,注释//
基本数据类型:整形:int unsigned int(无符号整形)4个字节
短整型: short int(short) 2个字节
长整形:long int (long) 8个字节
浮点型:float 4个字节
双精度型:double 8个字节
字符型:char 1个字节
数据类型的本质:通过数据所占内存大小来决定
sizeof:字节(衡量计算机内存的最小单位) 1个字节等于8个比特位
int 32位 无符号数:0—2^32
有符号数:-2^31 ----2^31-1 符号位 0:正数 1: 负数
char 8位 -128 --127
int: 1 0000 0000
char: 0000 0000
数据类型转换时会出现高位丢失
所有数在计算机内存储的形式
1001 -1 原码
1110 反码:符号位不参与取反
1111 补码:反码加一(参与计算 )
所有数在计算机内存储的形式都是补码形式
const int a=10;
a就可看作为常量不可修改a的值
变量:
printf:%d十进制数据
%u无符号的十进制数据
%s 输出字符串 %- 向前
%f 小数(6位)
%c:输出单个字符
运算符:单目运算符,双目运算符,三目运算符
算数运算符:+ - * / =
逻辑运算符:&&且 || 或 ^
优先级:括号>赋值(从右向左)>运算
int a=0;
int b=0;
int c=1;
int d=0;
d=a++&&++b||c++;
得:d=1 c=2 b=0 a=1
int a=-1;
int b=0;
int c=1;
int d=0;
d=a++&&++b||c++;
得:d=1 c=1 b=1 a=0
解释:当d=a++&&++b结果为1时后面||c++将不运行;
1.判断 if else switch case
2.循环结构: for() whlie(do while)
函数:函数+函数主体
递归函数
函数的参数传递:函数传递的参数本质是数值的传递,不会对变量本身有任何影响(只能通过指针*:取值符号)
指针:本质是变量的一种,但是存储的数据是地址,通过这个地址能找到我们想要的数据
int* ptr=NULL;
常量指针和指针常量
常量指针:const int* ptr=&a;指针指向的是一个常量,地址可修改,数值不可修改。
指针常量:int* const ptr =&a:指针是一个常量,地址不能改变,数值可修改。