【三刷C语言】各种注意事项

在线OJ的阿川 2024-09-16 14:05:06 阅读 93

这里是阿川的博客,祝您变得更强

✨ 个人主页:在线OJ的阿川

💖文章专栏:C语言入门到进阶

🌏代码仓库:


写在开头

现在您看到的是我的结论或想法但在这背后凝结了大量的思考、经验和讨论


在这里插入图片描述

在这里插入图片描述

目录

1. 编译器多提一句 多提二句 2. ASCII码表多提三句3. 操作符4. 关键字多提四句

1. 编译器

使用的编译器是Visual Studio Istaller2022编译器,在c语言当中通过编译再加链接,可以生成一个可执行程序(.exe)


多提一句

在C语言中,main函数表示程序的入口

\n 表示换行,注意是反斜杠 \ 。

%d 表示以10进制输出的一个整数

首先我们先来打印一下所有的数据类型的大小

<code>#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h>

int main()

{

printf("%d\n", sizeof(char));

printf("%d\n", sizeof(short));

printf("%d\n", sizeof(int));

printf("%d\n", sizeof(float));

printf("%d\n", sizeof(double));

printf("%d\n", sizeof(long));

printf("%d\n", sizeof(long long));

return 0;

}

在这里插入图片描述

再其次写一个刚进入编程中必写的两数之和:

<code>#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h>

int main()

{

int a; int b;

scanf("%d %d", &a, &b);

int c = a + b;

printf("%d\n", c);

return 0;

}


多提二句

在 printf 函数中根据要打印的类型不同,从而参数也不同

在这里插入图片描述

同一个工程下,若要使用同工程下的点c文件中的变或常量,则需要声明外部符号

在这里插入图片描述

C语言中的常量:

字面常量(如3.14,4,“hello”,‘a’)const的修饰的常变量#define定义的标识符常量枚举常量enum

在这里插入图片描述

注释

切记嵌套注释

在这里插入图片描述

字符串中它会默认以\0结束,但是不会作为其字符串中的大小

在这里插入图片描述

转义字符

转变原有意思,但它本身还是一个字符

常见的有:

\n 换行\t 水平制表符\a 系统警告,就是系统响一声\b 光标退格符\ 可将转义字符转成普通的字符\ddd 1~3个8进制的\xdd 1~2个16进制的

这里详细讲一下\b 光标退格符

在这里插入图片描述

详细讲一下

\ddd 1~3个8进制的\xdd 1~2个16进制的

在这里插入图片描述


2. ASCII码表

在这里插入图片描述


多提三句

Scanf 的返回值是读取有效数据的个数,如果读取失败则返回的是EOF(error of file) ctrl+z可以直接让scanf的返回值为EOF.

在这里插入图片描述

除法有

整数除法浮点数除法

浮点数除法条件是:至少有一位是浮点数

返回值类型,编译器默认为double类型,若要float类型,则要浮点数f

在这里插入图片描述

前置加加减减后置加加减减:

一个例子就明白了

在这里插入图片描述


3. 操作符

移位操作符/位操作符(均与二进制有关)

移位操作符: >> <<位操作符:& | ^

单目操作符(一个操作数

取地址 &解引用 *对一个数的二进制按位取反 ~

其他操作符

[ ]下标引用操作符

()函数调用操作符

. → 结构成员操作符


4. 关键字

auto

自动

int a = 1;这种局部变量,它其实前面省略了auto;也就是它会自动创建栈帧,自动销毁栈帧,就是因为省略了auto.


多提四句

逗号表达式( , , ,)

从左往右依次计算,将最后一个结果作为表达式的最终结果

在这里插入图片描述

数据存放

电脑上存放数据

在这里插入图片描述

其实最开始只有内存和硬盘。

内存大概分为三个区域:

在这里插入图片描述

但随着 CPU(通用计算芯片)高速发展处理速度越来越快导致系统从内存中读取数据跟不上,从而出现了缓存和寄存器尤其是寄存器读取数据速度很快,可以跟上CPU的处理速度.

register 寄存器

在这里插入图片描述


5. 类别讲解

分支类

switch casedefault

默认

循环类

do while

自定义类型

struct 结构体类型

在这里插入图片描述

union 联合体类型

修饰类型

unsigned/signed 无符号/有符号类型typedef 类型重定义

在这里插入图片描述

static 静态的

修饰局部变量,变成静态局部变量

不销毁栈帧生命周期延长,但作用域未延长

在这里插入图片描述

在这里插入图片描述

修饰全局变量或函数变成静态全局变量或函数

会使全局变量或函数的外部链接属性失效

在这里插入图片描述

在这里插入图片描述

宏类型

define 宏定义

在预处理阶段,直接进行替换

在这里插入图片描述

define 宏名(参数) (函数体)

本质:还是替换

在这里插入图片描述

6. 夹带私货

若你能看到看到这篇文章且能看到这,则说明你我有缘留个关注吧,后面还会接着计算机408、底层原理、开源项目、以及数据、后端研发相关、各种竞赛相关、简历相关、考研、学术相关……,祝你我变得更强

在这里插入图片描述

道阻且长 行则将至
个人主页:在线OJ的阿川

大佬的支持和鼓励,将是我成长路上最大的动力

在这里插入图片描述



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。