走进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语言的世界的主要内容,如果未能解决你的问题,请参考以下文章

万字解析:带你走进五子棋(普通版)和三子棋的世界(C语言)

进一步走进C++面向对象的世界

☀️☀️☀️不会还有人学不会C语言中的指针和数组吧?Chris带你走进并玩转指针与数组的世界☀️☀️☀️

一起走进自然语言处理的世界

进一步走进C++面向对象的世界

Golang✔️走进 Go 语言✔️ 第八课 函数