每个知道电脑是什么的人(部分人知道电脑,不知道电脑是什么,例如我四年级的一些同学,不会开电脑和关电脑。叫ta开电脑,ta猛按显示器开关)都知道C和C++(除个别奇葩),知道C和C++的都知道C是C++的升级版(还是除个别奇葩)。
那么C和C++有什么不同呢?首先满足前面条件的人都知道编程分为面向过程和面向对象。但有人不理解这两个原理分别是什么意思(虽然这些人有点奇怪,但我还是讲一讲)。
面向过程以过程为主,逐步执行。例如飞行棋,在面向过程语言他就是这样的:
红方扔骰子,红方选择棋子,起飞或行走,如果碰到相同颜色的块,飞或跳,如果到了对方棋子上就吃掉它,在轮到绿方扔骰子……
面向对象以函数(模块)为主,功能划分
一个判断系统,现在该谁扔骰子了,一个行走/起飞系统,更具玩家选择的棋子进行操作,吃人系统,判断棋子有没有被吃掉,输赢系统,判断玩家有没有赢。
除了原理不同,语法也有不同,这篇文章我先讲一讲头文件。
学过C++的同学都知道,有个东西叫#include,有个东西叫iostream(虽然我更喜欢G++特有的bits/stdc++.h)合起来是:#include <iostream>如果,你不知道,那你就给我好好想想你信息技术课的时候在干什么!!!老师讲课你就在下面玩吗!!!(有些人上信息技术课时在下面玩,这种人让我很生气,因为ta对老师、电脑、BCPL、B、C、C++不够尊重!!!)我们先不管那些奇葩,在C里面,所有头文件都要加.h后缀名,例如:
#include <stdio.h>
int n;
int main () {
scanf("%d", &n);
printf("%d", n);
}
C++有些要加,有些不用加,例如:
#include <iostream>
using namespace std;
int main () {
int n;
cin >> n;
cout << n;
return 0;
}
除此之外,C++多了一句using namespace std;,如果没有了它,那么cin >> n;就要改为std::cin >> n;cout也同理。