C语言 【基础语法】

news2024/11/25 12:27:05

一、编程环境搭建

  • 编译器:gcc

  • 集成开发环境:vscode

1.1 安装vscode

1.2 设置中文包 插件

1.3 设置C/C++扩展

安装 C/C++ Compile Run extensionC/C++ Extension Pack 扩展

 二、基础语法

2.1 第一个c语言程序

2.2 数据类型 

2.2.1 变量的语法(重点)

2.2.2 命名规则和规范

标识符是用户编程时使用的名字, 用于给变量、 函数、 类等命名

  • 命名规则

    • 规则:规则是一定要遵循,不遵循就报错

      • 由 数字, 字母, 下划线_ 组成

      • 不能使用数字开头

      • 不能使用关键字

      • 严格区分大小写

    • 关键字(这个不用记):已经占用的名字,用户起名不能和关键字重名

命名规范:可以不遵循,只是一个建议,建议见名知意

  • 风格:

    • 大驼峰

      • 每个单词首字母大写, 例如: MyFirstName

    • 小驼峰

      • 第二个单词开始首字母大写, 例如: myFirstName

    • 下划线命名

      • 每个单词之间使用下划线连接, 例如: my_first_name

2.2.3 char类型

char的本质就是一个1字节大小的整型,一个字符对应一个ASCII 编码数字

 2.2.4 bool类型

早期C语言没有布尔类型数据,以0代表逻辑假,非0代表逻辑真

C99标准定义了新的关键字_Bool,提供了布尔类型,或者也可以使用stdbool.h中的bool 

2.2.5 数据类型长度(大小)
  • bit(比特)

    • 一个二进制代表一位,一个位只能表示0或1两种状态。

  • Byte(字节)

    • 一个字节为8个二进制,称为8位,计算机中存储的最小单位是字节。

  • 使用sizeof查看数据长度,长度在不同平台是不一样。

2.2.6 可移植的类型

C语言在可移植类型 stdint.h 和 inttype.h 中规定了精确宽度整数类型,以确保C语言的类型在各系统内功能相同

 

2.2.7 常量

与变量不同,常量的值在程序运行时不会改变

三、数值表示

3.1 C语言如何表示相应进制数 

进制描述
十进制以正常数字1-9开头,如15
八进制以数字0开头,如017
十六进制以0x或0X开头,如0xf
二进制以0b或0B开头,如0b1111

3.2 数值存储方式

  • 在计算机系统中,数值一律用补码来存储

  • 对于正数,原码、反码、补码相同

  • 对于负数,其补码为它的反码加1

    • 负数的补码符号位不动,其他位求反,最后整个数加1,得到原码

原码

原码:一个数的原码就是它的二进制表示,其中最高位是符号位(0表示正,1表示负)。

十进制原码
50000 0101
100000 1010
00000 0000
-11000 0001
-51000 0101

原码表示法简单易懂,与带符号数本身转换方便,只要符号还原即可,但当两个正数相减或不同符号数相加时,必须比较两个数哪个绝对值大,才能决定谁减谁,才能确定结果是正还是负,所以原码不便于加减运算。 

反码

对于正数,反码与原码相同,对于负数,符号位不变,其它部分取反(1变0,0变1)。

十进制原码反码
50000 01010000 0101
100000 10100000 1010
+00000 00000000 0000
-11000 00011111 1110
-51000 01011111 1010
补码(重点)

在计算机系统中,数值一律用补码存储。

十进制原码反码补码
50000 01010000 01010000 0101
100000 10100000 10100000 1010
+00000 00000000 00000000 0000
-11000 00011111 11101111 1111
-51000 01011111 10101111 1011
  • 计算机的基石-补码

对于一个字节(8 位),他所能表示的范围有多大呢?所有可能编码如下,共 256种。

11111111
11111110
********
********
00000011
00000010
00000001
00000000
  • 3.4.2 补码的编码规则

如何来利用这些硬件的基础来表示我们需要的数据范围呢?就是编码。

在计算机系统中,数值一律用补码来表示和存储。原因在于,使用补码,可以将符号位和数值域统一处理;同时,加法和减法也可以统一处理。此外,补码与原码相互转换,其运算过程是相同的,不需要额外的硬件电路。

  • 补码的运算

    1. 正整数的补码是其二进制表示,与原码相同

    2. 求负整数的补码,将其对应正数二进制表示所有位取反(包括符号位,0 变 1,1变 0)后加 1。

    【例 1】求-5 的补码。

    -5 => |-5| => 0000 0101 => 1111 1010 => 1111 1011

    【例 2】数 0 的补码表示是唯一的。

    0 => 0000 0000 => 1111 1111 => 0000 0000

3.3 转换关系

  1. 原码表示方法:最高位为符号位,1表示负数,0表示正数。其余比特位表示数值。

  2. 反码表示方法:正数的反码是其本身,负数的反码为在原码的基础上,符号位不变,其余位取反。

  3. 补码表示方法:正数的补码就是其本身,负数的补码为在原码的基础上,符号位不变,其余位取反,再+1(即在反码的基础上+1)。

四、程序的输入和输出 

4.1 输出(重点)

4.2 输入

使用scanf接收输入的内容

五、运算符

运算符就是在各种运算中起到特定作用的符号

5.1 算术运算符

5.2 赋值运算符

5.3 比较运算符

5.4 逻辑运算符

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1604722.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

氯氟氰虫酰胺杀灭活性好成本低 目前全球市场规模小

氯氟氰虫酰胺杀灭活性好成本低 目前全球市场规模小 氯氟氰虫酰胺,通用名为cyhalodiamide,是一种双酰胺类杀虫剂,外观为白色固体粉末状。 氯氟氰虫酰胺属于鱼尼丁受体作用剂,为邻苯二甲酰胺结构的双酰胺类杀虫剂,作用机…

Vision Transformer (ViT)浅析

Vision Transformer (ViT) 概述 为了将Transformer引入视觉任务,Google团队开发出了Vision Transformer (ViT),其中ViT模型以及变种在图像分类任务上一骑绝尘 ViT的结构 ViT首先将图像( R H W C \mathbb{R}^{H\times W\times C} RHWC)划分为多个Patc…

一周学会Django5 Python Web开发-Django5模型数据新增

锋哥原创的Python Web开发 Django5视频教程: 2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~共计46条视频,包括:2024版 Django5 Python we…

上位机图像处理和嵌入式模块部署(树莓派4b实现动态插件)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 和上位机一样,我们的智能硬件如果想应用到更多的场景,那么势必需要实现更多的算法。这些算法和算法之间最好是松散耦合的插…

思维导图软件Xmind for Mac 中文激活版 支持M

XMind是一款非常受欢迎的思维导图软件,它应用了Eclipse RCP软件架构,注重易用性、高效性和稳定性,致力于帮助用户提高生产率。 Xmind for Mac 中文激活版下载 XMind的程序主体由一组插件构成,包括一个核心主程序插件、一组Eclipse…

公众号开发:获取域名

公众号中的基本配置要求需要连接服务器地址,这个服务器地址必须是域名,但是域名需要进行购买,因此可以使用到一个内网穿透工具:ngrok 进行测试 国内的就可以了Sunny-Ngrok内网转发内网穿透 - 国内内网映射服务器 首先花两块钱实名…

Mybatis之SqlNodeSqlSource

SqlNode SqlNode接口 apply()是SqlNode 接口中定义的唯一方法,该方法会根据用户传入的实参, 参数解析该SqlNode所记录的动态SQL节点,并调用DynamicContext.appendSql()方法将解析后的SQL片段追加到DynamicContext.sqlBuilder中保存。当SQL节…

[Collection与数据结构] 二叉树(二):二叉树精选OJ例题(上)

1. 判断是否为相同的二叉树 OJ链接 public boolean isSameTree(Node p, Node q) {if (p null && q ! null || p ! null && q null){//结构不同return false;}if (p null && q null){//结构相同,都是空树return true;}if (p.value ! q.value){//…

机器人流量激增:恶意机器人活动升级与新型规避技术挑战企业安全防御

近日,根据Cyber News引用Thales Imperva Bad Bot发布的最新研究报告,揭示了一个令人警醒的现象:2023年,互联网总流量中的49.6%由机器人贡献,相较于上一年增长了2%,创下了自2013年监测以来的历史新高。这一显…

希亦、固特、大宇超声波清洗机值不值得买?宝藏机型测评争霸

在当代生活的快节奏中,眼镜成了我们不可或缺的伙伴,无论是助力视力的提升还是时尚造型的加分项。然而,许多人忽视了眼镜清洁的重要性,不知道不清洗眼镜会带来诸多危害,从而影响健康和生活质量。长时间累积的污垢、油脂…

苹果开发初学者指南:Xcode 如何为运行的 App 添加环境变量(Environmental Variable)

概览 Xcode 15 在运行 SwiftUI 代码时突然报告如下警告: Error: this application, or a library it uses, has passed an invalid numeric value (NaN, or not-a-number) to CoreGraphics API and this value is being ignored. Please fix this problem. 不仅如此…

【智能算法】花朵授粉算法(FPA)原理及实现

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.结果展示4.参考文献 1.背景 2012年,Yang等人受到自然界花朵授粉过程启发,提出了鸭群算法(Flower Pollination Algorithm, FPA)。 2.算法原理 2.1算法思想 FPA基于自然界花朵授…

idea项目启动异常:Command line is too long.

项目场景: 提示:这里简述项目相关背景: idea中启动项目报错: 解决方案 在idea 的运行配置中,修改enviroment下的shorten command line 为jar manifest 注: 有时shorten command line 可能不是默认存在的…

Kafka复习

消息中间件的作用: 异步处理: 与并行相比,虽然减少了时间,但是还是得等待其他线程执行完,但是消息中间件对于简单的业务处理,还要引入一个中间件也比较复杂如果我投递了简历之后需要发送成功邮件以及短信,就可以交给消息中间件就像数据库、redis数据一致性,需要用到延迟…

揭秘网上问卷调查:多样化类型助力数据收集

在当今数字化时代,问卷调查作为一种便捷、高效的数据收集和分析方式,被广泛运用于市场调研、学术研究、消费者反馈等领域。而在网上进行问卷调查更是提高了调查效率和覆盖范围,因此,了解网上的问卷调查类型对于设计合适的调查问卷…

如何使用Postgres的JSONB数据类型进行高效查询

文章目录 解决方案1. 创建包含JSONB列的表2. 插入JSON数据3. 使用GIN索引加速查询4. 执行高效的JSONB查询 示例代码解释 PostgreSQL的JSONB数据类型提供了一种灵活的方式来存储和查询JSON格式的数据。JSONB不仅允许你在PostgreSQL数据库中存储JSON文档,而且还对这些…

万字长文带你APK反编译重签名aabapks转换

Android反编译 反编译(Decompilation)是将已编译的程序(比如二进制代码)转换回更高级别的编程语言代码的过程。这通常用于理解程序的工作原理,进行软件审计,恢复丢失的源代码,或者进行教学研究…

CleanAmp™ dNTP应用:24min完成三重qPCR

试剂:CleanAmp™ PCR Kit 仪器:Mastercycler ep realplex4 S qPCR instrument 品牌:Trilink 国内授权代理:欣博盛生物 分子诊断需求的不断增长(如新冠核酸检测),要求所用检测试剂、设备能在更…

OpenCV的查找命中或未命中

返回:OpenCV系列文章目录(持续更新中......) 上一篇:OpenCV4.9更多形态转换 下一篇:OpenCV4.10使用形态运算提取水平线和垂直线 目标 在本教程中,您将学习如何使用 Hit-or-Miss 转换(也称为 Hit-and-Miss 转换&…

如何查看已使用的IP

如何查看已使用的IP 一、用cmd登录(winr) 二、用命令查看IP 在cmd命令窗口输入“ipconfig”命令,按下键盘上的回车键 这时会在cmd命令窗口看见自己电脑的IP地址,在命令窗里找到你的“以太网适配器 以太网”或者“无线局域网适配器…