【C++ 进阶】第 1 章:[C 语言基础] C 语言概述与数据类型
目录
一、C 语言的概述
(1)计算机结构组成
(2)计算机系统组成
(3)ASCII 码
(4)计算机中的数制及其转换
(5)程序与指令
(6)语言的层次划分
(7)主流语言进化史
(8)IDE - VisualStudio 2022 简介
(9)C 语言是面向过程的编程语言
(10)思维导图
(11)详细知识汇总
二、C 语言的数据类型、运算符与表达式
(1)变量的定义
(2)数据类型
(3)常量和符号常量
(4)算术表达式
(5)运算符的优先级
(6)运算符的结合性
(7)自增、自减运算符
(8)思维导图
(9)详细知识汇总

一、C 语言的概述
(1)计算机结构组成

(2)计算机系统组成

(3)ASCII 码


(4)计算机中的数制及其转换
为了区分各种计数制的数据,经常采用以下两种方法进行书写表达:
① 在数字后面加写相应的英文字母作为标识,如:
- B(Binary)表示二进制数
- O(Octonary)表示八进制数
- D(Decimal)表示十进制数,通常其后缀可以省略
- H(Hexadecimal)表示十六进制数
② 在括号外面加数字下标,此种方法比较直观,如:
- 二进制的 11010011 可以写成(11010011)₂。

(5)程序与指令
指令是对计算机进行程序控制的最小单位。
所有的指令的集合称为计算机的指令系统。
电脑是 X86,手机是 ARM。
(6)语言的层次划分

(7)主流语言进化史

(8)IDE - VisualStudio 2022 简介
【C++】win 10 / win 11:Visual Studio 2022 社区版免费下载与安装
https://gusanshang.blog.csdn.net/article/details/131277774
(9)C 语言是面向过程的编程语言




(10)思维导图




(11)详细知识汇总
【C 程序设计】学习导论:C 语言简介、C 知识点思维导图
https://gusanshang.blog.csdn.net/article/details/131941390
【高级语言程序设计(一)】第 1 章:概述
https://gusanshang.blog.csdn.net/article/details/121674724
【高级语言程序设计(一)】第 2 章:C 语言基础知识
https://gusanshang.blog.csdn.net/article/details/129847181
【C++ 程序设计】第 1 章:C++ 语言简介
https://gusanshang.blog.csdn.net/article/details/130904977【C++】win 10 / win 11:Visual Studio 2022 社区版免费下载与安装
https://gusanshang.blog.csdn.net/article/details/131277774
二、C 语言的数据类型、运算符与表达式
(1)变量的定义
① 程序中使用的各种变量都应预先加以定义,即先定义,后使用。
② 对变量的定义可以包括三个方面:
- 数据类型
- 存储类型
- 作用域
③ 所谓数据类型是按被定义变量的性质,表示形式,占据存储空间的多少,构造特点来划分的。
④ 在C语言中,数据类型可分为:
- 基本数据类型
- 构造数据类型
- 指针类型
- 空类型
(2)数据类型

| 类型说明符 | 字节 | 数值范围 | |
| 字符型 | char | 1 | C 字符集 |
| 基本整型 | int | 4 | -32768~32767 |
| 短整型 | short int | 2 | -32768~32767 |
| 长整型 | long int | 4 | -214783648~214783647 |
| 无符号型 | unsigned | 4 | 0~65535 |
| 无符号长整型 | unsigned long | 4 | 0~4294967295 |
| 单精度实型 | float | 4 | 3/4E-38~3/4E+38 |
| 双精度实型 | double | 8 | 1/7E-308~1/7E+308 |
(3)常量和符号常量
① 在程序执行过程中,其值不发生改变的量称为常量。
② 直接常量 (字面常量):
- 整型常量:12、0、-3
- 实型常量:4.6、-1.23
- 字符常量:‘a’、‘b’
③ 标识符:用来标识变量名、符号常量名、函数名、数组名、类型名、文件名的有效字符序列。
(4)算术表达式
① 算术表达式:用算术运算符和括号将运算对象(也称操作数)连接起来的、 符合 C 语法规则的式子。
② 以下是算术表达式的例子:
- a+b
- (a*2)/c
- (x+r)*8-(a+b)/7
- ++i
- sin(x)+sin(y)
- (++i)-(j++)+(k--)
(5)运算符的优先级
运算符的优先级:
- C语言中,运算符的运算优先级共分为 15 级。
- 1级最高,15级最低。
- 在表达式中,优先级较高的先于优先级较低的进行运算。
- 而在一个运算量两侧的运算符优先级相同时,则按运算符的结合性所规定的结合方向处理。
(6)运算符的结合性
运算符的结合性:C语言中各运算符的结合性分为两种,即左结合性 (自左至右) 和右结合性 (自右至左)。
① 左结合性
- 例如算术运算符的结合性是自左至右,即先左后右。
- 如有表达式 x-y+z 则 y 应先与 “-” 号结合,执行 x-y 运算,然后再执行 +z 的运算。
- 这种自左至右的结合方向就称为 “左结合性”。
② 右结合性
- 而自右至左的结合方向称为 “右结合性”。
- 最典型的右结合性运算符是赋值运算符。
- 如 x=y=z,由于 “=” 的右结合性,应先执行 y=z 再执行 x=(y=z) 运算。
- C语言运算符中有不少为右结合性,应注意区别,以避免理解错误。
(7)自增、自减运算符
① 自增1,自减1运算符:
- 自增 1 运算符记为 “++”,其功能是使变量的值自增 1。
- 自减 1 运算符记为 “--”,其功能是使变量值自减 1。
- 自增 1,自减 1 运算符均为单目运算,都具有右结合性。
② 可有以下几种形式:
- ++i i 自增 1 后再参与其它运算
- --i i 自减 1 后再参与其它运算
- i++ i 参与运算后,i 的值再自增 1
- i-- i 参与运算后,i 的值再自减 1
在理解和使用上容易出错的是 i++ 和 i-- 。
特别是当它们出在较复杂的表达式或语句中时,常常难于弄清,因此应仔细分析。
(8)思维导图




(9)详细知识汇总
【高级语言程序设计(一)】第 3 章:数据类型、运算符和表达式
https://gusanshang.blog.csdn.net/article/details/129891802
相关文章:
【C++ 进阶】第 1 章:[C 语言基础] C 语言概述与数据类型
目录 一、C 语言的概述 (1)计算机结构组成 (2)计算机系统组成 (3)ASCII 码 (4)计算机中的数制及其转换 (5)程序与指令 (6)语…...
点击图片1.全屏阅览2.下载3.关闭 纯纯html css js
要实现图片点击全屏预览的功能,可以使用JavaScript和CSS来实现。以下是一个简单的示例代码: html <!DOCTYPE html> <html> <head><meta charsett"UTF-8"><title>图片点击全屏预览</title><style>…...
科技项目验收测试:验证软件产品功能与性能的有效手段
科技项目验收测试是验证软件产品功能与性能的重要手段,在项目开发中起到了至关重要的作用。本文将从产品质量、需求验证、性能测试等方面,探讨科技项目验收测试的有效手段。 1、产品质量保证是验收测试的核心 科技项目验收测试的核心目标是验证软件产品…...
Spring MVC学习笔记,包含mvc架构使用,过滤器、拦截器、执行流程等等
😀😀😀创作不易,各位看官点赞收藏. 文章目录 Spring MVC 习笔记1、Spring MVC demo2、Spring MVC 中常见注解3、数据处理3.1、请求参数处理3.2、响应数据处理 4、RESTFul 风格5、静态资源处理6、HttpMessageConverter 转换器7、过…...
【LeetCode 算法】Linked List Cycle 环形链表
文章目录 Linked List Cycle 环形链表问题描述:分析代码哈希快慢指针 Tag Linked List Cycle 环形链表 问题描述: 给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达…...
RedHat7.9安装mysql8.0.32 ↝ 二进制方式
RedHat7.9安装mysql8.0.32 ↝ 二进制方式 一、rpm方式安装1、检查是否安装了mariadb2、下载mysqlmysql8.0.323、上传解压4、创建安装目录,拷贝解压后的文件至安装目录/usr/local/mysql8.0/5、创建相关目录,开始安装6、创建mysql组和用户7、更改安装目录归…...
数据库面试题题
题干: -- 子查询 CREATE TABLE emp( empno INT, ename VARCHAR(50), job VARCHAR(50), mgr INT, hiredate DATE, sal DECIMAL(7,2), comm DECIMAL(7,2), deptno INT ) ; INSE…...
瑞吉外卖项目 基于spring Boot+mybatis-plus开发 超详细笔记,有源码链接
源码地址:https://gitee.com/programmer-xiao-kai/reggie_tack_out 前置知识: Java基础知识Java Web vueSpring BootSSMMaven 软件开发流程 角色分工 项目经理:对整个项目负责,任务分配、把控进度产品经理:进行需求调研,输出需…...
Redis Cluster 在Spring中遇到的问题
Redis集群配置可能会在运行时更改。可以添加新节点,可以更改特定插槽的主节点。还有可能因为master宕机或网络抖动等原因,引起了主从切换。 无法感知集群槽位变化 SpringBoot2.x 开始默认使用的 Redis 客户端由 Jedis 变成了 Lettuce,但是当…...
linux远程桌面管理工具 xrdp
Xrdp 是一个微软远程桌面协议(RDP)的开源实现,它允许你通过图形界面控制远程系统。通过 RDP,你可以登录远程机器,并且创建一个真实的桌面会话,就像你登录本地机器一样。 如何在Ubuntu 20.04 上安装 Xrdp 服…...
硬件-8-操作系统的历史
操作系统的最强入门科普(Unix/Linux篇) 操作系统的发展史(DOS/Windows篇) Mac操作系统进化史 手机操作系统的沉浮往事(上) 手机操作系统的沉浮往事(下) 1 操作系统种类 我们天天都…...
self.register_buffer()中的值发生变化
PyTorch中定义模型时,有时候会遇到self.register_buffer(name, Tensor)的操作,该方法的作用是定义一组参数,该组参数的特别之处在于:模型训练时不会更新(即调用 optimizer.step() 后该组参数不会变化,只可人…...
[Tools: Pycharm] Bug合集
1. Debug mode:Pycharm不显示变量值(Unable to display frame variables);在python console中交互不输出值 选择Gevent compatible:File > Settings > Build, Execution, Deployment > Python Debugger >…...
【JAVASE】循环结构
⭐ 作者:小胡_不糊涂 🌱 作者主页:小胡_不糊涂的个人主页 📀 收录专栏:浅谈Java 💖 持续更文,关注博主少走弯路,谢谢大家支持 💖 循环 1. 循环结构1.1 while 循环1.2 bre…...
NoSQL之Redis配置使用
目录 一、关系数据库与非关系型数据库 1.1.关系型数据库的概述 1.2关系型数据库的优缺点 1.2.1优点 1.2.2缺点 1.3.非关系型数据库的概述 二.关系数据库与非关系型数据库的区别 2.1数据存储方式不同 2.2扩展方式不同 2.3对事务性的支持不同 2.4非关系型数据库产生背景 2…...
Ansible最佳实践之Playbook使用过滤器处理网络地址
写在前面 使用过滤器检查、验证和操作包含网络信息的变量理解不足小伙伴帮忙指正 傍晚时分,你坐在屋檐下,看着天慢慢地黑下去,心里寂寞而凄凉,感到自己的生命被剥夺了。当时我是个年轻人,但我害怕这样生活下去…...
测试常见前端bug
目录 协作 测试方法 标签:标签 内容/ref/ 判断 arr&&arr.length 交互 样式不生效:devtools查找,编译前的标签,运行时不一定存在 可交互的需要提示 hover样式 没有交互逻辑,就不要设置交互 无法交互…...
【Python数据分析】Python常用内置函数(一)
🎉欢迎来到Python专栏~Python常用内置函数(一) ☆* o(≧▽≦)o *☆嗨~我是小夏与酒🍹 ✨博客主页:小夏与酒的博客 🎈该系列文章专栏:Python学习专栏 文章作者技术和水平有限,如果文…...
OpenCV图像处理-图像分割-MeanShift
MeanShift 1. 基本概念2.代码示例 1. 基本概念 MeanShift严格说来并不是用来对图像进行分割的,而是在色彩层面的平滑滤波。它会中和色彩分布相近的颜色,平滑色彩细节,侵蚀掉面积较小的的颜色区域,它以图像上任意一点P为圆心&…...
【Rust 基础篇】Rust Trait 实现:灵活的接口抽象
导言 Rust是一种以安全性和高效性著称的系统级编程语言,其设计哲学是在不损失性能的前提下,保障代码的内存安全和线程安全。为了实现这一目标,Rust引入了"所有权系统"、"借用检查器"等特性,有效地避免了常见…...
Chapter03-Authentication vulnerabilities
文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...
手游刚开服就被攻击怎么办?如何防御DDoS?
开服初期是手游最脆弱的阶段,极易成为DDoS攻击的目标。一旦遭遇攻击,可能导致服务器瘫痪、玩家流失,甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案,帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...
Cesium1.95中高性能加载1500个点
一、基本方式: 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...
条件运算符
C中的三目运算符(也称条件运算符,英文:ternary operator)是一种简洁的条件选择语句,语法如下: 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true,则整个表达式的结果为“表达式1”…...
智能在线客服平台:数字化时代企业连接用户的 AI 中枢
随着互联网技术的飞速发展,消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁,不仅优化了客户体验,还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用,并…...
DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI
前一阵子在百度 AI 开发者大会上,看到基于小智 AI DIY 玩具的演示,感觉有点意思,想着自己也来试试。 如果只是想烧录现成的固件,乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外,还提供了基于网页版的 ESP LA…...
JAVA后端开发——多租户
数据隔离是多租户系统中的核心概念,确保一个租户(在这个系统中可能是一个公司或一个独立的客户)的数据对其他租户是不可见的。在 RuoYi 框架(您当前项目所使用的基础框架)中,这通常是通过在数据表中增加一个…...
安全突围:重塑内生安全体系:齐向东在2025年BCS大会的演讲
文章目录 前言第一部分:体系力量是突围之钥第一重困境是体系思想落地不畅。第二重困境是大小体系融合瓶颈。第三重困境是“小体系”运营梗阻。 第二部分:体系矛盾是突围之障一是数据孤岛的障碍。二是投入不足的障碍。三是新旧兼容难的障碍。 第三部分&am…...
Python 实现 Web 静态服务器(HTTP 协议)
目录 一、在本地启动 HTTP 服务器1. Windows 下安装 node.js1)下载安装包2)配置环境变量3)安装镜像4)node.js 的常用命令 2. 安装 http-server 服务3. 使用 http-server 开启服务1)使用 http-server2)详解 …...
论文阅读:LLM4Drive: A Survey of Large Language Models for Autonomous Driving
地址:LLM4Drive: A Survey of Large Language Models for Autonomous Driving 摘要翻译 自动驾驶技术作为推动交通和城市出行变革的催化剂,正从基于规则的系统向数据驱动策略转变。传统的模块化系统受限于级联模块间的累积误差和缺乏灵活性的预设规则。…...
