C语言入门 Day_3 整数和变量

news2025/3/16 1:53:33

目录

1.整型

2.变量

3.易错点

4.思维导图


前言:

昨天的课程里面,我们学会了使用printf()打印一行字母,比如

printf("Hello World!\n");

那么编程中用来表示数字的是什么类型呢?

接下来我们学习一下表示数字的整型。

1.整型

C语言中的整数(正数,零,负数)

2023
0
-1

1.正整数,2023

2.整数0

3.负整数,-1

printf("正整数%d",2023);

1.printf()“指令”

2.要输出一段字符

3.%d是一个插入符,会被后面的数字2023替代

4.换行符\n,表示这行字符输出完以后要换行

5.逗号,隔开这行字符和后面的数字

6.输出的时候要替换%d的数字

7.分号,一行代码结束的标志

我们可以看到printf()其实还是输出了一段文字字符串,我们只是把其中的%d,用整型2023替换了。

在C语言中(以及绝大多数编程语言中),表示整数的数据类型叫做整型。D表示十进制,是十进制的英文Decimal的首字母。

在编程中,可以简单理解为整数的写法和我们学过的数学没有区别。只不过当我们要用printf()输出的时候,输出十进制整数需要使用%d

1.1—我们这里加上了一个换行符\n,实际上,如果我们只是打印单个数字的话,也可以不用这个换行符,比如这里我们打印输出一个-1:

printf("%d", -1);

printf("%d",1024);


输出结果

1024


1.2-再比如写两行代码,打印输出两个数字,1和0

printf("%d",1);
printf("%d",0);

输出结果

10


还记得换行符\n的作用么?,这里的printf()就是没有换行符,所以输出了第一行的1以后,接着1的后面又输出了0:

printf("%d", 1);

printf("%d", 0);

1.3-加入换行符以后再输出一下1和0

printf("%d\n",1);
printf("%d\n",0);

输出结果

1
0

1.4-以这个空盒子为例

在编程语言中设计了一种叫做变量的机制,用来存储各式各样的数据。比如上面学到的整型数据。

变量,顾名思义,就是会变化的量,我们可以粗略的把变量理解为一个空盒子,里面可以放各种各样的,不同的数据。

接下来我们就学习一下怎么用变量。

2.变量

C语言是强类型语言,也就是说,我们需要在定义变量的时候,说明这个变量是存储什么类型数据的变量。比如我们想要这个变量存储整型,那么我们就需要这样写:

int a = 100;

其中,int表示整型的意思,它是英文单词integer的缩写。它的意思是,后面这个变量是一个整型类型的变量,只能存储整数(比如100):

int a = 100;

2.1-下面代码定义了一个变量a,并给它赋值了2023,然后打印输出了它。

int a=2023;
printf("%d",2023);

1 . int,表明后面要定义的变量是整数类型

2. a,是变量的名字

3.等号=,这是赋值符号,表示给变量a装入一个数(2023)

4.赋值的具体数据,整数2023

5.printf()语句,在屏幕上打印输出这个变量的值

2.2-我们来运行一下这两行代码,会输出2023这个整数,这是因为第一行代码,我们把2023先赋值给了变量a,第二行代码我们打印了变量a的值。

int a=2023;
printf("%d\n",2023);

2.3-以这张图为例

在图中这两行代码是等价的,右边第一行代码是定义了一个变量a,第二行代码是给这个变量赋值了100,而左边是用一行代码完成了变量的定义赋值

2.4-又如:

int b = 100;

int a;

a = 100;

int a;
a=100;
int b=100;

1.定义一个整型变量a2

2.给这个变量a赋值100

3.定义一个整型变量b,同时给它赋值100;

2.5-再看看这张图

定义就是告诉计算机,我们要在这里创造一个空盒子,赋值就是告诉计算机,我们要给这个空盒子装入一个数2023。

需要注意的是,如果我们只定义变量,不给变量赋值的话,在现在的C语言规范里,计算机会给这个空盒子装入一个0的整数,所以我们建议在定义变量的时候直接赋值,这样我们就不会忘记给变量赋值。

int a = 2023;

2.6-比如第二张图更像赋值

2.7-但如果我们只定义,不赋值呢?

根据现在的C语言规范,会给这个空盒子装入一个为0的整数。

"There are only two hard things in computer science: cache invalidation and naming things."

(计算机科学中只有两件难事:缓存失效和给事物命名。)

这个经典的引用表达了命名变量的难度。

在C语言中,变量的命名是一个重要的任务,需要选择有意义和清晰的名称,以提高代码的可读性和可维护性

2.8-下面我们将学习C语言变量命名的规则。

 变量的名字有自己的命名规则,它可以由字母,数字,和下划线(_)组成。但是,它不能以数字开头。

2.9-给变量my_age赋值18,并打印变量my_age

int my_age=18;
printf("我的年龄是%d\n",my_age);

打印结果

我的年龄是18


我们上面学到的代码都只是赋值了一次,我们能不能给同一个变量赋值多次呢?既然是叫变量,那当然是可以的

我们先给整型变量赋值2024,并且打印了一次,然后给变量赋值2025,又打印了一次。

int a=2024;
printf("%d\n",a);
a=2025;
printf("%d\n",a);

1.定义整型变量a,并赋值2024

2.打印输出变量

3.再给变量赋值2025

4.再次打印变量a

打印结果

2024

2025

我们可以看到,每次输出的都是当前的变量的值,其实也就是最新的变量的值。

重复赋值就像我们先给盒子装入了一个黄色球,然后我们把黄色球拿了出来,又装入了一个绿色的球,这时候盒子里面是绿色的球。

3.易错点

eg:一个int可以定义多个变量,并给它们赋值,例如int a = 0, b= 1;不同的变量之间需要用英文逗号隔开。

eg:为了代码的美观性,printf语句中, 后面可以加一个空格再写上变量名。

eg:C语言中,变量命名不能以数字开头,同时变量名中也不能包含空格,如果是以多个单词组成的变量名,我们可以用下划线_把它们连接起来。

4.思维导图

在撰写这篇文章时,我参考了《白纸编程》这个app的观点和思想,我要感谢他们对我的启发和帮助。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/883445.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

实战指南,SpringBoot + Mybatis 如何对接多数据源

系列文章目录 MyBatis缓存原理 Mybatis plugin 的使用及原理 MyBatisSpringboot 启动到SQL执行全流程 数据库操作不再困难,MyBatis动态Sql标签解析 从零开始,手把手教你搭建Spring Boot后台工程并说明 Spring框架与SpringBoot的关联与区别 Spring监听器…

国内外医疗器械政策法规网站集合

随着医疗技术的不断发展,医疗器械在现代医疗中扮演着重要的角色。为了确保医疗器械的安全性、有效性和质量,各国纷纷制定了一系列的政策法规来监管医疗器械的研发、生产、销售和使用。这些政策法规的制定和实施对于保障公众健康、促进医疗器械产业的健康…

报错解决:matlab机器人工具箱不支持将脚本 DHFactor 作为函数执行

matlab使用机器人工具箱出现报错: 不支持将脚本 DHFactor 作为函数执行: D:\MATLAB\install\toolbox\rvctools\robot\DHFactor.m 解决办法:重新到上图的rvctool重重新安装一下工具箱就好了。 到目录"$机器人工具箱路径$\rvctools" 在matlab命…

数据结构基础

将节点构建成树 数据的结构逻辑结构集合线性结构树形结构图状结构 存储结构合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants 创建一个自定义列表如…

CXL registers

目录 DVSEC CXL PCIe DVSEC for CXL Device//ID 0 DVSEC CXL Capability (Offset 0Ah) DVSEC CXL Control (Offset 0Ch) DVSEC CXL Status (Offset 0Eh) DVSEC CXL Control2 (Offset 10h) DVSEC CXL Status2 (Offset 12h) DVSEC CXL Lock (Offset 14h) DVSEC CXL Capabilit…

【指针大放送】进阶篇(1)

进阶篇的难度比较大,可谓是晦涩难懂,又臭又长啊,但不要害怕,俗话说得好: 雄关漫道真如铁,而今迈步从头越。 指针的主题,我们在初级阶段的《指针》章节已经接触过了,我们知道了指针的概念: 指针就是个变量&a…

性能测试压力曲线模型分析

性能测试模压力曲线: 曲线图关键点介绍: 横轴:从左到右表现了Number of Concurrent Users(并发用户数)的不断增长。 纵轴:分别表示Utilization(资源的利用情况,包括硬件资源和软件…

PS出现的问题——为什么PS另存的格式少了很多

在WIN11系统里面新安装的22和23版本PS会出现另存格式少的情况 解决方式:编辑——首选项——文件处理——开启旧版储存为 解决

uni-app 集成推送

研究了几天,终于是打通了uni-app的推送,本文主要针对的是App端的推送开发过程,分为在线推送和离线推送。我们使用uni-app官方推荐的uni-push2.0。官方文档 准备工作:开通uni-push功能 勾选uniPush2.0点击"配置"填写表单…

R语言实现免疫浸润分析(2)

原始数据承接免疫浸润分析&#xff08;1&#xff09;&#xff0c;下面展示免疫浸润结果&#xff1a; #直接使用IOBR包内的cell_bar_plot pic<-cell_bar_plot(input quantiseq_immo_de[1:20,], title "quanTiseq Cell Fraction") #使用ggplot2 library(ggplot2)…

BUUCTF pwn1_sctf_2016解题思路

题目代码 Welcome to index.php <?php //flag is in flag.php //WTF IS THIS? //Learn From https://ctf.ieki.xyz/library/php.html#%E5%8F%8D%E5%BA%8F%E5%88%97%E5%8C%96%E9%AD%94%E6%9C%AF%E6%96%B9%E6%B3%95 //And Crack It! class Modifier {protected $var;publi…

数据通信——网络层(IS-IS)

引言 其实按道理讲&#xff0c;应该开始传输层了&#xff0c;后续的话网络层再补充就好了。不过网络层还有几种协议——IS-IS、EIGRP、BGP。所以还是一边准备整理传输层的知识&#xff0c;顺带把路由协议补充完了吧&#xff01; 这个“破协议”之前在网上重新复习和查资料&…

Maven - 统一构建规范:Maven 插件管理最佳实践

文章目录 Available Plugins开源项目中的使用插件介绍maven-jar-pluginmaven-assembly-pluginmaven-shade-pluginShade 插件 - 标签artifactSetrelocationsfilters 完整配置 Available Plugins https://maven.apache.org/plugins/index.html Maven 是一个开源的软件构建工具&…

运维监控学习笔记9

2、画出拓扑图的小案例&#xff1a; 3、在连接的线上显示网络流量&#xff0c;使用了一个简单的公式&#xff1a; {nginx-server:net.if.out[ens33].last(0)} 4、在screens中显示nginx的状态页面&#xff1a; 5、zabbix报警&#xff1a; 发送邮件的选项。Email可以使用&#xf…

win系统部署Apollo-quick-start-2.1.0

win系统部署Apollo-quick-start-2.1.0 携程Apollo配置中心&#xff0c;官方部署包里提供了2个sql文件&#xff0c;需要刷入数据库。之后修改demo.sh里的数据库配置,最后使用git bash启动demo.sh刷sql脚本 官方部署包里提供了2个sql文件 修改demo.sh文件 使用git bash启动demo…

HotSpot虚拟机之字节码执行引擎

目录 一、栈帧 1. 栈帧结构 2. 基于栈的解释执行过程 二、方法调用 1. 方法调用指令 2. 分派 三、动态类型语言 四、参考资料 一、栈帧 1. 栈帧结构 栈帧是Java虚拟机栈进行方法调用和执行的数据结构&#xff0c;是方法最基本的执行单元&#xff0c;是栈的元素。一个栈…

文件操作 和 IO

目录 ​编辑一、认识文件 1、文件路径 2、其它知识 二、Java 中操作文件 三、文件内容的读写 1、Reader 2、InputStream 3、输出 一、认识文件 文件是在硬盘上存储数据的一种方式&#xff0c;操作系统帮我们把硬盘的一些细节都封装起来了 我们只需要了解文件相关的一些…

stack+queue

适配器 介绍 在C的标准模板库&#xff08;STL&#xff09;中&#xff0c;有几种适配器&#xff0c;它们是一些容器或函数对象的包装&#xff0c;提供了不同的接口和功能&#xff0c;用于适应特定的需求 分类 STL中的适配器可以分为两类&#xff1a;容器适配器和迭代器适配器 容…

PHP自己的框架实现function引入和dump函数(完善篇一)

1、实现效果 2、创建三个function.php 3、文件加载&#xff08;KJ.php&#xff09; 定义目录 define("FILE_PATH",KJ_CORE./file); //定义框架文件路径define("COMMON_PATH",ROOT_PATH./common); //定义公共目录 加载文件 public static function run(){…

一种多策略下RabbitMQ的延时队列实现

1.为什么会用到延时队列? 场景: 最近在开发一款系统中遇到这样一个场景,A系统开通套餐需要把套餐信息以邮件的形式发送给相关工作人员,经过人工审核通过后,在B系统里面开通,A系统会调B系统套餐列表接口查询套餐是否开通成功,开通成功则从A系统去完成订单,假如超过设定时间未开…