用C、C++输入并计算(整数、浮点数)
距离上一次发博客已经过了很久了,很高兴的是有不少人看,同时也庆幸的是没有高手来喷我,因为我上一篇文章的标题确实和内容有些不符,这一点看完这次的博客你就会明白了,这也是我把名字改成了C、C++的原因
其实要做到这一点也是非常简单的,先把源代码放出。
C语言
#include<stdio.h>
int main()
{
int a,b;
scanf("%d%d",&a,&b);
printf("%d\n",a+b);
return 0;
}
C++的
#include<iostream>
using namespace std;
int main ()
{
int a,b;
cin >> a >> b;
cout << a+b <<endl;
return 0;
}
你们看完这两个代码的时候或许会感觉我之前欺骗了你们>﹏<,其实我之前取标题的时候没怎么在意,刚刚一想才觉得不对。
废话不多说,我现在开始讲解了。
首先,我讲解一下整数、浮点数(float),整数是什么大家都知道,但是这个浮点数是个什么鬼呢?它有什么作用呢?
你们可以以“实数”来理解这个浮点数,或者更加简单的认为,浮点数是有小数点的整数,至于它的精度是多少呢?我可以告诉你是6~7位,当然有人问要是不够用呢?计算机自然还有双精度浮点数(double)的概念,其精度在15~16位,要是还不够呢?我所知道的还有双精度长浮点数(long double)等等,总之呢,一般都用不到那么多位数的,知道就好。
代码讲解
C语言代码:
这一次的C语言代码比上一次多了不少东西,我们先来看看,int a,b;这一句声明语句,就是告诉计算机我要使用什么东西(这与计算机程序申请空间有关),int是整数的意思,就是说我声明的两个东西a和b都是整数类型的。
第二句话scanf(”%d%d”,&a,&b);这是一个输入语句,何为输入语句呢?scanf在英文是“扫描”的意思,就是说计算机,从外部扫描进了数据,就是操作者进行数据的输入,%d,是什么意思呢?是整数的意思,这一类的“%+英文”实际上都是对数字进行代替的操作,d是整数的意思,而代替它的必定是整数(输入的数字不是整数也会被强行转化为整数类型),而代替的东西就在逗号后面,a和b,而a和b前面的&,是一种指针吧,不用太过于深究,在输入东西前用就好了,以后会逐渐了解的。
第三个地方是\n,估计有不少人都不知道其意思,理论上来说呢,在printf的引号里面的东西都会原封不动的输出,但是有些是例外的,比如\n,\t之类的,\n在这里的意思就是“换行”,输出这一个东西之后就换行,\t的意思制表符,你们看自主尝试一下,这些特殊字符都是有特殊意义的,那要是我要输出\n怎么办?是不是不能够做到了呢?当然也不是的,代码如下:
#include<stdio.h>
int main()
{
printf("\\n");
return 0;
}
不知道有没有人注意到是在\n前面还多了个\,这个\的意思就是消除\n本身带有的意思,基本上多加一个\就足够用了,但是有些如%的却要加多一个%。
printf(“%%”);
这个的意思就是输出%。
在最后的printf里面,它会先运行a+b然后把结果输出,如果你直接在引号里面写a+b的话,则会直接输出a+b。
C++代码讲解:
c++本质上是从c语言优化而来的语言,所以我上面C语言的代码不仅可以在C之中运行也可以在C++中使用,而我上面摆的代码则是C++独有的。
首先的还是一个头文件
#include<iostream>
这个就不必理会了,其实它只是一个输入输出流的头文件而已。
using namespace std;
这一句呢,是跟着上面的头文件一起使用的,做一个简单的比喻,其实它就是告诉计算机我这个函数需要(命名)空间,后面的std就是标准的意思。
int a,b;
这个是和c语言完全一样的声明。
cin >> a >> b ;
这个是C++里面的输入语句。
cout << a+b << endl;
这个是C++里面的输出语句,最后面的endl是换行的意思。