当前位置: 首页 > article >正文

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

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

✨ 个人主页:在线OJ的阿川
💖文章专栏:C语言入门到进阶
🌏代码仓库:


写在开头

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


在这里插入图片描述

在这里插入图片描述

目录

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

1. 编译器

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


多提一句

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

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

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

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

#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;
}

在这里插入图片描述

  • 再其次写一个刚进入编程中必写的两数之和:
#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 case
    • default
      • 默认
  • 循环类

    • do while
  • 自定义类型

    • struct 结构体类型
      在这里插入图片描述

    • union 联合体类型

  • 修饰类型

    • unsigned/signed 无符号/有符号类型
    • typedef 类型重定义
      在这里插入图片描述
    • static 静态的
      • 修饰局部变量,变成静态局部变量

        • 不销毁栈帧生命周期延长,但作用域未延长
          在这里插入图片描述
          在这里插入图片描述
      • 修饰全局变量或函数变成静态全局变量或函数

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

在这里插入图片描述
在这里插入图片描述

  • 宏类型
    • define 宏定义
      • 在预处理阶段,直接进行替换
        在这里插入图片描述
    • define 宏名(参数) (函数体)
      • 本质:还是替换

在这里插入图片描述
6. 夹带私货

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

道阻且长 行则将至
个人主页:在线OJ的阿川大佬的支持和鼓励,将是我成长路上最大的动力 在这里插入图片描述

http://www.kler.cn/a/301734.html

相关文章:

  • Python 打包教程:从零开始构建可分发的Python包
  • 电子电气架构 --- 传统刷写流程怎么用在SOC上就不适用呢?
  • 支持向量机SVM——基于分类问题的监督学习算法
  • STM32 标准库函数 GPIO_SetBits、GPIO_ResetBits、GPIO_WriteBit、GPIO_Write 区别
  • 使用React和Vite构建一个AirBnb Experiences克隆网站
  • Easyui ComboBox 数据加载完成之后过滤数据
  • 常用Java API
  • c# resource en-US
  • 4.qml单例模式
  • 智能医学(四)——Elsevier特刊推荐
  • 科技之光,照亮未来之路“2024南京国际人工智能展会”
  • 系统架构设计师:数据库设计
  • 【MySQL】了解并操作MySQL的缓存配置与信息
  • HarmonyOS 4.0增强的安全性
  • 自选择问题和处理效应模型
  • 逆元(模板)
  • 【GeekBand】C++设计模式笔记1_介绍
  • Azkaban、oozie、airflow、dolphinschduler 对比分析
  • 工作分享,中芯国际招聘,附送內推码
  • QT之QML学习五:添加自定义Qml组件,以及组件管理
  • ①MongoDB基本知识①
  • Windows与Linux下 SDL2的第一个窗口程序
  • 28BYJ-48步进电机详解(五线四相 STM32)
  • 『功能项目』播放动画时禁止点击移动【40】
  • Leetcode 第 138 场双周赛题解
  • 基于物联网的智能控制系统设计方案——物联网智能化控制箱