【三刷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.rhkb.cn/news/422673.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

无线领夹麦克风怎么挑选?选购麦克风必看的避坑指南

在这个视频自媒体行业的蓬勃发展的时代&#xff0c;麦克风对于自媒体行业可以说是必不可少的装备了&#xff0c;在各大视频博主、Up主、主播通过互联网输出自己想法的同时&#xff0c;一个好的麦克风可以让事情事半功倍&#xff0c;通过麦克风提高收音音质&#xff0c;减少后期…

数据结构算法——排序算法

1.排序 1.选择排序 不稳定&#xff0c;一般不用&#xff0c;基本排序 思路&#xff1a;过滤数组&#xff0c;找到最小数&#xff0c;放在前面。 不稳&#xff1a;导致原本在前的数据移动到后面。 int arr[];for(i0;i<arr.length-1;i){int smallesti; for(ji1;j<leng…

【OpenCV】灰度化和二值化处理图像

文章目录 1. 图像灰度化处理对比2. 代码示例3. 二值化处理 1. 图像灰度化处理对比 2. 代码示例 #include <opencv2/opencv.hpp> using namespace cv;int main() {Mat currentImage imread("path_to_image.jpg"); // 读取彩色图像Mat grayImage;// 将彩色图像…

SOMEIP_ETS_106: SD_ClientServiceSubscribeEventgroup

测试目的&#xff1a; 验证DUT在客户端模式下能够订阅测试器提供的ETS&#xff08;Enhanced Testability Service&#xff09;服务。 描述 本测试用例旨在确保DUT在客户端模式下能够通过发送FindService消息发现服务&#xff0c;并在接收到测试器提供的OfferService消息后&a…

大模型如何生成下一个token--解码策略

Background 生成模型目前主要使用自回归&#xff08;Autoregressive&#xff09;模型&#xff0c;通过上文信息预测下文信息&#xff0c;如GPT系列&#xff1b; BERT系列使用自编码&#xff08;AutoEncode&#xff09;模型&#xff0c;在输入中随机mask一部分token&#xff0c…

关于ansible自动化运维工具

成长路上不孤单&#x1f60a;【14后&#xff0c;C爱好者&#xff0c;持续分享所学&#xff0c;如有需要欢迎收藏转发&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#xff01;&#xff01;&#xff01;&#xff01;&#xff…

HCIE和CCIE,哪个含金量更高点?

在现在内卷的大环境下&#xff0c;技术岗可谓人人自危&#xff0c;也因此各种认证的重视程度直线升高。 特别是华为认证的HCIE和思科认证的CCIE&#xff0c;它们都代表着网络技术领域的顶尖水平。 但面对这两个高含金量的认证&#xff0c;不得不让人问出这个问题&#xff1a;同…

关于Hadoop重新格式化之后集群的崩溃问题

关于Hadoop重新格式化之后集群的崩溃问题 文章目录 关于Hadoop重新格式化之后集群的崩溃问题写在前面版本信息实验场景 HiveHive交互段查询报错原因分析解决方法手动启动元数据服务重新初始化元数据库 HBase清理虚拟机磁盘参考资料 写在前面 版本信息 Linux版本&#xff1a;C…

ListBox显示最新数据、左移和右移操作

1、程序 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using static Sys…

基于SSM的二手交易管理系统的设计与实现 (含源码+sql+视频导入教程+文档)

&#x1f449;文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1 、功能描述 基于SSM的二手交易管理系统1拥有两种角色 管理员&#xff1a;商品管理、订单管理、充值管理、用户管理等用户&#xff1a;发布商品、查看闲置、充值账户、查看所有订单、发布求购信息、修…

Redis Sentinel(哨兵)详解

目录 一&#xff1a;什么是Sentinel&#xff08;哨兵&#xff09; 二&#xff1a;Sentinel有什么用 1.监控 2.故障转移 3通知 4.配置提供 三&#xff1a;Sentinel如何检测master节点宕机 1.主观下线 2.客观下线 四&#xff1a;Sentinel是如何选举出新的master 1.s…

SpringBoot3整合ELK实现日志可视化

SpringBoot整合ELK实现日志可视化 一、环境准备 Elasticsearch、Logstash、Kibana,组合起来可以搭建线上日志系统 ELK中各个服务的作用 Elasticsearch:用于存储收集到的日志信息&#xff1b; Logstash:用于收集日志&#xff0c;SpringBoot应用整合了Logstash以后会把日志发…

golang面试

算法&#xff1a; 1.提取二进制位最右边的 r i & (~i 1) 2.树上两个节点最远距离&#xff0c;先考虑头结点参与不参与。 3.暴力递归改dp。 1.确定暴力递归方式。 2.改记忆化搜索 3.严格表方式&#xff1a; 分析可变参数变化范围&#xff0c;参数数量决定表维度、 …

【文心智能体】通过工作流使用知识库来实现信息查询输出,一键查看旅游相关信息,让出行多一份信心

欢迎来到《小5讲堂》 这是《文心智能体平台》系列文章&#xff0c;每篇文章将以博主理解的角度展开讲解。 温馨提示&#xff1a;博主能力有限&#xff0c;理解水平有限&#xff0c;若有不对之处望指正&#xff01; 目录 创建灵感基本配置头像名称和简介人物设定角色与目标思考路…

Android10源码刷入Pixel2以及整合GMS

一、ASOP源码下载 具体可以参考我之前发布的文章 二、下载相关驱动包 这一步很关键,关系到编译后的镜像能否刷入后运行 下载链接:Nexus 和 Pixel 设备的驱动程序二进制文件 如下图所示,将两个驱动程序上传到Ubuntu服务器,并进行解压,得到两个脚本: 下载解压后会有两…

MySQL数据的增删改查(一)

目录 新增&#xff08;create&#xff09; 插入单条记录 插入多条记录 查询&#xff08;retrieve&#xff09; 查询所有列 查询特定列 查询字段为表达式 别名 去重 排序 按单列排序 按多列排序 使用表达式或别名排序 排序NULL值 条件查询 比较运算符 逻辑运算…

【阿一网络安全】如何让你的密码更安全?(三) - 散列函数

散列函数 散列函数&#xff08;Hash Function&#xff0c;又称散列算法、哈希函数&#xff09;&#xff0c;是一种从任何一种数据中创建小的数字指纹的方法。 散列值 散列函数&#xff0c;把任意长的消息明文&#xff0c;压缩成摘要&#xff0c;使得数据量变小&#xff0c;将…

k8s 容忍和污点

文章目录 Taint作用在节点上&#xff0c;能够使节点排斥一类特定的Pod&#xff0c;也就是不能“兼容”该节点的污点的Pod。对应的Toleration作用在Pod上&#xff0c;意为容忍&#xff0c;也就是可以兼容某类污点。 给节点增加一个Taint也很简单&#xff0c;直接使用kubectl ta…

【PostgreSQL】安装及使用(Navicat/Arcgis),连接(C#)

简介 PostgreSQL 是一个功能强大的开源对象关系数据库系统 下载地址 PostgreSQL: Downloads 由于我电脑上安装的是arcgispro3.1所以需要下载对应的postgresql版本 PostgreSQL 12 对应的 PostGIS 版本主要是 3.5.0 或更高版本。 安装 一般设置为postgresql 安装扩展插件 此…

Centos如何配置阿里云的yum仓库作为yum源?

背景 Centos在国内访问官方yum源慢&#xff0c;可以用国内的yum源&#xff0c;本文以阿里云yum源为例说明。 快速命令 sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak sudo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.a…