news 2026/4/18 13:34:20

第3课:变量与常量

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
第3课:变量与常量

第3课:变量与常量 - 知识点总结

一、计算机内存基础

  • RAM(随机存取存储器):程序运行时存储数据的临时内存,断电后数据丢失
  • 内存单位:字节(Byte) → 千字节(KB) → 兆字节(MB) → 千兆字节(GB),每个级别相差1024倍
  • 内存地址:每个字节都有唯一地址,C编译器自动管理地址

二、变量(Variable)

1. 变量定义

  • 命名数据存储位置,程序执行期间值可变化

2. 命名规则

  • 允许字符:字母(a-z, A-Z)、数字(0-9)、下划线(_)
  • 首字符:必须是字母或下划线(不推荐下划线开头)
  • 大小写敏感:count ≠ Count ≠ COUNT
  • 不能使用C语言关键字(如int, double等)
  • 长度限制:通常前31个字符有效

3. 命名风格

  • 下划线风格:interest_rate(本书使用)
  • 驼峰风格:interestRate(流行风格)

三、数值数据类型

1. 整型(整数,无小数)

类型关键字字节取值范围
字符char1-128 ~ 127
短整型short2-32768 ~ 32767
整型int4-2,147,483,648 ~ 2,147,483,647
长整型long4同int
长长整型long long8-9.22×10¹⁸ ~ 9.22×10¹⁸

2. 无符号整型(非负数)

类型关键字字节取值范围
无符号字符unsigned char10 ~ 255
无符号短整型unsigned short20 ~ 65535

3. 浮点型(实数,有小数)

  • float:单精度浮点数
  • double:双精度浮点数(更精确)

四、变量声明与初始化

1. 声明格式

类型名 变量名;类型名 变量名1,变量名2,变量名3;

示例:

intcount;floatpercent,total;

2. 初始化

  • 声明后初始化
intcount;count=0;
  • 声明时初始化
intcount=0;doublepercent=0.01;

3. typedef关键字

  • 为已有类型创建别名(不是新类型)
typedefintinteger;integer count;// 等同于 int count;

五、常量(Constant)

1. 字面常量

  • 直接写在代码中的值
intcount=20;// 20是整型字面常量floattax=0.28;// 0.28是浮点型字面常量

2. 字面常量表示法

  • 十进制:123(非0开头)
  • 八进制:0123(0开头)
  • 十六进制:0x1A3(0x或0X开头)
  • 科学计数法:1.23E2 = 123

3. 符号常量

  • 通过名称引用的常量值
定义方法1:#define指令
#definePI3.14159#defineMAX_SIZE100
  • 惯例:常量名全大写
  • 位置:通常放在文件开头
  • 注意:行末无分号
定义方法2:const关键字
constfloatPI=3.14159;constintMAX=100;
  • 声明后不能修改
constintcount=100;count=200;// 错误!不能修改const变量

4. 符号常量的优势

  1. 代码可读性:PI比3.14159更易理解
  2. 易于维护:只需修改一处定义

六、示例程序分析

#include<stdio.h>#defineLAPS_PER_MILE4// #define定义的符号常量constintCURRENT_YEAR=2013;// const定义的符号常量floatmiles_covered;intlaps_run,year_of_birth,current_age;intmain(void){printf("How many laps did you run: ");scanf("%d",&laps_run);printf("Enter your year of birth: ");scanf("%d",&year_of_birth);miles_covered=(float)laps_run/LAPS_PER_MILE;// 使用符号常量current_age=CURRENT_YEAR-year_of_birth;// 使用符号常量printf("\nYou ran %.2f miles.",miles_covered);printf("\nNot bad for someone turning %d this year!\n",current_age);return0;}

七、重要注意事项

  1. 变量必须先声明后使用
  2. 初始化值不能超出类型范围
  3. 字面常量根据写法确定类型:100(整型) vs 100.0(浮点型)
  4. #define与const的区别:涉及指针和作用域(后续课程讲解)
  5. 选择合适的类型:根据数据大小和精度选择,优化内存使用和性能

八、最佳实践

  1. 使用描述性的变量名
  2. 符号常量名用大写字母
  3. 变量声明时尽量初始化
  4. 根据数据特征选择合适的类型
  5. 使用const保护不应修改的值
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 4:46:19

ESP32摄像头开发完整指南:从零开始掌握物联网视觉应用

ESP32摄像头开发完整指南&#xff1a;从零开始掌握物联网视觉应用 【免费下载链接】esp32-camera 项目地址: https://gitcode.com/gh_mirrors/es/esp32-camera ESP32-Camera是一个专为ESP32系列芯片设计的开源摄像头驱动框架&#xff0c;为物联网设备提供了强大的图像采…

作者头像 李华
网站建设 2026/4/18 8:04:03

Dalamud:最终幻想XIV插件开发框架深度解析

Dalamud&#xff1a;最终幻想XIV插件开发框架深度解析 【免费下载链接】Dalamud FFXIV plugin framework and API 项目地址: https://gitcode.com/GitHub_Trending/da/Dalamud 框架概述 Dalamud是一个专为《最终幻想XIV》设计的插件开发框架&#xff0c;采用C#语言构建…

作者头像 李华
网站建设 2026/4/18 8:34:47

Wav2Lip-HD 终极教程:3步实现AI精准唇同步

Wav2Lip-HD 终极教程&#xff1a;3步实现AI精准唇同步 【免费下载链接】Wav2Lip-HD 项目地址: https://gitcode.com/gh_mirrors/wa/Wav2Lip-HD Wav2Lip-HD 是一款革命性的AI视频合成工具&#xff0c;通过先进的深度学习技术实现音频与视频的完美唇部同步。无论您是想制…

作者头像 李华
网站建设 2026/4/18 2:47:20

LD Score回归终极指南:5步掌握遗传力分析核心技术

LD Score回归终极指南&#xff1a;5步掌握遗传力分析核心技术 【免费下载链接】ldsc LD Score Regression (LDSC) 项目地址: https://gitcode.com/gh_mirrors/ld/ldsc 在基因组学研究的复杂世界中&#xff0c;GWAS汇总统计数据的深度解析一直是研究人员的核心挑战。LD S…

作者头像 李华
网站建设 2026/4/18 10:07:07

AI纹理生成革命:DeepBump让3D建模新手也能快速创建专业级纹理

AI纹理生成革命&#xff1a;DeepBump让3D建模新手也能快速创建专业级纹理 【免费下载链接】DeepBump Normal & height maps generation from single pictures 项目地址: https://gitcode.com/gh_mirrors/de/DeepBump 在当今数字创意领域&#xff0c;AI技术正以前所未…

作者头像 李华
网站建设 2026/4/16 17:00:42

ESP32-Camera终极指南:快速实现智能视觉应用的完整教程

ESP32-Camera终极指南&#xff1a;快速实现智能视觉应用的完整教程 【免费下载链接】esp32-camera 项目地址: https://gitcode.com/gh_mirrors/es/esp32-camera ESP32-Camera是一个功能强大的开源项目&#xff0c;为ESP32系列芯片提供全面的摄像头驱动和图像处理解决方…

作者头像 李华