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

【C 学习】04-了解变量

“知道做不到就是不知道”

 一、变量定义

1. 首先我们先思考一个问题,如何在程序运行时输入数字,然后进行运算?

(1)需要有地方输入的数字;
(2)得有办法去输入数字;
(3)输入的数字能够参与计算。 

2. 所以,变量的定义:保存一个数据的地方。

我们可以形象的理解(如下图):变量就是一个保存各种值的容器。

3. 格式:【类型名称】_【变量自己的名称1=_】,【变量自己的名称2=_】,...;

下图中的a,b就是变量。之后的数据就可以往里面放。

4. 关于变量的名字

(1)也叫做“标识符”,表示不同变量的字符。
(2)基本原则
①只能由字母、数字和下划线组成;
②数字不能在第一个位置;
③C语言的关键字(也就是“保留字”)不可以用做标识符。

关键字(不用特别记忆,系统会提示;长期使用熟悉之后也很容易避免):auto/break/case/char/const/continue/default/do/double/else/enum/extern/float/for/goto/if/

int/long/register/return/short/signed/sizeof/static/struct/switch/typedef/union/unsigned/void/

volatile /while/inline/restrict

常见的命名方式:

(1)常数定义,全大写;

(2)驼峰命名法;

(4)下划线命名法等。 

二、变量赋值与初始化

int price=0;


1. “=”表示“赋值”;

这里就需要着重理解“=”,不是我们普通数学意义上的相等,而是表示赋值,可以翻译为“给”,把=右边的值(可以是确切的数,也可以是带有数值的变量)赋值给左边的变量。在后面的学习中我们会知道,如果想要表示相等,用的是“==”。

2. 特别注意:a=b and b=a 是完全不一样的含义;

前者表示“把b的值赋给a”,而后者表示“把a的值赋给b”

3. 当赋值发生在定义变量的时候(第一次被使用之前),就是变量的初始化

int a=1,b;
b=2;
printf("a=%d,b=%d",a,b);//结果会输出:a=1,b=2


三、常量VS变量


1.固定不变的数,是常数。直接写在程序里,称作直接量(literal)
2.更好的方式:在程序开头就定义一个常量:const int AMOUNT=100;(常量名全部用大写字母);
3.const:是一个修饰符,加在类型名称前面,给该变量加上一个属性,并表示这个变量的值一旦初始化就不能再修改了(不能再放在赋值运算符的左边,会报错)。

四、变量的输入

为了编写代码时的流畅性,这里简单提一下吧!有不理解的也不用太担心。

scanf(“%d”,&price) ;  ——其中“&”表示取出变量price在内存中的地址。
解读:要求scanf这个函数读入一个整数(由%d决定的),将读到的结果赋值给&后面的变量。

#include <stdio.h>int main(){int price=0;printf("please enter the value of price:");scanf("%d",&price);printf("%d",price);return 0;
}


写在最后:

更新C语言学习笔记

如有错误,烦请多多批评指正!

http://www.lryc.cn/news/608814.html

相关文章:

  • 《volatile 与 synchronized 底层实现与性能比较》
  • 【OD机试题解法笔记】文件缓存系统
  • linux 扩展未分配的磁盘空间到home下
  • 【从零开始速通C语言1】 - 汇编语言1
  • RAG 知识库实战指南:基于 Spring AI 构建 AI 知识问答应用
  • 第N个泰波那契数
  • Coze 打通飞书多维表格,实现数据增删改查操作实战详解
  • 机器学习sklearn:支持向量机svm
  • 《使用Qt Quick从零构建AI螺丝瑕疵检测系统》——9. 接入真实硬件:驱动USB摄像头
  • 李宏毅深度学习教程 第8-9章 生成模型+扩散模型
  • 【Unity3D实例-功能-镜头】俯视角
  • JVM-垃圾回收器与内存分配策略详解
  • [创业之路-530]:创业公司五维架构设计:借鉴国家治理智慧,打造敏捷型组织生态
  • 智变时代:AI 如何重构工作边界与行业生态?
  • 【MySQL安全】什么是SQL注入,怎么避免这种攻击:前端防护、后端orm框架、数据库白名单
  • 计算机网络:如何在实际网络中进行子网划分
  • 从零开始学Express,理解服务器,路由于中间件
  • C#模式匹配用法与总结
  • Supergateway教程
  • Baumer工业相机堡盟工业相机如何通过YoloV8深度学习模型实现各类垃圾的分类检测识别(C#代码UI界面版)
  • 玩转 Playwright 有头与无头模式:消除差异,提升爬虫稳定性
  • LLM - 智能体工作流设计模式
  • 小红书开源dots.ocr:单一视觉语言模型中的多语言文档布局解析
  • 【设计模式】5.代理模式
  • [LeetCode优选算法专题一双指针——有效三角形的个数]
  • Python 程序设计讲义(60):Python 的函数——递归函数
  • 从“配置地狱”到“云端乐园”——Nacos 如何成为分布式微服务配置中心的“定海神针”
  • 【MySQL】MySQL中锁有哪些?
  • ethtool,lspci,iperf工具常用命令总结
  • 26李林880高数第一章 函数、极限、连续