【00002】

发布时间:2026/9/12 1:33:29

【00002】 二、C语言2.1基本数据类型1.C语言开发步骤1 vi编辑器1.使用vi打开软件vi filename.cvi编辑器三种模式底行模式默认其余模式可以ESC进入底行模式插入模式底行模式输入i、a、o均可进入插入模式命令模式底行模式输入: 进入命令模式:wq保存并且退出:w只保存不退出:q直接退出:q!不保存强制退出:wq!强制保存并且退出2. 点击i键进入插入模式3. 编写代码#include stdio.hint main(void){printf(Hello World!\n);return 0;}4. 点击ESC5. 输入:wq保存并且退出2gcc编译器1.编译C语言代码gcc filename.cgcc filename.c -o filename注意如果不指定生成二进制的程序名默认会生成a.out如果编译报错需要重新打开代码修改语法问题如果编译报警告最好打开代码修改告警问题2.gcc编译流程预处理处理和#号相关的代码#include头文件包含将头文件中的内容展开#define宏定义将宏定义完成替换#if #endif #else #elif #ifndef #ifdef条件编译gcc -E filename.c -o filename.i编译将C语言代码编译成汇编代码gcc -S filename.c -o filename.s汇编将汇编代码编译成二进制代码gcc -c filename.c -o filename.o链接将多个二进制代码链接为一个可执行程序gcc filename.c -o filename3运行代码./二进制程序名2.基础知识1程序如何在计算机中运行1. 编写C语言代码和编译好的二进制可执行程序都存放在外存中2. 当执行代码时会将外存中的二进制代码放入内存中执行与CPU交互实现对应功能3. 当代码执行结束后会将内存中二进制代码及其执行空间回收掉2计算机中数据量的单位1. 计算机中只有0、1二进制数据2. 1bit位3. 1byte字节 8bit4. 1kb 1024 bytes5. 1mb 1024 kb6. 1gb 1024 mb7. 1tb 1024 gb3进制转换1. 二进制0b逢二进一 0 12. 八进制0/0o逢八进一 0 1 2 3 4 5 6 73. 十进制逢十进一 0 1 2 3 4 5 6 7 8 94. 十六进制0x逢十六进一 0 1 2 3 4 5 6 7 8 9 a b c d e f5. 二进制、八进制、十六进制转十进制对应位 * 对应位的权值再求和6. 十进制转二进制、八进制、十六进制十进制数除以进制数得到的余数逆序排列7. 二进制转换为八进制二进制三位对应八进制1位8. 二进制转换为十六进制二进制四位对应十六进制1位3.基本数据类型数据类型数据对象的特性基本数据类型C语言中已经定义好的数据类型整数类型123浮点数类型小数类型/实数类型 3.14字符型A !逻辑类型true false缺省类型void构造数据类型需要用户自己定义的数据类型1整数类型1.short短整型占2个字节singed short默认signed short类型最左边的1bit表示符号位0为正、1为负其余位表示数据位数据位按照补码存放负数补码原码-反码1signed short类型表示范围-32768 -- 32767unsigned shortunsigned short类型所有字节空间均存储数据位unsiged short类型表示范围 0 -- 655352.int整型占4个字节singed int默认signed int类型最左边的1bit表示符号位0为正、1为负其余位表示数据位数据位按照补码存放signed int类型表示范围-21亿 -- 21亿unsigned intunsigned int类型所有字节空间均存储数据位unsiged int类型表示范围 0 -- 42亿3.long长整型占8个字节singed long默认signed long类型最左边的1bit表示符号位0为正、1为负其余位表示数据位数据位按照补码存放signed long类型表示范围-2^32 -- 2^32 -1unsigned longunsigned long类型所有字节空间均存储数据位unsiged long类型表示范围 0 -- 2^64 -12浮点数类型1.float单精度浮点数类型占4个字节所有的float类型均为有符号1位符号位 8指数位 23尾数位float类型 6-8位有效数字2.double双精度浮点数类型占8个字节所有的double类型均为有符号1位符号位 11指数位 52尾数位double类型12-16位有效数字3字符型char该类型主要用于表示存储字符类型占1个字节singed char默认signed char类型最左边的1bit表示符号位0为正、1为负其余位表示数据位数据位按照补码存放signed char类型表示范围-128 -- 127unsigned charunsigned char类型所有字节空间均存储数据位unsiged char类型表示范围 0 -- 255ASCII码表规定字符和数字之间转换关系表示所有能够在屏幕上显示或者键盘输入的字符32号之前主要用于通信控制4波尔bool类型/逻辑类型bool类型的值域范围true1、false0C语言中非0值即为逻辑真值0值为逻辑假值5缺省void类型主要用于搭配函数传参、指针来使用4.常量和变量1常量1.整型常量默认为signed int类型-123100123U123u123UL123ul123l123L01230x1a0X1F2.浮点型常量默认为double类型5.1212.343.14f5.34F12.56e5-13.98e-1099.34E83.字符常量字符型常量必须加 只能写1个字符a;A;Z;!;~;;; ;0;1;9;\n;换行符光标移到下一行开头\a;响铃警报输出时终端蜂鸣\b;退格符光标向左回退一格\r;回车符光标回到本行最左侧\t;水平制表符横向跳格通常占 4/8 空格宽度\v;垂直制表符纵向换行跳行\\;反斜杠本身用来输出一个\\0;空终止符ASCII 0C 语言字符串结束标记\065;\x41;4.字符串常量字符串最末尾会有一个用来标识结尾的\0字符“a”是由a和\0组成与a不等价5.标识常量#define 宏定义增强代码的可读性避免魔鬼数字宏定义只是代码的替换不会执行任何数据计算的操作宏定义中能加括号就加括号#define M 50#define N MM2变量在程序运行过程中值可以发生改变的量变量因为在内存中有存储空间所以可以通过向存储空间赋值来修改变量的值变量必须先定义再使用开辟对应类型的变量空间空间名称为变量名通过变量名可以访问该空间存取变量中的数据时必须按照变量类型完成对数据的操作1.变量的定义数据类型 变量名;数据类型基本数据类型构造数据类型变量名只能由字母、数字、下划线构成不能以数字开头不能与C语言关键字重名最好不要与C语言库函数重名变量名最好做到见名知意驼峰法、Linux内核 GNU整形变量定义:short var;unsigned short var;int var;unsigned int var;long var;unsigned long var;浮点型变量定义float var;double var;字符型变量定义char var;unsigned var泊尔类型变量定义#include stdbool.hbool var;2.变量的初始化初始化定义变量时为变量赋初值称为初始化赋值变量定义完毕后通过“”对变量空间赋值将“”右边的值拷贝到“”左边的空间注意如果变量不初始化变量为随机值所以变量一定要初始化不要使用未经初始化的变量3表达式概念由运算符连接的常量或变量组成的式子特点表达式一定有类型表达式一定有值1.混合数据数据类型运算如果运算符左右两端类型不一致需要转换为同一类型进行运算转换规则低精度类型转换为高精度类型浮点数类型精度 整数类型精度同一类型所占空间越大精度越高无符号类型精度 有符号类型精度char、short在数据运算时会强制换转为int进行数据运算和数据处理float在数据运算时会强制换换位double进行数据运算和数据处理类型转换1. 强制类型转换显示类型转换类型表达式/变量2. 隐式类型转换主要发生在混合数据类型运算和处理时低精度转换为高精度4运算符1.算数运算符加法、-减法、*乘法、/除法、%取余、自增、--自减%唯一不能对浮点数操作的算数运算符/--只能对变量操作2.赋值运算符、、-、*、/、%左值变量可以作为左值常量/表达式不能作为左值右值变量/常量/表达式都可以作为右值混合类型赋值处理方式1. 整形赋值给浮点数类型扩展精度2. 浮点数类型赋值给整形舍弃小数点后的精度数据3. 如果有符号和无符号整形互相赋值会直接完成内存空间的拷贝4. 小数据放入大空间有符号数扩符号位无符号数扩05. 大数据放入小空间直接截取数据低位3. 逗号运算符从左到右依次执行逗号表达式并将最后一个逗号表达式的结果作为整体的结果4. sizeof运算符sizeof可以获得数据类型或者变量所占内存空间大小单位字节5. 运算符优先级括号 单目 双目算数 移位 关系 位 逻辑 三目 赋值 逗号
延伸阅读

更多相关文章

2026/9/5 1:26:51

1A,30VIN,双灯,XZ4056V,反接保护

产品概述这是一款完整的单节锂离子电池采用涓流、恒流、恒压控制的线性充电器,充电电流范围100mA-1000mA之间可设置。芯片底部有散热片的ESOP8封装与较少的外部元件数目而成为便携式应用的理想选择。可以适合USB电源和适配器电源工作。该充电器有电池温度监控&#…

2026/9/6 23:01:00

智谱AI工具环境配置与API调用实战指南

这类标题容易让人联想到技术对抗或安全攻防,但实际落地时,我更建议先从工具本身的能力边界和适用场景入手。智谱系列模型和工具在文本生成、代码辅助、数据分析等场景下有不错的应用潜力,但能不能稳定集成到你的工作流里,关键要看…

2026/9/8 1:54:16

QT实现DockWidget内部组件自动换行布局

QT实现DockWidget内部组件自动换行布局 在复杂的桌面应用程序开发中,QT的DockWidget(停靠窗口)系统提供了灵活的子窗口管理能力。然而,当DockWidget内部包含多个动态添加或大小不一的组件时,如何让它们自动换行、适应…

2026/9/12 9:25:18

红酒评分预测实战:线性回归与逻辑回归从原理到部署

1. 评分不是玄学,是可复现的数学游戏:从一瓶酒到1599个数字的起点你拆开一瓶波尔多左岸的赤霞珠,撕下酒标,目光扫过右下角那个醒目的“92分”——它像一枚勋章,也像一道门槛。朋友问:“这分怎么来的&#x…

2026/9/12 2:05:33

超人会飞不算本事:系统稳定依赖清晰规则与边界设计

开头先不绕弯子。“#斯坦李吐槽dc 所以超人是无缘无故会飞的嘛哈哈哈哈哈哈哈锤哥真是技术人才啊!#雷神 #复联”这类调侃式短标题,第一波冲击力在于它把两个宇宙的角色塞进同一个吐槽箱里,但细想一下就能发现,它真正碰到的根本不是…

2026/9/12 3:55:12

超人VS蜘蛛侠:拆解超级IP的影响力与传播方法论

把“蜘蛛侠 vs 超人”放在 CSDN 上聊,可能很多人第一反应是走错片场了。但如果把这两个角色看成“两个持续运营了 80 多年的文化产品”,你会发现,这场比较本质上是两个不同 IP 策略的长期结果对比:超人赢在定义了整个超级英雄题材…

2026/9/9 16:31:09

基于CNN的调制信号识别:MATLAB实现时频图分类实战

简介:本资源是一套面向通信工程与信号处理方向学习者、研究者的深度学习实践方案,聚焦调制信号自动检测与识别这一典型无线通信任务,解决传统方法依赖人工特征、低信噪比下性能下降等痛点。压缩包共12个文件(10.73MB)&…

2026/9/12 0:04:17

MATLAB仿生优化框架:长鼻浣熊算法多策略融合实现

简介:本资源是一份面向智能优化算法研究者与MATLAB初学者的仿生智能算法实践代码包,聚焦于长鼻浣熊优化算法(COA)的多策略改进与性能验证。针对传统COA易陷局部最优、收敛精度不足等问题,作者融合Circle映射初始化提升…

2026/9/12 0:04:17

【JAVA毕设源码分享】基于 JavaWeb 的校园一卡通管理系统的设计与实现 基于 JavaWeb 的校园卡业务管理系统(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/9/12 0:04:17

【JAVA毕设源码分享】基于 Java 的图书馆借阅管理平台的搭建与实现 基于 Java 的图书馆综合管理系统(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/9/12 6:29:36

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/10 15:19:50

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/12 6:37:43

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码