news 2026/9/3 4:28:38

第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/9/2 21:47:47

终极指南:3步搭建个人视频库,告别重复下载烦恼

终极指南&#xff1a;3步搭建个人视频库&#xff0c;告别重复下载烦恼 【免费下载链接】metube Self-hosted YouTube downloader (web UI for youtube-dl / yt-dlp) 项目地址: https://gitcode.com/GitHub_Trending/me/metube 你是否曾经遇到过这样的困扰&#xff1f;收…

作者头像 李华
网站建设 2026/9/2 11:56:50

中国矿业大学LaTeX毕业设计模板:新手快速上手完整指南

中国矿业大学LaTeX毕业设计模板&#xff1a;新手快速上手完整指南 【免费下载链接】cumtthesis 项目地址: https://gitcode.com/gh_mirrors/cu/cumtthesis 中国矿业大学本科毕业设计LaTeX模板是专为矿大学子打造的论文排版神器&#xff0c;能够帮助您快速生成符合学校规…

作者头像 李华
网站建设 2026/9/2 21:51:12

3大核心优势解析:CanOpenSTM32如何让工业通信开发效率提升300%

3大核心优势解析&#xff1a;CanOpenSTM32如何让工业通信开发效率提升300% 【免费下载链接】CanOpenSTM32 CANopenNode on STM32 microcontrollers. 项目地址: https://gitcode.com/gh_mirrors/ca/CanOpenSTM32 在工业自动化领域&#xff0c;CANopen协议因其高可靠性和实…

作者头像 李华
网站建设 2026/9/2 19:01:41

Python音频回声消除终极指南:从基础原理到实际应用

Python音频回声消除终极指南&#xff1a;从基础原理到实际应用 【免费下载链接】pyaec simple and efficient python implemention of a series of adaptive filters. including time domain adaptive filters(lms、nlms、rls、ap、kalman)、nonlinear adaptive filters(volter…

作者头像 李华
网站建设 2026/9/2 21:01:03

Uncle小说终极指南:免费打造个人专属小说图书馆

Uncle小说终极指南&#xff1a;免费打造个人专属小说图书馆 【免费下载链接】uncle-novel &#x1f4d6; Uncle小说&#xff0c;PC版&#xff0c;一个全网小说下载器及阅读器&#xff0c;目录解析与书源结合&#xff0c;支持有声小说与文本小说&#xff0c;可下载mobi、epub、t…

作者头像 李华
网站建设 2026/9/2 21:48:14

低资源语言翻译加速:TensorRT赋能全球化AI服务

低资源语言翻译加速&#xff1a;TensorRT赋能全球化AI服务 在全球化数字服务不断推进的今天&#xff0c;用户期望无论使用何种语言&#xff0c;都能获得近乎实时的智能响应。从跨境电商的商品描述自动翻译&#xff0c;到跨国客服系统的多语种支持&#xff0c;再到社交媒体内容的…

作者头像 李华