🎁大家好🎁
🚀非常感谢你能观看这篇文章,有不足之处还望指正🚀
👍点赞➡💌留言➕关注💖
📚时间就是金钱📚
进入C++
C++的基本框架
#include<iostream>
using namespace std;
int main()
{
cout << "hello C++"<<endl;//打印hello C++
return 0;
}
如果要写一个C++程序,以上的框架是必不可少的。以上的程序示例非常简单,该示例的任务是在屏幕打印 hello C++ 这样的字符,程序示例只包含一个名为main() 的函数。程序示例包含下述元素。
🔹 注释,由前缀为// 标识。
🔹预处理器编译指令#include。
🔹 函数头:int main()。
🔹编译指令using namespacce
。
🔹 函数体,{和}括起。
🔹 使用C++的cout工具显示消息的语句。
🔹 结束main()函数的return
语句
main()函数
前面我们提到的main()函数,接下来我们就来了解一下main()函数。
将以上程序示例去掉修饰之后,得到的基本结构如下:
int main()
{
return 0;
}
注意:整个工程有且仅有一个main()函数
这几行代码构成了函数的定义。该定义有两部分组成:第一行 int main()叫函数头,花括号({和})中包括的部分叫做函数体。以下图片对main()函数进行了说明。main()函数中的最后一条语句(return
)叫作返回语句,它结束该函数。
为什么main()不能使用其他名称?
应该会有很多人好奇为什么main()不能使用其他名称?原因是必须这样做的。通常,C++必须包含一个名为main()的函数(而不是Main()、MAIN()或者mane())。记住,大小写和拼写都要正确。由于程序只有一个main()函数
C++注释
C++的注释是以//为开头,注释是程序员为读者提供说明,通常标识程序的一部分或解释代码的某个方面。
C++的注释以//为开头,到行尾结束。注释可以位于单独一行也可以与代码位于同一行说。
C语言的注释是包括在/* 和*/之间。由于C语言的注释是以 */结束,而不是行尾结束,因此可以跨越多行。可以在程序中使用C++或C语言风格的注释,也可以同时使用这两种注释。
C++预处理和iostream文件
下面详解一些需要知道的知识。如果程序需要C++的输入和输出工具,需要提供以下两行代码:
#include<iostream>
using namespae std;
可使用其他代码来替代第二行,这里使用这行代码的目的是简化代码。
C++和C语言一样,也使用一个预处理器。前面使用了 #include<iostream>
该编译指令,该编译指令的功能是将iostream文件的内容添加到程序当中。这是一种典型的预处理操作:在源文件代码被编译前,替换和添加文本。
注意:使用cin和cout进行输入和输出的程序必须包含文件iostream。
头文件名
像iostream这样的文件叫作包含文件——由于它们被包含在其它文件中;也叫作头文件——由于被包含在文件的起始处。C++的头文件语法与C语言的略有差别,现在对于C++的头文件去掉了扩展名.h,没有扩展名(C++程序仍可以使用这种文件)。
头文件类型 | 约 定 | 示 例 | 说 明 |
---|---|---|---|
C++旧式风格 | 以.h结尾 | iostream.h | C++程序可以使用 |
C旧式风格 | 以.h结尾 | math.h | C、C++程序可以使用 |
C++新式风格 | 没有扩展名 | iostream | C++程序可以使用,使用namespace std |
转换后的C | 加上前缀c,没有扩展名 | cmath | C++程序可以使用,可以使用不是C特性的,如namespace std |
名称空间
如果使用iostream
,而不是iostream.h
,则应使用以下的名称空间编译指令来使iostream
中的定义过程序可用:
using namespace std;
这叫作using
编译指令。等你深入学习C++后再深入探讨这种预编译指令。
使用cout进行C++输出
现在来看一下是如何显示消息的。前面的程序示例中使用下面的C++语句:
cout<<"hello C++"<<endl;
双引号括起来的部分是要显示的消息。在C++中,用双引号括起来的一系列字符叫作字符串。因为它是由若干个字符组成。<<符号表示该语句将这个字符串发送给cout;该符号指出了信息流的路径。
接下来,我们来看看C++从概念上如何解释这个过程?从概念上看,输出和输入是一个流,即从程序流出的一系列字符,cout是针对于输出流。cout的对象属性包括一个插入运算符<<,它可以将右侧的信息插入到流中。
或许有人好奇<<这个符号不是C语言中的左移运算符吗?这是一个运算符重载的例子,通过重载,同一个运算符将有不同的功能。
运算符
1)控制符endl
在示例程序中,使用下面的符号:
cout<<endl;
endl是一个特殊的C++符号,有一个重要的概念:重起一行。在输出流中插入endl将会把屏幕的光标移到下一行开头。和cout一样,endl的定义是在iostream
中,并且位于名称空间中的std
中。如果在输出流没有插入endl,cout不会将光标移动到下一行开头。
2)换行符
C++还提供另一种在输出时指示换行的符号:C语言符号\n
\n被视为一个字符,名为换行符。
endl和\n的差别是:endl确保在程序继续运行前刷新输出(将立即显示在屏幕上);而使用\n不能提供这样的保证,这意味在有些系统中,您输入信息后才会出现提示。
C++语句
C++程序是一组函数,每个函数是一组语句。
程序示例2
#include<iostream>
using namespace std;
int main()
{
int age = 18;
cout << "我的年龄是:" << age <<"岁" << endl;
age=25;
cout << "我的年龄是:" << age <<"岁" << endl;
return 0;
}
程序示例2的输出:
声明语句与变量
计算机是一种精确、有条理的机器。要将信息项存储在计算机中,必须指出信息的存储位置和所需的内存空间。在C++中,完成这种任务一种简单方法,就是使用声明语句来指出存储类型并提供位置标签。例如,在程序示例2中的一条声明语句(注意其中的分号):
int age=18;
这条语句提供了两个信息:需要的内存和该内存的名称。声明通常指出了要存储的数据类型和程序对存储这这里的数据使用的名称。
程序中的声明语句叫作定义声明语句,简称定义。这意味着它将导致编译器为变量分配内存空间。
赋值语句
赋值语句将值赋值给存储单元。如程序示例2中的语句:
age=25;
符号=叫作赋值运算符。C++和(C)是可以连续赋值的。例如下列代码:
int a;
int b;
int c;
a=b=c;
注意:赋值是从右到左进行
输入字符cin
cin的功能是来读取键盘输入。
.如下面代码:
int a;
cin>>a;
从以上的语句可知,信息从cin流行a中。就像C++将输出看作是流出程序的字符一样,它也将输入看作是流入程序的字符流。iostream
文件将cin定义为表示流的对象。输入时,>>运算符从输入流中 抽取字符。通常需要在运算符的右侧提供一个变量,来抽取它的信息(符号<<和>>来指示信息流的方向)。
与cout一样,cin也是一个智能对象,它可以将通过键盘输入的一系列字符(即输入)转换为接收信息的变量能够接受的形式。
函数
由于函数用于创建C++的模块,对C++的OOP定义至关重要,因此需要熟悉它。
C++的函数分为两种:有返回值的和无返回值的。接下来会逐一进行详解。
有返回值的函数
有返回值的函数将在函数结束时返回一个值,而这个值可以赋值给变量或在表达式中使用。例如以下代码:
程序示例3
#include<iostream>
using namespace std;
int ADD(int x, int y)
{
return x + y;
}
int main()
{
int sum = ADD(3, 5);
return 0;
}
ADD函数会返回一个值,就是x+y(也就是8)的和。表达式:int sum = ADD(3, 5);
被称为函数调用,被调用的函数(ADD)叫作被调用函数,包含函数调用的函数叫作调用函数。圆括号的中的两个值是发送给函数的信息,这称为传值函数。以这种方式发送给函数的值叫作参数。例如上面代码的3和5。函数ADD得到的结果是8返回给调用函数在赋值给sum,此时sum的值是8。发送返回的值叫作函数的返回值。
无返回值的函数
程序示例4
#include<iostream>
using namespace std;
void Swap(int* pa, int* pb)
{
int tmp = *pa;
*pa = *pb;
*pb = tmp;
}
int main()
{
int a = 3;int b = 5;
Swap(&a, &b);
cout << a << endl;
cout << b << endl;
return 0;
}
Swap函数的功能是交换a,b的值。这种的传参方式叫作传址方式,就是把a的地址和b的地址给函数传递过去,而函数需要指针来接受地址。Swap函数就是无返回值的函数,对于无返回值的函数需要在函数名前面加上void
告诉编译器,这个函数不需要返回值。
对于函数的深入探讨,日后再写一篇文章进行详解。
关键字
关键字是计算机语言中本身自带的词汇。本文使用int
、void
、return
等C++关键字。由于这些关键字都是C++专用的,因此不能作其他作用。也就是说这些关键字不能用作变量名,函数名。