当前位置: 首页 > news >正文

C 语言 Day02

C 语言 Day02

回顾

1 运行环境搭建

mingw64 配置环境变量(path)
vscode 安装
vscode 扩展: 简体中文、c/c++

2 编写第一个程序

3 程序运行流程机制

编写代码  -> 预处理     ->   编译      ->    汇编       ->   链接        ->    运行.i 文件		 .s文件          .o 			  .exe 预处理之后的源文件      汇编文件         目标文件		  可执行文件

4 基本语法

1. 严格区分大小写
2. 指令以分号结尾
3. c 源文件扩展名是 .c代码风格: 行尾风格 次行风格

5 注释

单行
多行
ctrl + /  快捷键

6 变量

1. 变量的声明和使用数据类型 变量名 变量值2. 变量输出printf()  3. 获取用户输入赋值给变量scanf()4. 标识符规范强制规范: 由数字、字母、下划线组成; 不能以数字开头; 不能是关键字建议规范: 使用有意义的词; 多个词下划线分隔,小驼峰

7 常量

1. 常量分类字面量常量标识符常量2. #define 定义标识符常量3. const 定义标识符常量4. 两种区别① 执行时机② 类型检查

第 5 章 二进制

5.1 进制

① 常见进制

十进制: 0 1 2 3 4 5 6 7 8 9 10 11 12 ... 19 20 21 ... 99 100 ...
二进制: 0 1 10 11 100 101 111 1000 ...
十六进制: 0 1 2 3 4 5 6 7 8 9 a b c d e f 10 11 ... 1f 20 21 ... ff 100 ..

② 不同进制的表示

0b 开头是二进制
0x 开头是十六进制

③ 不同进制输出格式占位符

%d  十进制整数   (输出 输入)
%x  十六进制整数  (输出 输入)
%#x 0x开头的十六进制输出
%#X 0X开头的十六进制输出

5.2 进制转换

① 二进制和十进制

2^0 = 1
2^1 = 2
2^2 = 4
2^3 = 8
2^4 = 16
2^5 = 32
2^6 = 64
2^7 = 128
2^8 = 256
2^9 = 512
2^10 = 1024二进制 -> 十进制
11001 = 16 + 8 + 1 = 25十进制 -> 二进制
56 = 32 + 16 + 8 = 111000
85 = 64 + 16 + 4 + 1 = 1010101

② 十六进制和十进制

③ 二进制和十六进制

进制转换小练习:

108    
二进制   1101100  
十六进制 6c0xab   
二进制 10101011  
十进制 171

5.3 原码、反码、补码

二进制形式存储数字原理

用 4 个二进制位表示无符号的整数:

0000	0
0001	1
0010	2
0011	3
0100	4
0101	5
0110	6
0111	7
1000	8
1001	9
1010	10
1011	11
1100	12
1101	13
1110	14
1111	15

用 4 个二进制位表示有符号的整数:

(补码)0000	0
(补码)0001	1
(补码)0010	2
(补码)0011	3
(补码)0100	4
(补码)0101	5
(补码)0110	6
(补码)0111	7
(补码)1000	-8        
(补码)1001	-7        
(补码)1010	-6
(补码)1011	-5
(补码)1100	-4
(补码)1101	-3
(补码)1110	-2
(补码)1111	-1
-7  1111(原码)  1000(反码)  1001(补码)
-6  1110(原码) 1001(反码) 1010(补码)

原码 反码 补码

原码: 最高位符号位 0是正数 1是负数   其他位就是对应的二进制
反码: 正数和0 与原码相同负数 原码基础上,符号位不变,其他位取反
补码: 正数和0 与原码 反码相同负数 反码基础上加1

补码计算器:https://www.lddgo.net/convert/number-binary-code

第 6 章 数据类型

6.1 整数类型

1. 整型分类short / unsigned shortint / unsigned intlong / unsigned longlong long / unsigned long long2. 字面量后缀(了解)默认是 int,  unsigned int 是 u、Ulong 的后缀 L、l, unsigned long 对应 ul lu ULlong long 的后缀是 LL、ll unsigned long long 对应 ULL、ull3. 占位符%hd -> short;  %hu -> unsigned short%d -> int; %u -> unsigned int%ld -> long; %lu  -> unsigned long%lld -> long long; %llu -> unsigned long long4. 精确宽度整型int8_t、 int16_t、 int32_t ...uint8_t、 uint16_t、 uint32_t ...

6.2 浮点类型

1. 浮点类型float、double、long double2. 字面量后缀默认是doublefloat 是 f、Flong double 是 l、L3. 占位符%f    输出:double、flot 输入:float%lf   输出输入:double%Lf   输入输出: long double

6.3 字符类型

本质上 1个字节 整数
ascii 码对字符编码,存储的就是整数

6.4 布尔类型

//3 种定义方式//(1) 使用宏定义#include <stdio.h>
#define BOOL int
#define TRUE 1
#define FALSE 0int main()
{   // 定义布尔类型变量BOOL isOK = TRUE;       // int isOK = 1;BOOL isPass = FALSE;    // int isPass = 0;// 条件判断if (isOK){printf("isOK 成立!");}// 条件判断if (isPass){printf("isPass 成立!");   // 不会执行的}return 0;
}//(2) 使用布尔变量#include <stdio.h>int main()
{   // 定义布尔类型变量_Bool isOK = 0;_Bool isPass = -10;   // 非0就是真// 条件判断if (isOK){printf("isOK 成立!");}// 条件判断if (isPass){printf("isPass 成立!");  }return 0;
}//(3) 使用标准库#include <stdio.h>
#include <stdbool.h>int main()
{   // 定义布尔类型变量bool isOK = true;bool isPass = false;printf("isOK=%d, isPass=%d \n", isOK, isPass);   // 1   0// 条件判断if (isOK){printf("isOK 成立!");}// 条件判断if (isPass){printf("isPass 成立!");  }return 0;
}
http://www.zskr.cn/news/73659.html

相关文章:

  • 解决国内Github.com打不开的方法
  • 不再错过任何销售:为你的Python Flask应用集成Stripe支付和Slack通知
  • 题解:P11811 [PA 2015] 人赢 / Mistrzostwa
  • 常用adb+hdc指令
  • 实用指南:Configuration of TCP/IP with SSL and TLS for Database Connections
  • 20232420 2025-2026-1 《网络与系统攻防技术》实验八实验报告
  • BZOJ1278 向量 vector
  • 2025年度安全狗狗驱虫药品牌排行榜:专业评测助力科学养宠
  • Ubuntu 22.04 与 24.04 常用操作命令
  • 全国中医师承选哪个机构靠谱?——理性对比后选择了阿虎医考师承
  • 深入解析:探索JavaScript前端开发:开启交互之门的神奇钥匙(二)
  • Node-RED:5分钟快速上手:安装与环境安装
  • 个人电脑本地私有知识库推荐:访答软件全解析
  • 缓存击穿,缓存穿透,缓存雪崩的原因和解决方案(或者说使用缓存的过程中有没有遇到什么问题,怎么应对的)
  • 写给自己看,自己写自己
  • 2025年现浇楼板施工验收标准排行,你家合格吗?混凝土现浇/钢筋混凝土现浇/现浇楼梯/现浇楼板现浇楼板多少钱一平推荐榜单
  • GoldenDB数据库工程师培训(中兴GoldenDB金融级/运营商级分布式数据库) 原创
  • 2025年防雨棚厂家供应排行榜,热门联系电话汇总,控制台定做/龙门架监控杆/指挥中心控制台/防雨套/防雨棚生产厂家推荐榜
  • XXE盲注 感受创造之美
  • Rustup 暂时切换国内源并更新
  • 【完整源码+数据集】蓝莓数据集,yolo11蓝莓成熟度检测数据集 3023 张,蓝莓成熟度资料集,目标检测蓝莓识别算法系统实战教程
  • 2025年货架批发厂家口碑推荐TOP5,贯通货架/托盘货架/组合式货架/牛脚式货架/穿梭式货架/仓库存储货架源头厂家推荐
  • 深度学习:python人脸表情识别系统 情绪识别系统 深度学习 神经网络CNN算法 ✅ - 指南
  • 5
  • 2025年必看:花灯厂家排行,彩车花灯工艺谁更优?华景花灯/夜景布置灯/商场美陈花灯/古镇花灯/演绎花灯生产商有哪些
  • 102302104刘璇-数据采集与融合技术实践作业4
  • 高精度计算
  • 看马蜂猜人 2.0
  • Meta 挖角苹果设计师,重塑 AI 硬件交互;健康追踪应用 Healthify 升级 AI 助手:实时语音与摄像头交互丨日报
  • LocalAI:一个免费开源的AI替代实用的方案,让创意更自由!