• C++
  • 【信息学奥赛】【C++入门】2-算术运算符

  • @ 2023-7-4 15:48:01

C++提供了种类丰富的运算符,这也是C++强大的地方之一。 下面我们先来介绍一下算术运算符

一、 算术运算符

算术运算符有我们常见的加减乘除,还多了一个取余运算,也叫模运算。加减乘除和我们数学上的定义都一样,也有结合率问题。

1.模运算符

% 是模运算的标示符,是一个双目运算符,两个操作数都是整数,a%b就是a除以b的余数。例如5%2 = 1。

2.除法运算符

除在这里用“/”表示,例如 a/b。注意如果a和b 对整数的话,a/b的结果是整数(去掉小数位),例如 5/2 的结果是2,不是2.5,在这里去掉了小数的部分。5.0/2的结果是2.5,因为除数或者被除数中有一个是实数了。

3.自增自减运算符

用 ++ 和 -- 来表示,这个在以后的循环中经常用到 a++表示,先取a的值参加运算,运算完毕后a再+1; ++a表示,先将a的值+1参加运算; --运算和++是一样的道理 通过以上我们可以总结,“谁在前先用谁”,如“a++”a在前,先用a。“++a”+在前就先+1

4.复合算术运算符

例如a+=1 表示 a=a+1 其他运算符相同

二、 小例题

给你一个四位数的正整数,请将它倒置过来,如4789,倒置后变成9874。 分析: 我们可以通过除和模运算来完成 我们可以让 4789%10 = 9 //模10可以取出最后一位 再 4789/10 = 478 //除10可以去掉最后一位 继续 478%10 = 8 //模10可以取出最后一位 继续 478/10 = 47 //除10可以去掉最后一位 继续 47%10 = 7 继续 47/10 = 4 把以上数字合起来 91000 +8100+7*10 +4 = 9874

下面是以上分析过程的代码,由于我们现在还没有学到循环先用一个笨办法实现。

#include<iostream>
 
using namespace std;
 
int main()
{
	int a = 4789,b,ge,shi,bai,qian;//a是要逆转的数,b是逆转之后的数
	printf("a = %d\n",a);
	ge = a % 10;
	a /= 10;
	shi = a % 10;
	a /= 10;
	bai = a % 10;
	a /= 10;
	qian = a;
	b = ge*1000 + shi*100 + bai*10 + qian;
	
	printf("b = %d\n",b);
	 
	
	return 0;	
}

0 条评论

目前还没有评论...