C ++基础(一)

入门-C ++编译器
在开始使用C ++之前,您要做的第一件事就是确保您具有编译器。您问什么是编译器?编译器将您编写的程序转换为计算机可以实际理解和运行的可执行文件。如果您正在上一门课程,那么您的学校可能会提供一门课程。

如果您还没有这样做,请继续进行设置,然后在本教程的其余部分中都将需要它。 如果您使用的是Windows,建议您将Code :: Blocks与MinGW配合使用。如果您使用的是Linux,则可以使用g ++;如果您使用的是Mac OS X,则可以使用XCode。
C ++语言简介
C ++程序是命令的集合,这些命令告诉计算机执行“某些操作”。该命令集合通常称为C ++源代码, 源代码或仅称为代码。命令是“功能”或“关键字”。关键字是语言的基本构建块,而实际上,函数通常是用更简单的函数编写的-您将在下面的第一个程序中看到它。(感到困惑吗?想起来有点像一本书的大纲;大纲可能会显示书中的每一章;每一章可能都有自己的大纲,由各节组成。每一节可能都有自己的大纲,或者可能有全部记录的细节。)幸运的是,

但是,程序实际上是如何启动的?C ++中的每个程序都有一个函数,始终命名为main,该函数在程序首次执行时始终被调用。从主要,您还可以调用其他函数,无论它们是由我们编写的还是由编译器提供的(如前所述)。

那么,您如何访问这些预先编写的功能?要访问编译器随附的那些标准函数,请在#include指令中包含标头。这实际上是将标头中的所有内容都粘贴到您的程序中。让我们看一个工作程序:

#include <iostream>
 
using namespace std;
 
int main()
{
  cout<<"HEY, you, I'm alive! Oh, and Hello World!\n";
  cin.get();
}

让我们看一下程序的元素。#include是一个“预处理程序”指令,它告诉编译器在实际创建可执行文件之前将代码从名为iostream的标头放入我们的程序中。通过包含头文件,您可以访问许多不同的功能。例如,cout函数需要iostream。包含之后是语句“ using namespace std;”。这行代码告诉编译器使用一组功能,这些功能是标准库(std)的一部分。通过在文件顶部包含此行,您可以允许程序使用诸如cout之类的功能。分号是C ++语法的一部分。它告诉编译器您正处于命令末尾。稍后您将看到分号用于结束C ++中的大多数命令。

下一个重要的行是int main()。这行告诉编译器,有一个名为main的函数,并且该函数返回一个整数,因此为int。“花括号”({和})表示功能和其他代码块的开始和结束。您可以将它们视为BEGIN和END。

该程序的下一行可能看起来很奇怪。如果您使用其他语言编程,则可能希望打印将成为显示文本的功能。但是,在C ++中,cout对象用于显示文本(发音为“ C out”)。它使用<<符号(称为“插入运算符”)来指示要输出的内容。cout <<会导致函数调用,随后的文本将作为函数的参数。引号告诉编译器您想按原样输出文字字符串。实际上,“ \ n”序列被视为代表换行符的单个字符(我们将在后面详细讨论)。它将屏幕上的光标移动到下一行。再次注意分号:在C ++中,它被添加到大多数行的末尾,例如函数调用。

下一个命令是cin.get()。这是另一个函数调用:它读入输入并期望用户按下返回键。许多编译器环境将打开一个新的控制台窗口,运行该程序,然后关闭该窗口。该命令使该窗口保持关闭状态,因为该程序尚未完成,因为它等待您按下Enter键。包括该行使您有时间查看程序运行。

到达main的结尾(右括号)后,我们的程序将向操作系统返回值0(以及整数,因此我们告诉main返回int的原因)。此返回值很重要,因为它可以用来告诉OS我们的程序是否成功。返回值0表示成功,并且会自动返回(但仅对于main函数而言,其他函数需要您手动返回一个值),但是如果我们想返回其他值(例如1),则必须使用return来完成陈述:

#include <iostream>
 
using namespace std;
 
int main()
{
  cout<<"HEY, you, I'm alive! Oh, and Hello World!\n";
  cin.get();
 
  return 1;
}

最后的括号关闭功能。您应该尝试编译该程序并运行它。您可以将代码剪切并粘贴到文件中,然后将其另存为.cpp文件。实际上,我们的Code :: Blocks教程将带您创建一个简单的程序,因此请检查一下是否感到困惑。

如果您不使用Code :: Blocks,则应阅读编译器说明,以获取有关如何进行编译的信息。
一旦您的第一个程序运行起来,为什么不尝试使用cout函数来习惯于编写C ++?

除了评论程序
在学习编程的同时,您还应该开始学习如何解释您的程序(如果没有其他人,请自己解释)。您可以通过在代码中添加注释来实现。我将经常使用它们来帮助解释代码示例。

当您告诉编译器一段文本是注释时,它将在运行代码时将其忽略,从而使您可以使用想要描述真实代码的任何文本。要创建注释,请使用//,它会告诉编译器该行的其余部分为注释,或者使用/ ,然后使用 /来阻止之间的所有内容作为注释。某些编译器环境会更改注释区域的颜色,但某些不会。确保不要无意中注释掉程序所需的代码(也就是说,告诉编译器的代码部分是注释)。当您学习编程时,能够注释掉代码的各个部分以查看输出如何受到影响是很有用的。

用户交互和使用变量保存信息
到目前为止,您已经学习了如何编写一个简单的程序来显示您(程序员)输入的信息,以及如何用注释来描述您的程序。很好,但是如何与您的用户互动呢?幸运的是,您的程序也可以接受输入。您使用的函数称为cin,其后是提取运算符>>。

当然,在尝试接收输入之前,必须有一个存储该输入的地方。在编程中,输入和数据存储在变量中。有几种不同类型的变量,它们存储不同种类的信息(例如,数字与字母)。当您告诉编译器您要声明一个变量时,必须包括数据类型以及变量名。几种基本类型包括char,int和float。

char类型的变量存储单个字符,int类型的变量存储整数(不带小数位的数字),float类型的变量存储带小数位的数字。这些变量类型(char,int和float)中的每一个都是在声明变量时使用的关键字。
所有这些变量类型是什么?
有时,当某些变量类型似乎是多余的时,拥有多个变量类型可能会造成混淆(为什么在使用浮点数时为什么要使用整数?)。使用正确的变量类型对于提高代码的可读性和效率非常重要-一些变量比其他变量需要更多的内存。此外,由于数字实际存储在内存中的方式,浮点数是“ inexact”,在需要存储“精确”整数值时不应使用浮点数。

在C ++中声明变量
要声明变量,请使用语法“类型<名称>;”。以下是一些变量声明示例:

int x;
char letter;
float the_float;

可以在同一行上声明多个相同类型的变量;每一个都应以逗号分隔。

int a, b, c, d;

如果仔细观察,可能已经看到变量的声明后总是以分号结尾(请注意,这与调用函数时使用的过程相同)。
在C ++中声明变量时的常见错误
如果尝试使用未声明的变量,则程序将不会编译或运行,并且您会收到一条错误消息,通知您您犯了一个错误。通常,这称为 未声明的变量。
区分大小写
现在是时候讨论一个很容易让您失望的重要概念:区分大小写。基本上,在C ++中,使用大写还是小写字母都很重要。猫和猫这两个词对编译器的含义不同。在C ++中,所有语言关键字,所有函数和所有变量均区分大小写。变量声明和变量使用之间大小写的不同是您可能会得到未声明的变量错误的原因之一。
使用变量
好的,现在您知道如何告诉编译器变量了,但是如何使用它们呢?

这是一个示例程序,演示了变量的使用:

#include <iostream>
 
using namespace std;
 
int main()
{
  int thisisanumber;
 
  cout<<"Please enter a number: ";
  cin>> thisisanumber;
  cin.ignore();
  cout<<"You entered: "<< thisisanumber <<"\n";
  cin.get();
}

让我们分解该程序并逐行检查它。关键字int声明thisisanumber为整数。cin >>函数将一个值读入此isanumber;用户必须按Enter键,程序才能读取该号码。cin.ignore()是另一个读取和丢弃字符的函数。请记住,当您在程序中输入输入时,它也需要使用Enter键。我们不需要这个,所以我们把它扔掉了。请记住,该变量被声明为整数。如果用户尝试输入十进制数字,它将被截断(即,数字的十进制部分将被忽略)。运行示例程序时,请尝试输入字符序列或十进制数字;否则,请执行以下步骤。响应因输入而异,但是在任何情况下都不是特别漂亮。请注意,在打印输出时不使用引号。如果有引号,则输出将为“您输入:thisisanumber”。缺少引号会通知编译器存在变量,因此程序应检查变量的值,以便在执行输出功能时将变量名替换为变量。请勿在一行上包含两个单独的插入运算符而感到困惑。在一行上包含多个插入运算符是完全可以接受的,并且所有输出都将到达同一位置。其实你 因此,程序应在执行输出功能时检查变量的值,以便用变量替换变量名。请勿在一行上包含两个单独的插入运算符而感到困惑。在一行上包含多个插入运算符是完全可以接受的,并且所有输出都将到达同一位置。其实你 因此,程序应在执行输出功能时检查变量的值,以便用变量替换变量名。请勿在一行上包含两个单独的插入运算符而感到困惑。在一行上包含多个插入运算符是完全可以接受的,并且所有输出都将到达同一位置。其实你必须通过赋予每个字符串自己的插入运算符(<<)来分隔字符串文字(用引号引起来的字符串)和变量。尝试将两个变量与仅一个<<放在一起,将会给您一条错误消息,请不要尝试。不要忘记以分号结束函数和声明。如果您忘记了分号,则当您尝试编译程序时,编译器会给您一条错误消息。
更改和比较变量
当然,无论使用哪种类型,如果没有修改变量的能力,变量将变得无趣。与变量一起使用的几种运算符包括:*,-,+,/,=,==,>,<。*相乘,-减去和+加。当然,重要的是要认识到,要在程序内部修改变量的值,使用等号非常重要。在某些语言中,等号比较左值和右值,但是在C ++中,==用于该任务。等号仍然非常有用。它将左侧输入设置为等号,该等号必须为1,并且只能是一个等于等号右侧值的变量。为了将结果分配给左侧的变量,应在等号的右侧使用执行数学函数的运算符。

这里有一些例子:

a = 4 * 6; // (Note use of comments and of semicolon) a is 24
a = a + 5; // a equals the original value of a with five added to it
a == 5     // Does NOT assign five to a. Rather, it checks to see if a equals 5.

等式的另一种形式==,不是将值分配给变量的方法。而是检查变量是否相等。它在C ++的其他领域很有用。例如,您经常在条件语句和循环之类的构造中使用==。您可能会猜出<和>的功能。它们大于和小于运算符。

例如:

a < 5  // Checks to see if a is less than five
a > 5  // Checks to see if a is greater than five
a == 5 // Checks to see if a equals five, for good measure 

直到您有某种使用结果的方式为止,比较变量才真正有用。这是第2课有关if语句的全部内容。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值