在数学课上,我们都学过,14÷4×4=14,但是在C++中却不等于14了,这是为什么呢?

C++语言程序结构

在解决上面的问题之前,我们来看一下,C++程序是什么样子,程序都有几部分组成。下面先看一段代码。

1
2
3
4
5
6
7
#include<iostream>		//使用cin、cout,必须调用iostream库
using namespace std;	//命名空间

int main(){						//程序开始
  cout << "Hello world!" << endl;	//输出 Hello world!
  return 0;						//程序结束
}

运行结果:

Hello world!

说明

1.#include,调用iostream库,这是C++中标准输入输出库,若在程序中使用cin、cout、endl等,必须调用iostream库。

2.using namespace std;使用命令空间std,C++标准程序库(如,iostream、cstdio等)的所有标识符,都被定义在一个名为std的命名空间中。

什么是命名空间呢?大体可以理解为学校中的班级,如果在校园里面找一个叫“张三”的同学,可能找到好多同学。因为全校人太多,所以,又不能规定全学校的同学不准重名,所以,我们规定一个班级中的同学不允许重名,比如说,三年级一班张三同学,这样就能准确找到我们想找的同学。

在程序的开头也可以不先声明命名空间,则在程序中按照下述方式使用cout和endl;

1
std::cout << "Hello world!" << std::endl;

简单的数学运算

在小学一年级已经学过了加减乘除四则运算,在这里,用C++程序来实现四则运算。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
#include<iostream>		//使用cin、cout,必须调用iostream库
using namespace std;	//命名空间

int main(){						//程序开始
  cout << 1+2 << endl;	//输出 1+2 的结果
  cout << 5-3 << endl;	//输出 5-3 的结果
  cout << 3*4 << endl;	//输出 3×4 的结果
  cout << 10/2 << endl;	//输出 10÷2 的结果
  return 0;						//程序结束
}

运行结果:

3
2
12
5

再来一个加减乘除混合运算程序。

1
2
3
4
5
6
7
8
#include<iostream>		//使用cin、cout,必须调用iostream库
using namespace std;	//命名空间

int main(){						//程序开始
  cout << 1+3*5 << endl;	//输出 1+3×5 的结果
  cout << 10-4/2 << endl;	//输出 10-4÷2 的结果
  return 0;						//程序结束
}

运行结果:

16
8

综上可见,C++运算符的计算优先级也是先乘除后加减,这和数学课上学习的内容完全一样。

【题目】有14个苹果,平均分给4个同学,每人分几个?还剩几个?

14÷4 = 3……2(个) 每人分3个,还剩2个。

1
2
3
4
5
6
7
#include<iostream>		//使用cin、cout,必须调用iostream库
using namespace std;	//命名空间

int main(){						//程序开始
  cout << 14-14/4*4 << endl;	//输出 14-14÷4×4 的结果,根据数学知识,应该等于0
  return 0;						//程序结束
}

运行结果:

2

根据数学课上学习的知识,14-14÷4×4 = 0,可是C++程序的运行结果是2,这是为什么呢?这是因为在C++中整数相除后,结果仍然为整数(舍掉小数部分),所以程序中14/4=3,3*4=12,14-12=2 ,实际上程序中的这个算式是求解14÷4的余数。

在C++ 中,有一个运算符专门用来求余数的,它就是“%”,14%4=2。

1
2
3
4
5
6
7
#include<iostream>		//使用cin、cout,必须调用iostream库
using namespace std;	//命名空间

int main(){						//程序开始
  cout << 14%2 << endl;	//输出 14÷4 的余数
  return 0;						//程序结束
}

运行结果:

2

在C++中,怎么才能让14-14÷4×4 =0呢,那就是把14写成14.0。为什么是这样?我们后面变量类型的时候再来介绍。

刚开始学习C++语言的时候,一定要自己多写几遍代码,将代码的基本结构牢记于心。

image