C++教程(1)——准备学习C++

前言(看不懂的地方可以跳过)


说起编程,大概还有很多人能想起C语言(简称C)的#include <stdio.h>吧?

可是,C语言的输入/输出函数printf()和scanf(),需要指定格式,scanf()还要传递地址,而且遇到不认识的东西就无法工作了,这些东西能令人满意吗?显然是不能的。

C++在C的基础上,新增了很多特性,例如引用变量和类,等等。一般来说,C是一种底层的语言(低级,low-level),而C++是高级语言。

还要说一个重要的地方:C++完全兼容C,也就是说,可以用C++写C的代码,例如printf()函数。虽然如此,也不能过分的使用C++写C代码。但是C不能兼容C++。

本教程的目的在于让大家学习C++,而且是正确的C++,而不是“C风格”的C++。(现在网上有些人说他们写的是C++,然而实际上写的却几乎是C语言。)本教程主要介绍C++98/03和C++11标准,虽然现在已经有C++14标准了。

最后说一下C和C++的创始时间:C是1972年,C++是1983年。

声明:本教程的大部分代码来自《C++ primer plus 6》。


准备学习C++


在选择编译器之前,我们先了解一些C++术语:

C++术语术语的意思
面向对象编程(OOP)一种与C语言面向过程编程相对的编程方法。OOP首先设定类,准确表述了程序要处理的东西。例如C++标准输入/输出使用
C++98C++标准第一版,1998年获得ISO、IEC和ANSI批准的C++国际标准,也叫做ISO/IEC 14882:1998,添加了异常、RTTI和STL。C++98标准篇幅接近800页。
C++03C++标准第二版,2003年发布,对第一版进行了整理(修订错误,减少多义性等),但没有改变语言特性
C++11C++2011年8月制定的新标准,一次大更新,增加许多特性,消除不一致性。(C++11也曾被称为C++0x,最初预期x为7或8,幸运的是,可将0x视为16进制数,于是2015年前完成该标准就可以了。)C++11标准篇幅长达1350页。
ANSI CC语言新标准,1983年提出,对C语言进行标准化。
K&R C在ANSI C出现之前,C标准基于Kernighan和Ritchie编写的《The C Programming Language》一书,通常被称为K&R C。ANSI出现后,K&R C也叫做经典C(Classic C)。
C991999年对C语言的更新
STL模板和标准模板库
I/O输入/输出(input/output)
(请记住这些术语。下文中会出现。)

C++文件的扩展名可以是cpp, cxx, cc, cp, c++, c或C。一般来说,.c是C文件扩展名,.C是UNIX下的C++扩展名(UNIX区分大小写)。一般C++的扩展名是.cpp。

接下来需要做的事情是选择一个C++编译器。建议大家找支持C++11的编译器,例如Windows的Visual Studio 2012或更高,g++ 4.8,Clang 3.3等等。但这些编译器也不是完全支持C++11,所以应尽量用更高版本。现在网上还有人说VC6.0好,可是这个编辑器并不支持C++11。

最后再说一点:有些编译器在程序执行完毕后会立即关闭窗口,而有一些不会。如果不会,可能会出现下面的字样:

press any key to continue

如果是简体中文版的则会显示:

请按任意键继续...

但并不是每一种编译器都会保持窗口打开。如果编译器执行完程序后会立即关闭窗口,请在程序结尾处添加以下代码(当然要在main()函数的return语句之前):

cin.get();
有些程序需要两条这样的语句:

cin.get();
cin.get();
这样程序执行到结尾处,会等待用户输入,但必须要在用户按下Enter之后,输入才会被发送给程序。

以后也会讲到下面的这条语句:

system("pause");

(要使用这条命令,需要包含头文件cstdlib,老式文件为stdlib.h。)这条语句将会提示press any key to continue之类的东西。

最后一点就是程序的运行。在windows下,运行程序时会显示一个黑色的窗口(叫做命令行窗口),而信息将会显示在这个窗口上(用白色的字)。像下面这样:


====================第1章 完====================

====================TO BE CONTINUED====================

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值