当前位置: 首页 > 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 静态链…...

【JavaEE】-- HTTP

1. HTTP是什么&#xff1f; HTTP&#xff08;全称为"超文本传输协议"&#xff09;是一种应用非常广泛的应用层协议&#xff0c;HTTP是基于TCP协议的一种应用层协议。 应用层协议&#xff1a;是计算机网络协议栈中最高层的协议&#xff0c;它定义了运行在不同主机上…...

java 实现excel文件转pdf | 无水印 | 无限制

文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...

【磁盘】每天掌握一个Linux命令 - iostat

目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat&#xff08;I/O Statistics&#xff09;是Linux系统下用于监视系统输入输出设备和CPU使…...

dedecms 织梦自定义表单留言增加ajax验证码功能

增加ajax功能模块&#xff0c;用户不点击提交按钮&#xff0c;只要输入框失去焦点&#xff0c;就会提前提示验证码是否正确。 一&#xff0c;模板上增加验证码 <input name"vdcode"id"vdcode" placeholder"请输入验证码" type"text&quo…...

C# 求圆面积的程序(Program to find area of a circle)

给定半径r&#xff0c;求圆的面积。圆的面积应精确到小数点后5位。 例子&#xff1a; 输入&#xff1a;r 5 输出&#xff1a;78.53982 解释&#xff1a;由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982&#xff0c;因为我们只保留小数点后 5 位数字。 输…...

人工智能--安全大模型训练计划:基于Fine-tuning + LLM Agent

安全大模型训练计划&#xff1a;基于Fine-tuning LLM Agent 1. 构建高质量安全数据集 目标&#xff1a;为安全大模型创建高质量、去偏、符合伦理的训练数据集&#xff0c;涵盖安全相关任务&#xff08;如有害内容检测、隐私保护、道德推理等&#xff09;。 1.1 数据收集 描…...

关于easyexcel动态下拉选问题处理

前些日子突然碰到一个问题&#xff0c;说是客户的导入文件模版想支持部分导入内容的下拉选&#xff0c;于是我就找了easyexcel官网寻找解决方案&#xff0c;并没有找到合适的方案&#xff0c;没办法只能自己动手并分享出来&#xff0c;针对Java生成Excel下拉菜单时因选项过多导…...

Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement

Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement 1. LAB环境2. L2公告策略2.1 部署Death Star2.2 访问服务2.3 部署L2公告策略2.4 服务宣告 3. 可视化 ARP 流量3.1 部署新服务3.2 准备可视化3.3 再次请求 4. 自动IPAM4.1 IPAM Pool4.2 …...

鸿蒙HarmonyOS 5军旗小游戏实现指南

1. 项目概述 本军旗小游戏基于鸿蒙HarmonyOS 5开发&#xff0c;采用DevEco Studio实现&#xff0c;包含完整的游戏逻辑和UI界面。 2. 项目结构 /src/main/java/com/example/militarychess/├── MainAbilitySlice.java // 主界面├── GameView.java // 游戏核…...

电脑桌面太单调,用Python写一个桌面小宠物应用。

下面是一个使用Python创建的简单桌面小宠物应用。这个小宠物会在桌面上游荡&#xff0c;可以响应鼠标点击&#xff0c;并且有简单的动画效果。 import tkinter as tk import random import time from PIL import Image, ImageTk import os import sysclass DesktopPet:def __i…...