![c1e3e484c7a9a511af63b1f9f0224de1.png](https://i-blog.csdnimg.cn/blog_migrate/3cf40248305751c99bcbef7dd95e28ec.png)
如果你是初学者,直接学C++可能更好一些,可以不受C的一些影响和干扰,其实任何一种编程语言之间都会造成少许的干扰,所以可以把C++当成和C完全不同的一门语言去学习。
开始学习时尽量多用标准库,少用C的指针和数组,C++最重要的是面向对象和泛型编程这两种思想。如果想买书看的话,可以看看《C++Primer》和《C++标准程序库》,绝对值得去仔细阅读和使用。
C/C++的学习,容易入门,却难以精通。学习需要有浓厚的兴趣和持之以恒的态度,坚持下去,你会发现,C/C++越学越轻松,越来越快。
再就是多动手实践,实践是检验真理的唯一标准。
另外在编写程序中要做适当的注释,C++中注释有两种方式,一种是单行注释,使用双斜杠“//”,只能注释一行,另一种是范围注释(注释对),使用/* */ ,合理的注释可以让代码更阅读起来更容易,加注释的让这些说明不会被编译。
1
上一节预留了一个作业,利用cout输出一首古诗,不知你是否练习过,今天先着重回忆一下cout。
cout 是C++中 ostream 类型的对象,该类被封装在 < iostream > 库中,该库定义的名字都在命名空间 std 中,所以 cout 全称是 std::cout 。
所以如果程序中想使用 cout ,需要包含库 < iostream > 。因为 cout 是 std 库中的一个类的对象,所以使用的方法是 std::cout ,如下:
![c1ec94395c405a8d2cd5b890ffe3c36a.png](https://i-blog.csdnimg.cn/blog_migrate/330422e530ef6e100fa99f8f03d56b48.png)
但是如果程序中频繁出现 cout ,这样的操作极为不便,所以可以使用 std 命名空间来解决。(using namespace std;)
![01989b19b62e2fe579b66711a6a66db4.png](https://i-blog.csdnimg.cn/blog_migrate/64b22f2c7bc73eeda6ce329401a4b318.png)
在C++中cin是标准输入流对象,即istream类的对象。cin主要用于从标准输入读取数据,这里的标准输入,指的是终端的键盘。一会在后面的例子中还会特别说明。
在上一篇文章中提到过输出换行可以用endl,看上面的例子中我在字符串中使用了\n也可以达到同样的效果。
2
下面我们再实际练习一道小学圆的周长和面积的计算题, 我们知道:![84e2763f61fa3a9f8810ee8629589e90.png](https://i-blog.csdnimg.cn/blog_migrate/bf30ad43212052fac4ff3a496dc4b0d4.jpeg)
3
数据类型(data type)定义了使用存储空间的(内存)的方式。 通过定义数据类型(data type),告诉特定存储空间这里要存储的数据类型是什么,以及你即将操作他的方式。在C++中有内建数据类型和抽象数据类型两种,这里咱们着重介绍内建数据类型,它是编译器可以理解的数据类型,直接与编译器关联。C++在这里几乎完全继承了C 的数据类型,也叫基本数据类型。
C++和C内部数据类型有4个基本类型。分别是:char,int, float & double 。
这四种基本类型可以再使用一个或多个说明符(specifier)进行修饰,说明符用于改变基本内建类型的含义,并把它们扩展为一个更大的集合,有以下四种:
signed(代表有符号)、unsigned(代表无符号)、short、long 因为数据类型在计算机中以二进制存储,有符号的就会占去一个比特位来表示符号位,相应的取值范围也会变小。![e9bd5a57e3e42678efbc96ee1e57c3ae.png](https://i-blog.csdnimg.cn/blog_migrate/13b925a1e229735367faa8e072ea4b05.png)
除去上面数据类似还有一种bool类型,在后面的程序编写中也是经常用到。在bool类型成为C++标准之前,每个人都在用自己的方法实现类似于bool类型的行为,但这种方式不利于可移植性。
谈到bool,大家还要熟悉两个内建常量:true(转换为整数1) & false(转换为整数0)。因为现在很多代码使用的是整型int表示一个标志,所以编译器隐式转换int为bool(非零值为true,零值为false)。
还有字符串型也需要了解一下,它用于表示一串字符。
4
在今天的学习中还要了解一下C++的变量和常量。
变量其实是程序可操作的存储区的名称。C++ 中每个变量都有指定的类型,类型决定了变量存储的大小和布局,该范围内的值都可以存储在内存中,运算符可应用于变量上。
变量的名称可以由字母、数字和下划线字符组成。它必须以字母或下划线开头。大写字母和小写字母是不同的,因为 C++ 是大小写敏感的。
C++ 中的变量定义就是告诉编译器在何处创建变量的存储,以及如何创建变量的存储。变量定义指定一个数据类型,并包含了该类型的一个或多个变量的列表,如下所示:
type variable_list;
在这里,type 必须是一个有效的 C++ 数据类型,可以是 char、wchar_t、int、float、double、bool 或任何用户自定义的对象,variable_list 可以由一个或多个标识符名称组成,多个标识符之间用逗号分隔。下面列出几个有效的声明:
int i, j, k; char c, ch; float f, salary; double d;常量是固定值,在程序执行期间不会改变。这些固定的值,又叫做字面量。常量可以是任何的基本数据类型,可分为整型数字、浮点数字、字符、字符串和布尔值。常量就像是常规的变量,只不过常量的值在定义后不能进行修改。
在 C++ 中,有两种简单的定义常量的方式,一种是使用 #define 预处理器。一种是使用 const 关键字。
5
C++中的运算符常见有算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符和其他运算符等几种,今天主要先了解下算术运算符。详见下面表格
运算符 | 描述 | 实例 |
---|---|---|
+ | 把两个操作数相加 | A + B 将得到 30 |
- | 从第一个操作数中减去第二个操作数 | A - B 将得到 -10 |
* | 把两个操作数相乘 | A * B 将得到 200 |
/ | 分子除以分母 | B / A 将得到 2 |
% | 取模运算符,整除后的余数 | B % A 将得到 0 |
++ | 自增运算符,整数值增加 1 | A++ 将得到 11 |
-- | 自减运算符,整数值减少 1 | A-- 将得到 9 |
6
我们回到上面的题目计算圆的周长和面积,这里面有一个常量就是π,小学阶段计算式一般选值为“3.14”,还有一个变量r,这个因为输入数字不同会有不同的变化。
在设定π这个常量时需要选择float 或者double类型,常量在定义时我们可以使用下面两种方式之一。
#define pi 3.14const float pi=3.14; 或者 const double pi=3.14;
在设定r这个变量时,可以自己做一下限定,比如只输入整数,或者是运行输入小数来进行不同的定义。
int r;或 float r;
思考下,假如我只想输入正整数应该怎么定义?
上面我们了解过cin负责终端键盘的标准输入,这里可以用来获取用户输入的r。
根据上面思路,我们书写下面程序:![13fe3ae301f907b07f6ec48c2bf032b1.png](https://i-blog.csdnimg.cn/blog_migrate/c7e063b4d4d9221ac7039028c98cdc8a.png)
![88c914fa6ef3a71a07486d36563e7071.png](https://i-blog.csdnimg.cn/blog_migrate/f04d5cb536098c232d4a143aa3d51e4e.png)
![b8bbffde59470e728b54a94c949ba083.png](https://i-blog.csdnimg.cn/blog_migrate/b0736227b2177d5fa318058625367c45.png)
![6989e8e0e2a06dce16e54357fa203727.gif](https://i-blog.csdnimg.cn/blog_migrate/5bbb3cb6f56116d6af6ab68891c09d60.gif)