C语言数据类型和变量(二)

目录

1.数据类型的取值范围

2.变量

2.1 变量的创建

2.2 变量的分类

2.3全局变量和局部变量在内存中的存储​编辑

3. 算术操作符:+ 、 - 、* 、/  、%

 3.1 + 和 -

3.2 *

3.3 /

3.4 %


1.数据类型的取值范围

每一种数据类型有自己的取值范围,也就是存储的数值的最大值和最小值的区间

如果要查看当前系统上不同数据类型的极限值:

limits.h 文件中说明了整型类型的取值范围

float.h 这个头文件中说明浮点型类型的取值范围

• SCHAR_MIN , SCHAR_MAX :signed char 的最小值和最大值。
• SHRT_MIN , SHRT_MAX :short 的最小值和最大值。
• INT_MIN , INT_MAX :int 的最小值和最大值。
• LONG_MIN , LONG_MAX :long 的最小值和最大值。
• LLONG_MIN , LLONG_MAX :long long 的最小值和最大值。
• UCHAR_MAX :unsigned char 的最大值。
• USHRT_MAX :unsigned short 的最大值。
• UINT_MAX :unsigned int 的最大值。
• ULONG_MAX :unsigned long 的最大值。
• ULLONG_MAX :unsigned long long 的最大值。

2.变量
2.1 变量的创建

 C语言中把经常变化的值称为变量,不变的值称为常量

data_type   name;
      |                 |
      |                 |
 数据类型    变量名

int age; //整型变量
char ch; //字符变量
double weight; //浮点型变量

变量在创建的时候给一个初始值(赋值),即初始化

int age = 18;
char ch = 'w';
double weight = 48.0;
unsigned int height = 100;

这种变量为局部变量,局部变量未初始化则为随机值

2.2 变量的分类

全局变量:在大括号外部定义的变量就是全局变量
  全局变量的使用范围更广,可以在整个工程的任意位置使用
局部变量:在大括号内部定义的变量就是局部变量
  局部变量的使用范围是比较局限,只能在自己所在的局部范围内使用

#include <stdio.h>
int global = 2023;//全局变量
int main()
{int local = 2018;//局部变量printf("%d\n", local);printf("%d\n", global);return 0;
}

当局部变量和全局变量同名的时候,局部变量优先使用

#include <stdio.h>
int n = 1000;
int main()
{int n = 10;printf("%d\n" n);//打印的结果是10return 0;
}

2.3全局变量和局部变量在内存中的存储

程序运行起来要在是要在内存中申请空间,内存分为三个区域:栈区堆区静态区

1. 局部变量是放在内存的栈区

2. 全局变量是放在内存的静态区

3. 堆区是用来动态内存管理的

3. 算术操作符:+ 、 - 、* 、/  、%

C语言中为了方便运算,提供了一系列操作符,其中有一组操作符叫:算术操作符。分别是: + - * \ % ,这些操作符都是双目操作符
注:操作符也被叫做:运算符

 3.1 + 和 -

+ 和 -  都是有2个操作数的,位于操作符两端的就是它们的操作数,这种操作符也叫双目操作符

#include <stdio.h>
int main()
{int x = 4 + 22;int y = 61 - 23;printf("%d\n", x);printf("%d\n", y);return 0;
}
3.2 *
#include <stdio.h>
int main()
{int num = 5;printf("%d\n", num * num); // 输出 25return 0;
}
3.3 /

除号的两端如果是整数,执行的是整数除法,得到的结果也是整数

#include <stdio.h>
int main()
{float x = 6 / 4;int y = 6 / 4;printf("%f\n", x); // 输出 1.000000printf("%d\n", y); // 输出 1return 0;
}

上面示例中,尽管变量x 的类型是float (浮点数),但是6 / 4 得到的结果是1.0而不是1.5,这是因

为C语言的整数除法是整除,只会返回整数部分,丢弃小数部分。

如果希望得到浮点数的结果,两个运算数必须至少有一个浮点数,这时 C 语言就会进行浮点数除

#include <stdio.h>
int main()
{float x = 6.0 / 4; // 或者写成 6 / 4.0printf("%f\n", x); // 输出 1.500000return 0;
}

同理:

#include <stdio.h>
int main()
{int score = 5;score = (score / 20) * 100;return 0;
}

上面的代码,你可能觉得经过运算, score 会等于25 ,但是实际上score 等于0 。这是因为score /

20 是整除,会得到一个整数值0 ,所以乘以100 后得到的也是0

为了得到预想的结果,可以将除数20 改成20.0 ,让整除变成浮点数除法。

#include <stdio.h>
int main()
{int score = 5;score = (score / 20.0) * 100;return 0;
}

3.4 %

运算符 % 表示求模运算,即返回两个整数相除的余值。这个运算符只能用于整数,不能用于浮点

1)正数求模

#include <stdio.h>
int main()
{int x = 6 % 4; // 2return 0;
}

2)负数求模

负数求模的结果的正负号由第一个运算数的正负号决定

#include <stdio.h>
int main()
{printf("%d\n", 11 % -5); // 1printf("%d\n",-11 % -5); // -1printf("%d\n",-11 % 5); // -1return 0;
}

第一个运算数的正负号( 11 或-11 )决定了结果的正负号

谢谢观看

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

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

相关文章

盘点亚马逊5大实用选品思路(图文讲解+选品案例)

一、7天蓝海选品法 市场上很多工具一般都是近30天的跨境商品数据&#xff0c;而店雷达亚马逊选品&#xff0c;可以筛选出上架近7天的亚马逊产品&#xff0c;避免在已经市场相对饱和的赛道&#xff0c;中小卖家还要挤破头去抢蛋糕。我们更应该学会在市场反馈好的新品中找到出单…

探索Vue.js的无限可能 —— vuejs-challenges

vuejs-challenges&#xff1a;挑战自我&#xff0c;共同成长&#xff0c;Vue.js挑战等你来战&#xff01;- 精选真开源&#xff0c;释放新价值。 概览 vuejs-challenges是一个专为Vue.js学习者和开发者设计的开源项目。它通过提供一系列精心设计的挑战&#xff0c;帮助参与者深…

手把手教你一步一步通过AI助手生成利润表分析报告

AI助手之利润表分析报告-操作篇 以下为文字整理部分&#xff1a; 如果要手工制作一份这样的利润分析报告大概要多久时间&#xff1f;从准备数据做成表格&#xff0c;到完成报告&#xff0c;至少需要1天的时间吧&#xff0c;特别是敲文字报告的时候&#xff0c;生怕把数字搞错要…

什么是森林防火气象站?作用?

森林防火气象站用精准的数据和先进的技术&#xff0c;守护着森林的安全。本文将带您了解其重要性、工作原理以及在森林防火中的实际应用。 一、森林防火气象站的重要性 森林火灾是森林生态系统的大敌&#xff0c;它能在短时间内烧毁大片森林&#xff0c;破坏生态平衡&#xff0…

高通平台Display显示架构

目录 一、显示整体架构二、SurfaceFlinger三、HWC四、Gralloc五、DisplayManagerService六、WindowManagerService 一、显示整体架构 二、SurfaceFlinger SurfaceFlinger是一个系统服务&#xff0c;如&#xff1a;audioflinger等等&#xff0c;这个系统服务主要实现了Surface的…

通过升级nginx完美修复nginx相关漏洞

目录 前言1 安全评估报告的漏洞信息1.1 nginx漏洞概况1.2 nginx漏洞详细信息1.3 安装的软件信息 2 问题分析3 Nginx从1.18版本升级到1.26版本的步骤与说明3.1 查看现有Nginx配置参数3.2 下载新版本Nginx3.3 配置新版本Nginx3.4 编译新版本Nginx3.5 备份旧版本Nginx的二进制文件…

github 设置中文,亲测有效

点进去 安装 选上面第二个&#xff0c;不行再选第一个 GitHub - maboloshi/github-chinese: GitHub 汉化插件&#xff0c;GitHub 中文化界面。 (GitHub Translation To Chinese)

sideloadly 苹果自签和sidestore手机续签ipa记录

sideloadly 地址&#xff1a;https://sideloadly.io/#download 直接安装对应系统软件&#xff0c;然后吧ipa 拖到里面续签&#xff0c;缺点每7天需要电脑续签 如果续签保留数据需要对应的位置开启 enable file sharing 勾选 和 bundle id 修改 注意的地方需要电脑和手机appi…

气象观测站:时刻注视着天空的变化

在广袤无垠的地球上&#xff0c;气象观测站时刻注视着天空的变化&#xff0c;记录着大自然的脉动。它们是我们理解和应对气候变化、极端天气事件的重要工具。 一、气象观测站的基本构成 气象观测站包括一系列的气象仪器和设备&#xff0c;用于测量和记录各种气象参数。这些参数…

软考《信息系统运行管理员》-2.5信息系统运维管理系统与专用工具

2.5信息系统运维管理系统与专用工具 信息系统运维管理系统功能框架 信息系统运维管理系统是站在运维管理的整体视角&#xff0c;基于运维流程&#xff0c;以服务为导向的业务 服务管理和运维管理支撑平台&#xff0c;提供统一管理门户&#xff0c;最终帮助运维对象实现信息系…

Zabbix 配置SNMP监控

Zabbix SNMP监控介绍 Zabbix提供了强大的SNMP监控功能&#xff0c;可以用于监控网络设备、服务器和其他支持SNMP协议的设备。SNMP&#xff08;Simple Network Management Protocol&#xff0c;简单网络管理协议&#xff09;是一种广泛用于网络管理的协议。它用于监控网络设备&…

CVPR 2024最佳论文分享:打破刚性的超分辨率图像处理GNN

CVPR 2024最佳论文分享&#xff1a;打破刚性的超分辨率图像处理GNN CVPR&#xff08;Conference on Computer Vision and Pattern Recognition&#xff09;是计算机视觉领域最有影响力的会议之一&#xff0c;主要方向包括图像和视频处理、目标检测与识别、三维视觉等。近期&am…

分布式数据库HBase:从零开始了解列式存储

在接触过大量的传统关系型数据库后你可能会有一些新的问题: 无法整理成表格的海量数据该如何储存? 在数据非常稀疏的情况下也必须将数据存储成关系型数据库吗? 除了关系型数据库我们是否还有别的选择以应对Web2.0时代的海量数据? 如果你也曾经想到过这些问题, 那么HBase将是…

C++: 左值引用和右值引用

目录 概念&#xff1a; 理解&#xff1a; 左值引用&#xff0c;右值引用 左值引用能否给右值取别名&#xff1f; 右值引用能否给左值取别名&#xff1f; 引用的意义是什么&#xff1f; 左值和右值对自定义类型有什么区别吗&#xff1f; move的妙用&#xff01; 没有优化…

“proxy_pass“ directive is duplicate

后面发现是nginx.conf里面proxy pass这里有两个&#xff0c;注释其中一个并重新运行即可&#xff01;

基于主流SpringBoot进行JavaWeb开发的学习路线

目录 一、学习路线 &#xff08;1&#xff09;第一部分&#xff08;Web前端开发的技术栈&#xff09; &#xff08;2&#xff09;第二部分&#xff08;Web后端开发&#xff09; 二、学习之后必备的技能 三、学习Web开发的基础与未来的收获 学完这一类知识目标&#xff1a;…

Mybatis-01 原理

一. JDBC式编程 在 jdbc 编程中&#xff0c;我们最常用的是 PreparedStatement 式的编程&#xff0c;我们看下面这个例子&#xff1b; Connection conn null; PreparedStatement ps null; ResultSet rs null;try {// 1. 注册驱动Class.forName("com.mysql.jdbc.Drive…

化身成羊:关于羊的词群探析

在西方的神话故事中&#xff0c;像主神宙斯&#xff0c;或者基督教义中的上帝&#xff0c;通常都有化身成羊的形象。 那为什么会这样呢&#xff1f; 一、什么是神话(myth)&#xff1f; 神话&#xff0c;正式的用词是 mythology&#xff1a; mythology n.神话&#xff1b;神话…

Echarts中的折线图,多个Y轴集中在左侧(在Vue中使用多个Y轴的折线图)

简述&#xff1a;在 ECharts 中&#xff0c;创建一个带有多个 Y 轴的折线图&#xff0c;并且将这些 Y 轴都集中显示在图表的左侧&#xff0c;可以通过合理配置 yAxis 和 series 的属性来实现。简单记录 一. 函数代码 drawCarNumEcs() {// 初始化echarts图表,并绑定到id为"…

网络安全设备——探针

网络安全设备探针是一种专门用于网络安全领域的工具&#xff0c;它通过对网络流量进行监控和分析&#xff0c;帮助发现和防止网络攻击。以下是对网络安全设备探针的详细解释&#xff1a; 定义与功能 定义&#xff1a;网络安全设备探针是一种设备或软件&#xff0c;它通过捕获…