初识C语言
1.数据类型
char
short
int
long
long long
float
double
sizeof是一种操作符!!!不是函数
Tips:字符类型在内存中是以ASCII码形式存储的
2.局部变量与全局变量
局部变量:在大括号里定义的变量均为局部变量,不一定是main函数里,且作用域仅在大括号内,进入作用域生命周期开始,出作用域生命结束
全局变量:大括号外部,作用域为整个工程,整个程序的生命周期
Tips:同名时优先使用局部变量
extern int g_val;
int main()
{
int b=100;
{
int a=10;
printf("%d",a);
printf("%d",b);
}
printf("%d",a);
}
3.字符串
char ch1[]="abcdef";
printf("%s\n",ch1);
char ch2[]={'a','b','c','d','e','f'};
printf("%s\n",ch2);
4.转义字符
printf("%c",'\x51');
5.操作符
对于 ‘/’ 两边操作符都为整型进行整数除法 只要有浮点型就进行浮点数除法
对于 ‘%’ 两边必须为整型
‘>>1’ 相当于除以2
? 位操作符
按位与 & :有0为0 均为1才为1
按位异或 ^ :相同为1 相异为0
按位或 | :有1为1 均为0才为0
6.补码
整数是以补码形式存储的
正的整数:原码、反码、补码相同
负的整数:原码、反码、补码是计算的
有符号的整数,最高位是0,表示正数;最高位是1表示负数
负的整数:原码符号位不变,其他位取反得反码,再+1得补码
例如 - 1
10000000000000000000000000000001 —— 原码
11111111111111111111111111111110 —— 反码
11111111111111111111111111111111 —— 补码
7.关键字
register:建议把变量存到寄存器里,定义的变量不能取地址操作
static:改变的是变量的生命周期,但不影响作用域
extern:声明外部符号(外部变量、函数)
默认一个全局变量是具有外部链接属性得,但如果全局变量被static修饰,外部连接属性就变成了内部连接属性,这个时候全局变量只能在本源文件内部使用
8.指针
1byte=8bit
指针大小在32位平台是4个字节,64位平台是8个字节
|