走进C语言的世界
Posted Ricky_0528
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了走进C语言的世界相关的知识,希望对你有一定的参考价值。
初识C语言
1.数据类型
char // 1 字节
short // 2 字节
int // 4 字节
long // 4/8 字节 规定sizeof(long)>sizeof(int)
long long // 8 字节
float // 4 字节
double // 8 字节
sizeof是一种操作符!!!不是函数
Tips:字符类型在内存中是以ASCII码形式存储的
2.局部变量与全局变量
局部变量:在大括号里定义的变量均为局部变量,不一定是main函数里,且作用域仅在大括号内,进入作用域生命周期开始,出作用域生命结束
全局变量:大括号外部,作用域为整个工程,整个程序的生命周期
Tips:同名时优先使用局部变量
extern int g_val;//工程内跨文件使用全局变量,需要声明
int main()
{
int b=100;
{
int a=10;
printf("%d",a);//可以使用a
printf("%d",b);//在大括号范围内,可以使用b
}
printf("%d",a);//无法使用a
}
3.字符串
char ch1[]="abcdef";//“”包裹的字符串本身会带\\0
printf("%s\\n",ch1);
char ch2[]={'a','b','c','d','e','f'};
printf("%s\\n",ch2);//遇到\\0之前不会停止输出 故出ch2输出时 f之后会打印出随机值
4.转义字符
printf("%c",'\\x51');//打印出Q,\\x51先转化成十进制,再转化成对应的字符
// \\ddd ddd为1~3个八进制数(不可能出现大于等于8的数字) \\xdd dd为两个十六进制数
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个字节
以上是关于走进C语言的世界的主要内容,如果未能解决你的问题,请参考以下文章