它来啦 ! 这就是你们想要的C++吗?

Posted 一去丶二三里

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了它来啦 ! 这就是你们想要的C++吗?相关的知识,希望对你有一定的参考价值。

C++语言具有以下特点:

1.C++是C语言的超集。它既保持了C语言的简洁、高效和接近汇编语言等特点,又克服了C语言的缺点,其编译系统能检查更多的语法错误,因此,C++比C语言更安全。

2.C++保持了与C语言的兼容。绝大多数C语言程序可以不经修改直接在C++环境中运行,用C语言编写的众多库函数可以用于C++程序中。

3.支持面向对象程序设计的特征。C++既支持面向过程的程序设计,又支持面向对象的程序设计。

4.C++程序在可重用性、可扩充性、可维护性和可靠性等方面都较C语言得到了提高,使其更适合开发大中型的系统软件和应用程序。

5.C++设计成静态类型、和C同样高效且可移植的多用途程序设计语言。

6.C++设计成直接的和广泛的支援多种程序设计风格(程序化程序设计、资料抽象化、面向对象程序设计、泛型程序设计)。

7.C++设计成给程序设计者更多的选择,即使可能导致程序设计者选择错误。

8.C++设计成尽可能与C兼容,籍此提供一个从C到C++的平滑过渡。

9.C++避免平台限定或没有普遍用途的特性。

10.C++不使用会带来额外开销的特性。

11.C++设计成无需复杂的程序设计环境。

很多同学想学好计算机编程,但是自己辛辛苦苦努力了半学期发现,自己的去年上学期学习的编程方面的知识跟没学一样,全部都忘得一干二净。那么,如果想要重新学会他,亦或者想要学好一门新的编程语言,有什么能够快速上手的办法呢?

对于高级程序员来说,学会新的编程语言有C/C++的基础的话,学好新语言两个星期左右就能得心应手,没错,他们的编程经验丰富,编程水平比较高,而我们很多新手就不能这样。当然本篇文章也是针对新手来写的。

首先,编程水平的概念有点大,我们这里约定编程水平是指代码正确性,代码的逻辑性以及代码可读性三个方面。

1、提高代码的正确性。

2、提高代码的逻辑性

3、提高代码的可读性

所谓代码的正确性是指程序在运行过程中,代码层面运行正常。也就是我们常说的代码健壮(代码健壮其实还包含业务层面)。

在本文中,我将演示如何用 C++ 在终端上实现猜谜游戏。

安装依赖关系

要跟上本文的步伐,你需要 C++ 和一个编译器。

在 Linux 上,你可以通过从你的发行版软件仓库中安装 Qt Creator IDE 来获得你所需要的一切。

在 Fedora、CentOS 或 RHEL 上:

$ sudo dnf install qt-creator

在 Debian、Ubuntu、Chromebook 或类似的系统上:

$ sudo apt install qtcreator

本文并没有使用 Qt Creator IDE,但它是一个安装你所需要的一切的简单方法,对于复杂的 C++ 项目(包括那些带有 GUI 的项目),它是一个必不可少的工具。

设置包含和命名空间

C++ 的核心语言是精简的。即使是一个简单的应用程序也需要使用额外的库。这个应用程序使用 iostream 来获得对 cout 和 cin 关键字的访问。

另外,确保程序使用 std 命名空间:

#include <iostream>

using namespace std;

这并不是绝对必要,但如果不将命名空间设置为 std,所有来自 iostream 库的关键字都需要一个命名空间前缀。例如,我不能写作 cout,而是要写作 std::cout

C++ 中的语句以分号结束。

创建一个函数

每个 C++ 应用程序至少需要一个函数。一个 C++ 应用程序的主函数必须称为 main,它必须返回一个整数(int),这符合 POSIX 的期望,即一个进程在成功时返回 0,而在失败时返回其他值。你可以通过为它提供返回类型和名称来创建一个新函数。

int main() {
 // code goes here
}

实现程序逻辑

游戏代码必须首先产生一个随机数供玩家猜测。在 C++ 中,你可以通过建立一个用于生成伪随机数的种子来实现。一个简单的种子就是当前的时间。一旦有了种子,你就可以得到一个在 1 和 100 之间的数字。通过调用 rand 函数,并设置上限值 100 来产生一个从 0 到 99 的随机数,所以无论选择了什么数字都要加 1,并将结果分配给一个名为 number 的变量。你还必须声明一个变量来保存玩家的猜测值。为了清楚起见,我称这个变量为 guess

这个示例代码还包括一个调试语句,告诉你随机数到底是什么。这对于猜测游戏来说不是很好,但它使测试速度快了很多。以后,你可以删除这一行,或者直接在行前面用 // 注释出来:

 srand (time(NULL));
 int number = rand() % 100+1;
 int guess = 0;

 cout << number << endl; //debug

增加 do-while 和 if 语句

C++ 中的 do-while 语句以关键字 do 开头,并将你希望 C++ 做的所有事情用括号括起来。用 while 关键字结束语句,后面是必须满足的条件(括号内):

do {
 // code here
} while ( number != guess );

游戏代码出现在 ifelse if 和 else 语句之间,为玩家提供提示。

首先,用 cout 语句提示玩家猜测。cout 函数将输出打印到 stdout 上。因为 cout 语句没有连着 endl(endline)函数,所以没有换行。紧接着这个 cout 语句,通过使用 cin 函数告诉 C++ 等待输入。正如你所猜测的那样,cin 等待来自 stdin 的输入。

接下来,程序进入 if 控制语句。如果玩家的猜测大于 number 变量中包含的伪随机数,那么程序就会打印出一个提示,后面是一个换行符。这就中断了 if 语句,但 C++ 仍然被困在 do-while 循环中,因为它的条件(number 变量等于 guess)还没有满足。

如果玩家的猜测小于 number 变量中包含的伪随机数,那么程序就会打印出一个提示,后面是一个换行符。这再次中断了 if 语句,但程序仍然被困在 do-while 循环中。

当 guess 等于 number 时,最终满足关键条件,触发 else 语句,do-while 循环结束,程序结束:

do {
  cout << "Guess a number between 1 and 100: ";
  cin >> guess;

  if ( guess > number) { cout << "Too high.\\n" << endl; }
  else if ( guess < number ) { cout << "Too low.\\n" << endl; }
  else {
    cout << "That's right!\\n" << endl;
    exit(0);
  } // fi
 } while ( number != guess );
return 0;
} // main

构建代码和玩游戏

你可以用 GCC 构建你的应用程序:

$ g++ -o guess.bin guess.cpp

运行二进制文件试试:

$ ./guess.bin
74
Guess a number between 1 and 100: 76
Too high.

Guess a number between 1 and 100: 1
Too low.

Guess a number between 1 and 100: 74
That's right!

成功了!

往期推荐

☞ 趣味设计模式

☞ C++ 音视频开发

☞ Qt 硬核指南

☞ 玩转 Linux

☞ GitHub 开源推荐

☞ 程序人生

关注公众号????,一起优(niu)秀(bi)!

回复「1024」,送你一份程序员大礼包。

以上是关于它来啦 ! 这就是你们想要的C++吗?的主要内容,如果未能解决你的问题,请参考以下文章

「mysql优化专题」你们要的多表查询优化来啦!请查收

最新的B站弹幕和评论爬虫,你们要的冰冰来啦!

iPad X 来啦!超级刘海你会喜欢吗?

怎样快速上手Android Studio,用它来编写APP

七夕表白小代码喜欢的拿去

《 HarmonyOS实战—可搭载在车机大屏智能手表平板电脑手机的计算器它来啦!》