C语言入门 Day_5 四则运算

目录

前言

1.四则运算

2.其他运算

3.易错点

4.思维导图


前言

图为世界上第一台通用计算机ENIAC,于1946年2月14日在美国宾夕法尼亚大学诞生。发明人是美国人莫克利(JohnW.Mauchly)和艾克特(J.PresperEckert)

计算机的最开始的功能就是用来计算的,今天我们就开始学习计算机的计算语法。

 首先是数学中最基础的四则运算加减乘除,我们来看看在C语言中如何实现这些计算吧!

1.四则运算

 C语言中的加减乘除四种符号分别用+,-,*,/这四个符号表示,加减符号和数学中一样,而乘除则分别是星号*和斜杠符号/来表示。

让我们来认识一下这四个符号:

1+1
4.0-2.0
3*5
10/2

1.+,整型的加法

2.-,浮点型的减法

3.*,整型的乘法

4./,整型的除法

我们可以直接在格式化输出里面,打印计算的结果:

printf("计算的结果是%d",1+1);

1.%d,整型的替代符号

2.1+1的加法运算

3.加法符号

1.1-我们利用格式化输出直接打印输出一下15+85的运算结果:

printf("15+85的结果是%d",15+85);

输出结果

15+85的结果是100

1.2-同样我们也可以把计算结果赋值给变量,然后打印变量的值:

int answer=1;
answer=10-5;
printf("%d\n",answer);

1.定义一个变量answer,并赋值1

2.计算10-5的结果,并赋值给变量answer

3.打印变量answer的值

1.3-我们先给一个变量answer赋值一个计算的结果(99-77),然后打印这个变量:

int answer=99-77;
printf("%d\n",answer);

输出结果

22

1.4-乘法也是一样的,我们来输出一个乘法的结果:

printf("%d\n",9*9);

输出结果

81

比如这张图           

C语言中整型的加法,减法,和我们数学是一模一样的,从计算结果到计算符号

乘法的计算结果是一样的,但是计算符号不一样,数学中是x,C语言中是*

但除法很不一样,对于计算结果来说,两个整型的除法结果,不管是否能整除,结果都是一个整型。

如果除不尽有小数部分,C语言会直接舍弃,比如5除以2的结果是2.5,但是C语言中舍弃了小数部分,结果就是2,以及除法的符号是/

1.5-例如  打印一下10除以3的结果:

printf("%d\n",10\3);

输出结果

3

1.6-又如图

上面的四则运算都是针对整型int的,两个整型的四则运算结果是一个整型

而两个浮点型float的四则运算结果则是一个浮点型

1.7-.我们来看看浮点型float的四则运算结果:

float number_a=3.0-2.0;
printf("%f",number_a);
printf("f",5.5-3.14);

1.定义一个浮点型的变量

2.格式化输出一个浮点型

3.四则运算符号

1.8-我们直接打印一下两个浮点型的计算结果2.0*5.0:

printf("%.2f\n",2.0*5.0)

输出结果

10.00

1.9-.再计算一下浮点型的除法(5.0/2.0):

printf(".2%f\n",5.0\2.0);

输出结果

2.50

可以看到两个浮点型的除法结果,是一个浮点型,不会丢弃小数部分。但是最终显示几位小数也需要你保留到哪一位,例如值保留两位,就使用%.2f

整型和浮点型的混合计算结果会转化成一个浮点型,这个我们后天的课程会详细展开,这里只需要提前有个印象。

 除了四则运算,我们还会介绍三种C语言中常见的运算,它们分别是,取模(取余)%,自增++,自减--

2.其他运算

在整数的除法中,除不尽的时候会有余数,在编程中直接求余数的运算叫做求余运算,或者取模运算。

运算符号是%

2.1-比如这里,10和3的余数就是1,10和4的余数就是2:

printf("%d\n",10%2);
printf("%d\n",10%3);

输出结果

2
1

这个运算符应用是非常广泛的,比如我们想要把用户分为两组,最简单的办法就是对用户id进行2的取余数,结果只会有0和1,这样就很快分成两组了😁。

第二个要介绍的符号是++,又叫自加运算符,它的作用是让变量的数字增加1,比如一个变量是10,进行++运算以后,就变成了11。

2.2-定义一个变量,并进行++运算:

int num_a=10;
num_a++;
printf("%d\n",num_a);

1.定义变量并赋值

2.变量num_a

3.自增运算符++

4.打印运算以后的结果,11

我可以看到num_a的值本来是10,经过num_a++以后,num_a的值变成了11,这就是自增运算符的作用。

自增运算符会在后面的一种叫做循环的代码结构中广泛使用。

2.3-比如:

int number_b=1;
num_b++;
printf("%d\n",num_b);

输出结果

2

有自增运算符++,就有自减运算符--,它的作用是让变量的数字减少1。

比如一个变量是10,进行--运算以后,就变成了9。

2.4-定义一个变量并赋值,然后执行自减运算

int number_c=10;
num_c--;
printf("%d\n",num_C);

1.定义变量并赋值

2.变量名num_c

3.自减运算符

4.打印输出变量的值

2.5-填入变量和自减运算符:

int number_c=10;
num_c--;
printf("%d\n",num_C)

输出结果

9

我可以看到num_c的值本来是10,经过num_c--以后,num_c的值变成了9,--就是自减运算符,它的作用就是让自己的数字自减少1

 四则运算的四个符号(加减乘除),和其他运算的三个符号(取模,自增,自减),这七个符号合在一起,就是C语言中的七个算术运算符了。

运算符又叫操作符,英文是operator,他们会对数据进行操作和运算。比如今天学习的七个操作符,要么是直接操作变量,要么是对常量进行运算。

3.易错点

 eg:

整型的除法运算结果若含有小数,则会被直接舍弃,只保留整数部分。

除号的符号是斜杠/

反斜杠被用于换行符\n中。

4.思维导图

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

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

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

相关文章

代码随想录第四十四天

代码随想录第四十四天 Leetcode 518. 零钱兑换 IILeetcode 377. 组合总和 Ⅳ Leetcode 518. 零钱兑换 II 题目链接: 零钱兑换 II 自己的思路:想不到,忘记这个递推公式了!!!而且初始化也要值得注意! 正确思路:由于这个…

js数组学习(ES6+)

文章目录 js(ES6)数组学习1.Array.prototype.forEach(fn)2.Array.prototype.map(fn)3.Array.prototype.filter(fn)4.Array.prototype.reduce(fn)5.Array.prototype.some(fn) every6.Array.prototype.find(fn)7.Array.prototype.includes(item) js(ES6)数组学习 1.Array.protot…

kube-prometheus 系列3 使用 blackbox-exporter 进行 icmp 和 http 监控

安装kube-prometheus 后默认在monitoring namespace中有创建 blackbox-exporter deployment。但默认没有icmp的module配置,无法执行ping探测。因为即使有icmp module,默认配置也是无法执行ping探测的(这篇文章要解决的就是这个问题&#xff0…

CentOS 7 下 Keepalived + Nginx 实现双机高可用

CentOS 7 下 Keepalived Nginx 实现双机高可用 文章目录 CentOS 7 下 Keepalived Nginx 实现双机高可用服务器准备服务信息服务架构 服务安装nginxKeepalived 服务配置nginxKeepalived 启动服务nginxkeepalived 服务验证查看 VIP 状态CURL 命令访问浏览器访问 高可用验证停止…

146. LRU 缓存

题目描述 请你设计并实现一个满足 LRU (最近最少使用) 缓存 约束的数据结构。 实现 LRUCache 类: LRUCache(int capacity) 以 正整数 作为容量 capacity 初始化 LRU 缓存int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,否…

vue+springboot 前后端分离 上传文件处理后再下载,并且传递参数

vue代码 <template><div><input type"file" ref"fileInput" accept".json"/><el-button click"upload">上传</el-button></div> </template><script> export default {name: "…

【第二阶段】kotlin的lambda学习

匿名函数lambdm表达式 1.两数相加 fun main() {//匿名函数lambda表达式//两数相加 等价&#xff1a;val addResult:(Int,Int)->String{a,b->"两数相加结果&#xff1a;${ab}"}val addResult{a:Int,b:Int->"两数相加结果${ab}"}println(addResul…

Stable Diffusion WebUI 从零基础到入门

本文主要介绍Stable Diffusion WebUI的实际操作方法&#xff0c;涵盖prompt推导、lora模型、vae模型和controlNet应用等内容&#xff0c;并给出了可操作的文生图、图生图实战示例。适合对Stable Diffusion感兴趣&#xff0c;但又对Stable Diffusion WebUI使用感到困惑的同学&am…

CSS变形与动画(二):perspctive透视效果 与 preserve-3d 3d效果(奥运五环例子)

文章目录 perspective 3d透视效果preserve-3d 3d嵌套效果例子 奥运五环 backface-visibility 背面效果 perspective 3d透视效果 perspective 指定了观察者与 z0 平面的距离&#xff0c;使具有三维位置变换的元素产生透视效果。z>0 的三维元素比正常大&#xff0c;而 z<0 …

试岗第一天问题

1、公司的一个项目拉下来 &#xff0c;npm i 不管用显示 后面百度 使用了一个方法 虽然解决 但是在增加别的依赖不行&#xff0c;后面发现是node版本过高&#xff0c;更换node版本解决。 2、使用插件动态的使数字从0到100&#xff08;vue-animate-number插件&#xff09; 第一…

ChatGPT or BingChat

你相信我们对大模型也存在「迷信权威」吗&#xff1f; ChatGPT 的 GPT-4 名声在外&#xff0c;我们就不自觉地更相信它&#xff0c;优先使用它。但我用 ChatALL 比较 AI 大模型们这么久&#xff0c;得到的结论是&#xff1a; ChatGPT GPT-4 在大多数情况下确实是最强&#xf…

插入、希尔、归并、快速排序(java实现)

目录 插入排序 希尔排序 归并排序 快速排序 插入排序 排序原理&#xff1a; 1.把所有元素分为两组&#xff0c;第一组是有序已经排好的&#xff0c;第二组是乱序未排序。 2.将未排序一组的第一个元素作为插入元素&#xff0c;倒序与有序组比较。 3.在有序组中找到比插入…

Linux 内核内存管理 page_address 函数

文章目录 一、page_address1.1 page_address1.2 page_to_pfn1.3 PFN_PHYS1.4 __va(x)1.5 总结1.6 page_to_virt 二、使用demo 一、page_address 1.1 page_address 内核用 struct page 结构体来表示系统中的每个物理页面&#xff0c;该结构体用来跟踪和管理这些物理页面的使用…

MySQL面试题一

MySQL 索引使用有哪些注意事项呢&#xff1f; 可以从两个维度回答这个问题&#xff1a; 索引哪些情况会失效&#xff0c;索引不适合哪些场景 索引哪些情况会失效 查询条件包含or&#xff0c;会导致索引失效。隐式类型转换&#xff0c;会导致索引失效&#xff0c; 例如age字…

Idea的基本使用带案例---详细易懂

一.idea是什么 有专业人士说&#xff0c;idea是天生适合做微软&#xff0c;当时我还想肯定是夸大其词了&#xff0c;但当你用起来的时候确实很爽&#xff0c;&#x1f60a;&#x1f60a; ntelliJ IDEA是一种集成开发环境&#xff08;IDE&#xff09;&#xff0c;由JetBrains开发…

后仿知识总结

基本词语的概念&#xff1a; &#xff08;1&#xff09;Place&Routing pr&#xff0c;布局布线 sdf基础概念&#xff1a; 静态时序分析圣经翻译计划——附录B&#xff1a;SDF&#xff08;上&#xff09; - 知乎 (zhihu.com) 静态时序分析圣经翻译计划——附录B&#x…

继承和多态C++

这里写目录标题 继承public、protected、private 修饰类的成员public、protected、private 指定继承方式改变访问权限 C继承时的名字遮蔽问题基类成员函数和派生类成员函数不构成重载C基类和派生类的构造函数构造函数的调用顺序基类构造函数调用规则 C基类和派生类的析构函数C多…

MTK Android隐藏NavigationBar

安卓MTK屏蔽NavigationBar, 在SDK中通过搜索关键字修改&#xff0c;可适用大部分MTK及安卓版本&#xff0e; 方法介绍 搜索device/mediatek与device/mediateksample下的.xml把config_showNavigationBar值置为false 如下为搜索指令 find device/mediatek -name “*.xml” | xa…

系统架构师---开发方法---敏捷开发

目录 前言 极限编程 四大价值观 沟通 简单 反馈 勇气 尊重&#xff1a; 十二个最佳实践 计划游戏 小型发布 隐喻 简单设计 测试先行 重构 结对编程 集体代码所所有制 持续集成 每周工作40小时 现场客户 编码标准 前言 2001年2月&#xff0c;在美国的犹他州…

Grafana展示k8s中pod的jvm监控面板/actuator/prometheus

场景 为保障java服务正常运行&#xff0c;对服务的jvm进行监控&#xff0c;通过使用actuator组件监控jvm情况&#xff0c;使用prometheus对数据进行采集&#xff0c;并在Grafana展现。 基于k8s场景 prometheus数据收集 配置service的lable&#xff0c;便于prometheus使用labl…