C语言学习笔记 - 21.C编程预备计算机专业知识 - 如何定义变量
一、变量的定义与初始化规范变量是C语言中存储数据的核心载体必须遵循标准的语法规则完成定义与初始化否则会导致编译报错或逻辑异常。1.1 变量定义的基本语法C语言中变量定义的核心格式为// 格式1仅定义变量不初始化 数据类型 变量名; // 格式2定义变量的同时完成初始化推荐 数据类型 变量名 初始值;数据类型指定变量可存储的数据类型如int整型、char字符型、float浮点型等。变量名变量的唯一标识需遵循C语言标识符命名规则。初始值变量对应的内存空间中存储的初始数据。1.2 变量初始化的两种等价形式变量初始化有两种完全等价的写法最终实现的效果完全一致// 写法1定义变量的同时完成初始化一行完成 int i 3; // 写法2先定义变量后赋值完成初始化两行完成 int i; i 3;核心说明两种写法最终都会为变量i申请int类型的内存空间并向该空间中写入初始值3无任何功能差异。1.3 多变量的合法定义格式同一数据类型的多个变量可在同一条语句中完成定义变量之间用英文逗号,分隔语句以分号;结尾。以下为所有合法的多变量定义格式代码示例功能说明int i, j;定义两个int类型变量i和j均未初始化int i3, j5;定义两个int类型变量i初始化为3j初始化为5int i, j3;定义两个int类型变量仅j初始化为3i未初始化int i j 5;定义两个int类型变量j先初始化为5再将j的值赋给i最终i和j均为51.4 C语言语句的核心分隔符分号C语言中英文分号;是语句的结束标志是C语言最小的语法单位。每一条变量定义语句、赋值语句、函数执行语句都必须以分号结尾否则编译器会报语法错误。多个同类型语句可写在同一行也可分行书写编译器仅通过分号识别语句边界。二、进制基础与C语言中的进制应用进制是计算机数据存储的核心基础计算机底层仅能识别二进制而开发中需结合十进制、八进制、十六进制完成代码编写与数据处理。2.1 进制的核心定义进制的本质是逢N进一我们所说的N进制核心规则就是逢N进一该进制下的有效数字取值范围为0 ~ N-1。十进制逢10进一有效数字0~9。二进制逢2进一有效数字0~1。八进制逢8进一有效数字0~7。十六进制逢16进一有效数字0~9、a~fA~F其中a/A对应10f/F对应15。2.2 常用进制的分类与应用场景进制类型核心应用场景二进制计算机硬件唯一能识别的进制所有数据、指令最终都会转换为二进制存储和执行十进制人类日常使用的进制C语言中默认的数值表示方式八进制/十六进制简化二进制的冗长书写用于底层开发、内存地址表示、硬件寄存器配置等场景可与二进制快速转换2.3 进制的表示规范2.3.1 汇编语言中的进制表示后缀标识法汇编语言中通过在数字末尾添加特定字母标识进制类型规则如下进制类型后缀标识示例标准数学写法二进制字母B不区分大小写1011B(1011)₂八进制字母O不区分大小写1357O(1357)₈十进制字母D不区分大小写2049D(2049)₁₀十六进制字母H不区分大小写3FB9H(3FB9)₁₆2.3.2 C语言中的进制表示规范前缀标识法C语言中通过数字前缀标识进制类型禁止使用后缀标识核心规则如下重点易错点已标注十进制无前缀直接书写数字如88、2049。八进制必须以数字0开头不是字母o/O如012、077。十六进制必须以0x或0X开头如0x32C、0XFB9。2.4 常用计数制对照表0-15该对照表是进制转换的核心基础需熟练记忆十进制(D)二进制(B)八进制(O)十六进制(H)000011112102231133410044510155611066711177810001089100111910101012a/A11101113b/B12110014c/C13110115d/D14111016e/E15111117f/F2.5 C语言中进制的格式化输出printf函数C语言的printf函数支持通过不同的占位符将变量以十进制、八进制、十六进制格式输出是开发中进制转换、调试的核心工具。2.5.1 printf进制输出占位符说明占位符输出格式补充说明%d十进制有符号整数最常用的整数输出格式%o八进制无符号整数输出时不会自动添加八进制前缀0%x/%X十六进制无符号整数%x输出小写字母%X输出大写字母不会自动添加十六进制前缀0x/0X2.5.2 代码示例与逐行详解示例1十进制数值的多进制输出// 引入标准输入输出头文件为printf函数提供支持 #include stdio.h int main(void) { // 定义十进制整型变量i初始化为88 int i 88; // 以十六进制格式输出变量i的值 printf(i %x\n, i); /* printf的用法补充 %d 表示以十进制输出 %x或%X 表示以十六进制输出 %o 表示以八进制输出 */ return 0; }运行结果i 58十进制88对应的十六进制值为58示例2十六进制数值赋值与十进制输出#include stdio.h int main(void) { // 定义整型变量i以十六进制格式赋值0x32C int i 0x32C; // 以十进制格式输出变量i的值 printf(i %d\n, i); /* printf的用法补充 %d 表示以十进制输出 %x或%X 表示以十六进制输出 %o 表示以八进制输出 */ return 0; }运行结果i 812十六进制32C对应的十进制值为812三、核心要点总结变量定义的核心格式为数据类型 变量名 初始值;先定义后赋值与定义时初始化完全等价。同类型多变量可在同一条语句中定义逗号分隔变量分号作为语句结束的唯一标志。进制的核心规则是逢N进一计算机仅识别二进制人类默认使用十进制八进制、十六进制用于简化二进制书写。C语言中八进制以数字0开头十六进制以0x/0X开头十进制无前缀禁止使用汇编的后缀标识法。printf函数通过%d、%o、%x/%X分别实现十进制、八进制、十六进制的格式化输出是进制转换的常用工具。