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

C语言学习_DAY_2_变量的定义_输入与输出

高质量博主,点个关注不迷路🌸🌸🌸

目录

I. 变量的定义

II. 变量的赋值

III. 输出

IV. 输入


I. 变量的定义

首先,我们新建一个.c文件在Dev C++中,并把之前定义好的程序框架放进去。

此时我们开始学习变量的定义,在此之前,先简单了解一下变量是什么:

所谓变量,是相对于常量而言的一个词,例如一个函数: y = x + 1, 在这里面,y是因变量,x是自变量,它们两个都是变量,因为它们的值都可以被修改。同理,我们这里所说的变量,也指的是值可以被修改的量。

我们在下面的代码中,定义一个变量,它的名字叫a,它的类型是整数,它的值是0:

#include<stdio.h>int main(){int a = 0;return 0;
}

通过这句定义的代码,我们可以认识到,变量的定义语句分为三个部分:

变量定义:类型关键字  +  变量名  +  等于号(=)  + 初始值

于是举一反三,我们如果想定义一个带有小数的变量a,并且已知小数的类型关键字是float(其实应该叫浮点数,但这里暂时不规范的叫它小数),它的值是1.1,那么代码应该是:

#include<stdio.h>int main(){float a = 1.1;return 0;
}

这里补充一下之前没有提到的重要细节:

C语言中,每一行代码都以一个分号结尾,原因是之前提到过,C语言是编译型的语言,编译器在对C语言进行编译的过程中,是通过分号区分每一句代码的,因此我们需要在每一句代码后面加上分号。


II. 变量的赋值

接下来是变量的赋值,首先还是先解释一下变量赋值是什么意思:

赋值,也就是给变量一个值,之前我们提到变量是值可以发生变化的量,那么很自然的,我们如果要修改变量的值,就需要给变量进行“赋值”的操作。

下面举一个赋值的例子:

#include<stdio.h>int main(){int a = 0;a = 3;return 0;
}

上面的例子中,整数型的变量a,它的初始值是0,而后又被赋值为3。

下面再补充一个重要的知识点:

在C语言中,或者说大部分编程语言中,某个变量 = 某个值,例如 x = 3,它的含义是把 等号右边的值,赋给 等号左边,也就是上面提到的赋值操作,而不是在表示x和3进行比大小的操作。也就是说我们要区分赋值操作和比大小的操作,比大小的操作在后续的笔记中会进行补充,到目前为止,我们只有赋值操作,符号是单个等号 = 


III. 输出

本篇笔记的最后,我们聊聊C语言的输入和输出,这里的输入和输出,是对于控制台来说的:

输入,就是指用户向控制台输入某个值,而这个值可能会对程序的运行有一些影响。

输出,就是指控制台向用户展示某些结果,这些结果可能是程序的运行结果。

首先聊聊输入,我们先举一个例子,回顾第一篇笔记我们的第一个C程序:

#include<stdio.h>int main(){printf("Hello,world!");return 0;}

我们再运行一遍:

可以看到,控制台向用户输出了一行:Hello,world!

于是我们可以得到C语言输出语句的代码格式:

printf(" ");

其中,需要输出的内容放在两个引号之间即可。

那么问题来了,如果我们想要输出的内容,是一个变量的值,应该怎么做呢?看下面这个例子:

#include<stdio.h>int main(){int a = 0;printf("%d",a);return 0;
}

这两句代码,实现了把变量a的值,输出到控制台。那么我们从中可以看出,C语言输出变量的代码格式为:

printf("%+变量类型标识符",变量名);

其中,printf()是C语言用来输出的函数,而整型变量的变量类型标识符刚好是d,因此我们是%d,那么同样的,我们再来一个举一反三,如果我们的a是一个小数,它的标识符是f,我们如何写它的输出语句呢?(建议可以先自行尝试)

#include<stdio.h>int main(){float a = 1.1;printf("%f",a);return 0;
}

IV. 输入

最后的最后,我们了解一下C语言的输入是怎么做的。

首先直接看一个案例,我们先声明一个整型的变量a,并把它的值通过输入来赋值,那么我们的代码为:

#include<stdio.h>int main(){int a;scanf("%d",&a);return 0;
}

首先,补充一个小知识点:

区分定义与声明:

如果观察的仔细的话,可以看出,这个案例,我在描述变量a的时候,用的动词是声明而不是定义,那么声明和定义,有什么区别呢?

一般而言,我们说声明的时候,指的是新创建一个变量,但是并不给它一个值,如上面,int a;但是没有给a一个值,那么这句话就是声明。

而定义是值,在创建a的同时,给a一个值,即int a = 3;

通过上面的代码,我们可以发现,C语言中,输入的语法格式为:

scanf("%+变量类型标识符",&变量名);

其中,scanf()是C语言中输入的函数,第一部分,即逗号前面的部分,和输出的格式完全一致。对于第二部分,这里在变量名前面加一个“&”的符号,其实并不是一个通用的格式真正通用的格式为:

scanf("%+变量类型标识符",变量在内存中的地址);

但因为在现阶段,我们没有学习过获得变量地址的知识,因此我们暂时用下面的这种语法格式。

scanf("%+变量类型标识符",&变量名);

运行这段代码之后,控制台弹出,我们看到下面的画面:

此时注意,和之前不同,带有输入的程序,如前面所说的那样,我们用户需要主动向控制台输入内容,并按回车键确认输入

可以看到回车键按后,程序才执行结束,此时a的值是我们输入的值,3.

最后,我们联合输入和输出,以及变量的定义与赋值,做一个简单的程序,要求如下:

定义一个整型的变量a,值为3,再通过输入操作,对a进行重新赋值,而后把赋值后的a变量的值输出到控制台。

这个简单的程序会放在评论区,有兴趣的初学者可以进行尝试!

相关文章:

C语言学习_DAY_2_变量的定义_输入与输出

高质量博主&#xff0c;点个关注不迷路&#x1f338;&#x1f338;&#x1f338;&#xff01; 目录 I. 变量的定义 II. 变量的赋值 III. 输出 IV. 输入 I. 变量的定义 首先&#xff0c;我们新建一个.c文件在Dev C中&#xff0c;并把之前定义好的程序框架放进去。 此时我…...

mac 安装navicat

由于各种原因发布不了链接&#xff0c;这里记录下&#xff0c;保存在了阿里云里...

RocketMQ快速入门

2.1 消息生产和消费介绍使用RocketMQ可以发送普通消息、顺序消息、事务消息&#xff0c;顺序消息能实现有序消费&#xff0c;事务消息可以解决分布式事务实现数据最终一致。RocketMQ有2种常见的消费模式,分别是DefaultMQPushConsumer和DefaultMQPullConsumer模式&#xff0c;这…...

【虚拟仿真】Unity3D实现从浏览器拉起本地exe程序并传参数

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址我的个人博客 大家好&#xff0c;我是佛系工程师☆恬静的小魔龙☆&#xff0c;不定时更新Unity开发技巧&#xff0c;觉得有用记得一键三连哦。 一、前言 最近有项目需求&#xff0c;从浏览器调起来本地的exe程序&…...

Intel中断体系(1)中断与异常处理

文章目录概述中断与异常中断可屏蔽中断与不可屏蔽中断&#xff08;NMI&#xff09;异常异常分类中断与异常向量中断描述符表中断描述符中断与异常处理中断与异常处理过程堆栈切换错误码64位模式下的中断异常处理64位中断描述符64位处理器下的堆栈切换相关参考概述 中断是现代计…...

财报解读:四季度营收超预期,优步却越来越“不务正业”了

“公司第四季度的业绩表现将是强劲的”。 公布2022年第三季度财报时&#xff0c;优步的高管给出了这样的预告&#xff0c;给资本市场打了一针“强心剂”。然而有人对此表示质疑&#xff0c;后疫情时代&#xff0c;带着新模式、新车型的全新网约车公司层出不穷&#xff0c;车企…...

C语言-程序环境和预处理(14.2)

目录 预处理详解 1.预定义符号 2. #define 2.1 #define定义标识符 2.2 #define 定义宏 2.3 #define 替换规则 注意事项&#xff1a; 2.4 #和## 2.5 带副作用的宏参数 2.6 宏和函数对比 3. #undef 4. 条件编译 4.1 单分支条件编译 4.2 多分支条件编译 4.3 判断是…...

VHDL语言基础-时序逻辑电路-计数器

目录 计数器的设计&#xff1a; 计数器的作用&#xff1a; 计数器的实现&#xff1a; 1、用“”函数描述&#xff1a; 用T触发器级联构成的串行进位的二进制加法计数器的仿真波形&#xff1a; 计数器的仿真&#xff1a; 计数器的设计&#xff1a; 计数是一种最简单基本的…...

MySQL数据库07——高级条件查询

前面一章介绍了基础的一个条件的查询&#xff0c;如果多条件&#xff0c;涉及到逻辑运算&#xff0c;and or 之类的。就是高级一点的条件查询。本章来介绍复杂的条件搜索表达式。 AND运算符 AND运算符只有当两边操作数均为True时&#xff0c;最后结果才为True。人们使用AND描述…...

《Terraform 101 从入门到实践》 第四章 States状态管理

《Terraform 101 从入门到实践》这本小册在南瓜慢说官方网站和GitHub两个地方同步更新&#xff0c;书中的示例代码也是放在GitHub上&#xff0c;方便大家参考查看。 军书十二卷&#xff0c;卷卷有爷名。 为什么需要状态管理 Terraform的主要作用是管理云平台上的资源&#xff…...

数据结构之二叉树

&#x1f388;一.二叉树相关概念 1.树 树是一种非线性的数据结构&#xff0c;它是由n&#xff08;n>0&#xff09;个有限结点组成一个具有层次关系的集合&#xff0c;树结构通常用来存储逻辑关系为 "一对多" 的数据。例如&#xff1a; 关于树的几个重要概念&…...

上海亚商投顾:三大指数集体调整 消费板块逆市活跃

上海亚商投顾前言&#xff1a;无惧大盘涨跌&#xff0c;解密龙虎榜资金&#xff0c;跟踪一线游资和机构资金动向&#xff0c;识别短期热点和强势个股。市场情绪三大指数今日集体调整&#xff0c;沪指全天弱势震荡&#xff0c;创业板指盘中跌超1%。旅游、食品、乳业等大消费板块…...

【2023unity游戏制作-mango的冒险】-开始画面API制作

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 秩沅 原创 收录于专栏&#xff1a;游戏制作 ⭐mango的冒险-开始画面制作⭐ 文章目录⭐mango的冒险-开始画面制作⭐&#x1f468;‍&…...

【微服务】Nacos配置管理

&#x1f6a9;本文已收录至专栏&#xff1a;微服务探索之旅 &#x1f44d;希望您能有所收获 Nacos除了可以做配置管理&#xff0c;同样可以当作注册中心来使用。 了解注册中心用法点击跳转&#x1f449;【微服务】Nacos注册中心 一.引入 当微服务部署的实例越来越多&#xff0…...

【C++】类与对象理解和学习(上)

专栏放在【C知识总结】&#xff0c;会持续更新&#xff0c;期待支持&#x1f339;类是什么&#xff1f;类是对对象进行描述的&#xff0c;是一个模型一样的东西&#xff0c;限定了类有哪些成员&#xff0c;定义出一个类并没有分配实际的内存空间来存储它&#xff08;实例化后才…...

Pyqt5小案例,界面与逻辑分离的小计算器程序

直接看下最终效果&#xff1a; 使用技术总结 使用Designer设计界面 使用pyuic5命令导出到python文件 新建逻辑处理文件&#xff0c;继承pyuic5导出的文件的类&#xff0c;在里面编写信号与槽的处理逻辑 使用Designer设计界面 要使用Designer&#xff0c;安装一个Python库即…...

leaflet加载KML文件,显示图形(方法2)

第049个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+leaflet中加载KML文件,将图形显示在地图上。 直接复制下面的 vue+openlayers源代码,操作2分钟即可运行实现效果; 注意如果OpenStreetMap无法加载,请加载其他来练习 文章目录 示例效果配置方式示例源代码(共66…...

Mysql 部署 MGR 集群

0. 参考文章 官方文档&#xff1a; MySQL :: MySQL 8.0 Reference Manual :: 18.2 Getting Started 博客&#xff1a; MGR 单主模式部署教程&#xff08;基于 MySQL 8.0.28&#xff09; - 墨天轮 (modb.pro) mysql MGR单主模式的搭建 - 墨天轮 (modb.pro) MySQL 5.7 基于…...

迁移至其他美国主机商时需要考虑的因素

网站的可访问性是关系业务的关键因素之一。一个稳定、快速且优化良好的主机上的网站更有可能享受不间断的流量&#xff0c;并在谷歌的SERP中获得更好的排名。因此&#xff0c;在构建企业网站时&#xff0c;选择合适的主机商相当重要。不过就以美国主机为例&#xff0c;由于每个…...

【数据结构】第二章 线性表

文章目录第二章 知识体系2.1 线性表的定义和基本操作2.1.1 线性表的定义2.1.2 线性表的基本操作2.2 线性表的顺序表示2.2.1 顺序表的定义2.2.2 顺序表的基本操作的实现2.3 线性表的链式表示2.3.1 单链表的定义2.3.2 单链表的基本操作实现2.3.3 双链表2.3.4 循环链表2.3.5 静态链…...

Vue记事本应用实现教程

文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展&#xff1a;显示创建时间8. 功能扩展&#xff1a;记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...

.Net框架,除了EF还有很多很多......

文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...

1688商品列表API与其他数据源的对接思路

将1688商品列表API与其他数据源对接时&#xff0c;需结合业务场景设计数据流转链路&#xff0c;重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点&#xff1a; 一、核心对接场景与目标 商品数据同步 场景&#xff1a;将1688商品信息…...

服务器硬防的应用场景都有哪些?

服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式&#xff0c;避免服务器受到各种恶意攻击和网络威胁&#xff0c;那么&#xff0c;服务器硬防通常都会应用在哪些场景当中呢&#xff1f; 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...

测试markdown--肇兴

day1&#xff1a; 1、去程&#xff1a;7:04 --11:32高铁 高铁右转上售票大厅2楼&#xff0c;穿过候车厅下一楼&#xff0c;上大巴车 &#xffe5;10/人 **2、到达&#xff1a;**12点多到达寨子&#xff0c;买门票&#xff0c;美团/抖音&#xff1a;&#xffe5;78人 3、中饭&a…...

基于数字孪生的水厂可视化平台建设:架构与实践

分享大纲&#xff1a; 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年&#xff0c;数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段&#xff0c;基于数字孪生的水厂可视化平台的…...

今日科技热点速览

&#x1f525; 今日科技热点速览 &#x1f3ae; 任天堂Switch 2 正式发售 任天堂新一代游戏主机 Switch 2 今日正式上线发售&#xff0c;主打更强图形性能与沉浸式体验&#xff0c;支持多模态交互&#xff0c;受到全球玩家热捧 。 &#x1f916; 人工智能持续突破 DeepSeek-R1&…...

ArcGIS Pro制作水平横向图例+多级标注

今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作&#xff1a;ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等&#xff08;ArcGIS出图图例8大技巧&#xff09;&#xff0c;那这次我们看看ArcGIS Pro如何更加快捷的操作。…...

学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2

每日一言 今天的每一份坚持&#xff0c;都是在为未来积攒底气。 案例&#xff1a;OLED显示一个A 这边观察到一个点&#xff0c;怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 &#xff1a; 如果代码里信号切换太快&#xff08;比如 SDA 刚变&#xff0c;SCL 立刻变&#…...

10-Oracle 23 ai Vector Search 概述和参数

一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI&#xff0c;使用客户端或是内部自己搭建集成大模型的终端&#xff0c;加速与大型语言模型&#xff08;LLM&#xff09;的结合&#xff0c;同时使用检索增强生成&#xff08;Retrieval Augmented Generation &#…...