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

蓝桥杯零基础到获奖-第4章 C++ 变量和常量

蓝桥杯零基础到获奖-第4章 C++ 变量和常量


文章目录

  • 一、算术操作符
    • 5.1 算术操作符
    • 5.2 浮点数的除法
    • 5.3 负数取模
    • 5.4 数值溢出
    • 5.5 练习
  • 练习4:整数⼗位
  • 练习5:时间转换


一、算术操作符

5.1 算术操作符

在写代码时候,⼀定会涉及到计算。为了⽅便运算,提供了⼀系列操作符,其中有⼀组操作符叫:算
术操作符。分别是: + - * / % ,这些操作符都是双⽬操作符。

注:操作符也被叫做:运算符,是不同的翻译,意思是⼀样的。

#include <iostream>
using namespace std;
int main()
{int a = 7 + 2; //加法运算int b = 7 - 2; //减法运算int c = 7 * 2; //乘法运算int d = 7 / 2; //除法运算,得到的是整除后的商int e = 7 % 2; //取余运算,得到的是整除后的余数cout << a << endl;cout << b << endl;cout << c << endl;cout << d << endl;cout << e << endl;return 0;
}

易错点:
/ 除法的操作符,除数不能为0,如果除数为0,程序会崩溃的。
• % 取模操作符的计算结果是两个操作数进⾏除法运算后的余数。

取模操作符的操作数只能是整型,不能是浮点型,这个编译器会报语法错误的。

#include <iostream>
using namespace std;
int main()
{int a = 10;int b = 0;int c = a / b;float d = 6.0;float e = d % 2;return 0;
}

5.2 浮点数的除法

#include <iostream>
using namespace std;
int main()
{float x = 6 / 4;cout << x << endl; // 1float y = 6.0 / 4; // 6/4.0结果是⼀样的cout << y << endl; // 1.5return 0;
}	

上⾯⽰例中,尽管变量 x 的类型是 float (浮点数),但是 6 / 4 得到的结果是 1.0 ,⽽不是
1.5 。原因就在于 整数除法是整除,只会返回整数部分,丢弃⼩数部分。
如果希望得到浮点数的结果,两个运算数必须⾄少有⼀个浮点数,这时就会进⾏浮点数除法。

5.3 负数取模

• 负数也是⽀持取模的,但是负数求模结果的正负号由第⼀个运算数(操作数)的正负号决定。

#include <iostream>
using namespace std;
int main()
{cout << 11 % -5 << endl; // 1cout << -11 % -5 << endl; // -1cout << -11 % 5 << endl; // -1return 0;
}

5.4 数值溢出

前⾯我们了解到数据类型都有对应的数值范围,⽽在实际运算过程中可能会存在加法操作导致数据范围超过当前数据类型规定的范围,如下:

#include <iostream>
using namespace std;
int main()
{char a = 'Z';char b = a + 'Z';cout << b << endl; // 输出了不显⽰的内容//printf是格式化输出,后⾯章节会讲,这⾥暂不做讲解printf("%d", b); // -76,char的⼗进制内容return 0;
}

以 char 类型为例, char 的数值范围在 -128 ~ 127 ,当字符相加超过最⼤值后,打印出来的结果会变成负数,这与数据的存储有关

这里打印出来为什么是-76呢?

可以先看一下下面的图帮助理解
在这里插入图片描述
可以看到127+1就变成-128了这里就是一个环
在这里插入图片描述
那么就可以知道这个-76就是

Z的as码是90俩个就是90+90=180

180-127=53,那么127+1就是-128了,那么就是
180-127-1 = 52
-128 + 52 = -76 就是这么来的


5.5 练习

练习1:计算(a+b)*c
https://www.luogu.com.cn/problem/B2008

#include<bits/stdc++.h>
using namespace std;
int main()
{int a,b,c;cin>>a>>b>>c;cout<<(a+b)*c;return 0;}

练习2:带余除法
https://www.luogu.com.cn/problem/B2010

#include<bits/stdc++.h>
using namespace std;
int main()
{int a,b;cin>>a>>b;cout<<a/b<<" "<<a%b;return 0;
}

练习3:整数个位
https://ac.nowcoder.com/acm/problem/21990

#include<bits/stdc++.h>
using namespace std;
int main()
{int num;cin>>num;cout<<num % 10 ;}

练习4:整数⼗位

https://ac.nowcoder.com/acm/problem/21991

#include<bits/stdc++.h>
using namespace std;
int main()
{int num;cin>>num;cout<<num / 10 % 10;return 0;
}

练习5:时间转换

https://ac.nowcoder.com/acm/contest/18839/1031

#include<bits/stdc++.h>
using namespace std;
int main()
{int seconds;cin>> seconds;cout<< seconds / 60 / 60 << ' ' <<  seconds / 60 % 60 << ' ' << seconds % 60 ;}

http://www.dtcms.com/a/594806.html

相关文章:

  • AI芯片产品经理操作手册
  • 教做甜品网站源码网站建设教程
  • 大型门户网站有哪些企业网站建设存在的问题
  • wordpress微信拦截青岛关键词优化排名
  • 电源模块冲击电流测试如何测试,需要哪些设备?-纳米软件
  • 广告网站建设制作设计c2c的网站
  • 【MicroPython编程-ESP32篇】-BME680传感器驱动
  • 电脑上制作网站的软件手机端网站建设教程视频教程
  • 网站qq代码做电商网站用什么语言
  • Docker容器的一次迁移
  • Android Studio移动应用基础教程(前言)
  • 莱芜网站建设流程网站备案号没有-1
  • 哪些网站收录排名好建立网站的申请
  • 建设银行网站登录不了目前较流行的网站开发框架
  • 创建web项目踩坑记录
  • 自己服务器做网站服务器备案1个人做多网站负责人
  • 燃烧100克脂肪换算多少卡路里?
  • idea做网站贵州省住房和城乡建设网站
  • 网站建设前期应该做哪些准备wordpress 多媒体 权限
  • 网站开发word文档安卓手机app制作
  • 【论文研读】NASA-TLX(任务负荷指数)研发报告总结
  • 搭建个网站多少钱有需要网站建设网站推广请找我
  • 中山网站建设推广有创意做网站找投资
  • ps软件网站有哪些功能建设部网站官工程质量手册
  • 关于vue3
  • ESD(Electrostatic Discharge,静电放电)
  • 做网站视频图片加载不出来游戏网页设计教程
  • 网站建设项目验收意见wordpress更改图标
  • 做网站还需要服务器吗做网站前需要做哪些事情
  • 重庆快速排名保定关键词优化平台