C语言简史 、C语言数据类型及常量 简介
C语言简史计算机基础计算机的定义计算机能进行计算和逻辑处理的设备。硬件组成计算机的物理部件内存条、CPU、硬盘等.开发中对于硬件的认知硬件包括电子设备、单片机、集成电路和嵌入式系统等。软件计算机中运行的程序和数据。开发中对于软件的认知软件分为系统软件OS、应用软件、编程工具编译器计算机的六大部件中央处理器CPU负责执行指令和运算数据内存临时存储运行时的指令和数据输入设备向计算机输入数据鼠标、键盘、扫码枪等输出设备将计算机处理结果输出显示器、打印机等外存设备永久存储数据硬盘、U盘等网络实现设备间数据传输与通讯计算及工作原理存储程序程序和数据预先存储在内存中程序控制CPU按照指令顺序逐条执行计算机语言语言类型特点示例机器语言二进制代码直接操控硬件执行效率最高10101000汇编语言用助记符表示机器指令需通过汇编器翻译为机器语言MOV AL,61H高级语言贴近人类语言可读性高需要编译成汇编语言再由汇编语言翻译为机器语言printf(hello\n);C语言简介C语言起源前身是B语言——1969年美国 Ken Thompson肯·汤普森并编写了unix1972年美国Dennis Ritchie丹尼斯·M·里奇 ——C语言之父C语言标准主要介绍目前常用的对新版本不加介绍年份标准名称说明1989C89ANSI 发布首个完整 C 语言标准1990C90ISO 一字不改采纳 C891999C99ISO 发布修订完善后的标准C语言特点简洁高效 支持底层硬件操作可直接访问内存地址 操作寄存器可移植性强、 符合标准的C程序可在不同平台Windows、 Linux、 嵌入式设备 间轻松移植适合结构化编程 代码模块化程度高、 容易维护、 容易调试生成代码质量高、 执行速度快接近汇编语言C语言程序的开发过程开发三步骤编辑由程序员编写源程序.c文件编译编译器将源码转换成可执行的二进制文件运行操作系统加载并执行可执行的二进制文件编译的过程预处理处理宏定义#define,头文件包含#include注释等将头文件内容直接拷贝到当前文件。预处理需要用到预处理器编译对预处理后的代码进行语法分析语义检查生成汇编语言。编译需要用到编译器汇编将汇编语言转换为二进制代码生成目标文件。汇编需要用到汇编器链接将目标文件与系统库文件、其他目标文件合并生成可执行文件。链接需要用到链接器---------------------------------------------------------------------------------------------------------------------------------C语言数据类型与常量C语言注释c语言中注释可分为单行注释和多行注释作用是解释代码、屏蔽临时无用代码不参与编译在预处理阶段删除。单行注释格式以//开头注释掉整行内容适用场景变量说明、 常量说明、 函数调用语句、 简单逻辑注释多行注释格式以/*开始*/结尾可出现在任意行不能嵌套适用场景文件头说明、 函数功能说明、 复杂代码块注释示例代码#include stdio.h //引用头文件 ​ int main() { /* int a 0; int b 10; */ ​ return 0; }文档注释实际上还是多行注释多用于生成标准化文档。代码示例/** * brief 函数名 main * author 开发者姓名 * date 开发时间 * param argc 解释参数 * param argv 解释参数 * return 返回值说明 */ int main() { return 0; }数据类型为什么要有数据类型概念在C语言中 不同类型的数字整数、 小数、 字符 在内存中占用的空间大小和存储方式是不同的。 数据类型就是固定大小内存的别名 它告诉编译器 这块内存要存什么 有多大 同时它还决定了数据怎么存。简单理解就是数据类型决定了数据在内存中如何存储 需要多大空间数据计算机需要处理的信息数字、文字、符号、图片、音视频等程序运行时所有数据都要加载到内存中。数据类型分类基本类型内置类型整型短整型short2字节基本整型int4字节长整型long32位系统4字节64位系统8字节长长整型long long浮点型单精度型float,4字节精度6~7位双精度型double8字节精度15~16位长双精度型long double16字节精度18~19位字符型char1字节构造类型用户基于C语言语法定义指针类型存储内存地址空类型void表示无类型用于函数返回值函数形参指针类型boolC99新增类型true非0false0sizeof运算符用来计算数据类型或变量的大小返回的是字节数。*注意数据类型的字节大小与C语言编译系统32位/64位、操作系统相关。常量包含整型常量、浮点型常量、字符常量、字符串常量、符号常量整型常量整型常量包括十进制、八进制、十六进制三种表示形式。表示形式十进制常量组成数字0~9不能以0开头0自身除外八进制常量组成数字0~7以0为前缀不能省略如077十六进制常量组成数字0~9A~F以0x/0X为前缀如0x2F后缀说明数值后加L/l表示长整型如long num 123L,仍表示123有符号和无符号有符号默认包含负数、0、正数如char,范围是-128~127无符号unsigned包含0和正数如char,范围是0~255面试题有符号数和无符号数的区别 是否有符号位 有符号位是有符号数 无符号位是无符号数 。浮点型常量浮点型常量小数/实数 有两种表示方式十进制小数形式组成数字0~9、小数点.必须包含小数点如0.123、-12.7后缀说明数值后加F/f表示浮点型如float f 0.12f指数形式科学计数法格式数字 e/E 整数指数e/E 表示10的幂次。示例正数1234.5→1.2345*1e3 或 1.2345e3负数0.012→1.2e-2注意e/E前面必须有数字0~9 其中小数点前的整数部分取值范围为 1~9 前导零 0 在数值上无意义 但C语法允许e/E后面必须是整数不能带小数 错误示例1.2345e3.5单精度常量需要加f/F 如1.2345e3F(float)、1.2345e3(double 默认)字符常量普通字符常量以 引起来的单个字符英文输入法下的字母、 数字、 符号等ASCII规范的字符。转义字符常量以反斜杠\开头的的特殊字符序列用于表示控制字符或不可见字符如换行符、 制表符。字符形式ASCII码中文解释用途\n10换行光标移动至下一行开头\r13回车光标移动至当前行开头\00空字符字符串结束标志重要\t9水平制表符相当于按Tab键8个空格\92反斜杠表示字符 \39单引号表示字符 34双引号表示字符 ASCII码表字符串常量以 引起来的字符序列C语言无内置的字符串类型要通过字符数组或字符指针来实现。字符串末尾以\0作为结束标记但不显示。sizeof计算字符串大小时要算上\0,strlen不用算。如int main() { char arr hello; return 0; } ​ // sizeof(arr) 6 // strlen(arr) 5符号常量以#define进行的宏定义比如#define M 5

相关新闻

TranslucentTB:Windows任务栏透明化技术解决方案的深度解析

TranslucentTB:Windows任务栏透明化技术解决方案的深度解析

TranslucentTB:Windows任务栏透明化技术解决方案的深度解析 【免费下载链接】TranslucentTB A lightweight utility that makes the Windows taskbar translucent/transparent. 项目地址: https://gitcode.com/gh_mirrors/tr/TranslucentTB 在追求极致工作效…

2026/8/2 4:00:54 阅读更多 →
SpringBoot领域模型规范:DO、DTO与VO设计实践

SpringBoot领域模型规范:DO、DTO与VO设计实践

1. 领域模型规约概述在软件开发过程中,领域模型是业务逻辑的核心载体,良好的领域模型设计直接影响系统的可维护性和扩展性。领域模型规约(Domain Model Specification)是一套用于规范领域对象定义、职责划分和数据流转的标准&…

2026/8/2 4:00:54 阅读更多 →
AI写作痕迹清除实战:从技术文档到自然表达

AI写作痕迹清除实战:从技术文档到自然表达

1. 项目概述:AI写作痕迹清除实战指南在内容创作领域,AI辅助写作已经成为不可逆的趋势。但随之而来的"AI slop"问题——那些暴露机器生成痕迹的典型表达方式——正困扰着越来越多的专业写作者。我最近三个月深度测试了17种不同的AI写作辅助方案…

2026/8/2 3:59:54 阅读更多 →

最新新闻

JoyAI-Echo实战指南:如何用AI在5分钟内生成专业级多镜头视频

JoyAI-Echo实战指南:如何用AI在5分钟内生成专业级多镜头视频

JoyAI-Echo实战指南:如何用AI在5分钟内生成专业级多镜头视频 【免费下载链接】JoyAI-Echo JoyAI-Echo,这是一个独立的、仅用于推理的版本,旨在实现分钟级多镜头音视频生成。它采用了经过蒸馏的DMD生成器、配对的跨模态记忆以及故事级别的一致…

2026/8/2 16:06:13 阅读更多 →
GetQzonehistory:三步搞定QQ空间历史说说备份的终极方案

GetQzonehistory:三步搞定QQ空间历史说说备份的终极方案

GetQzonehistory:三步搞定QQ空间历史说说备份的终极方案 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 你是否曾担心QQ空间里那些承载青春记忆的说说会随着时间消失&#x…

2026/8/2 16:06:13 阅读更多 →
IDM激活脚本终极指南:3步永久解决下载管理器试用期问题

IDM激活脚本终极指南:3步永久解决下载管理器试用期问题

IDM激活脚本终极指南:3步永久解决下载管理器试用期问题 【免费下载链接】IDM-Activation-Script IDM Activation & Trail Reset Script 项目地址: https://gitcode.com/gh_mirrors/id/IDM-Activation-Script 还在为Internet Download Manager&#xff08…

2026/8/2 16:06:13 阅读更多 →
FGO-py终极指南:如何实现Fate/Grand Order全自动刷本,解放你的双手

FGO-py终极指南:如何实现Fate/Grand Order全自动刷本,解放你的双手

FGO-py终极指南:如何实现Fate/Grand Order全自动刷本,解放你的双手 【免费下载链接】FGO-py 自动爬塔! 自动每周任务! 全自动免配置跨平台的Fate/Grand Order助手.启动脚本,上床睡觉,养肝护发,满加成圣诞了解一下? 项目地址: https://gitcode.com/Git…

2026/8/2 16:06:13 阅读更多 →
视频制作:Timeline与Code思维对比及融合实战

视频制作:Timeline与Code思维对比及融合实战

大家好,我是专注于技术实战分享的博主。在视频内容创作和技术开发领域,我们常常会遇到两种截然不同的工作流:一种是基于直观的 时间线(Timeline) 进行非线性编辑,另一种则是通过编写 代码(Co…

2026/8/2 16:06:13 阅读更多 →
终极跨平台桌面待办事项管理神器:My-TODOs完全指南

终极跨平台桌面待办事项管理神器:My-TODOs完全指南

终极跨平台桌面待办事项管理神器:My-TODOs完全指南 【免费下载链接】My-TODOs A cross-platform desktop To-Do list. 跨平台桌面待办小工具 项目地址: https://gitcode.com/gh_mirrors/my/My-TODOs 还在为任务管理而烦恼吗?My-TODOs是一款完全免…

2026/8/2 16:05:12 阅读更多 →

日新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/2 0:00:38 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/2 0:00:38 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/2 0:00:38 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/2 0:00:38 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/2 0:00:38 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/2 0:00:38 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/2 6:34:16 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/2 2:47:48 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/2 0:23:22 阅读更多 →