本章用以给新手入门。
首先,请大家先熟悉下面的,输出一串字符”helloworld”的代码。
1 |
|
该代码编译运行后,显示的结果如下面这一行:
1 | helloworld |
现在开始逐行解释。
#include
#include<iostream>
,这句的意思是程序中包含一个叫做iostream的头文件,格式是#include<>
,头文件名称填在单书名号中。单书名号结尾不需要加分号。需要包含多个头文件时换行写即可。
例:
#include<iostream>
#include<cstdio>
也有用双引号的,如#include"cstdio"
,虽然这样也可以,不过建议写单书名号。区别在于双引号的是查找自己编写的类库(头文件),而单书名号是查找编译环境自带的类库。
常用头文件有:
iostream,这个单词由in/out stream组成,是标准输入输出流。
cstdio,这个单词由c++ standard in/out组成,是标准输入输出。
cmath,这个单词由c++ math组成,是数学库。
cstring,这个单词由c++ string组成,是与字符处理有关的头文件。
string,这个单词本身就存在,翻译名为“字符串”,使用string类型时需要包含该头文件。
algorithm,这个单词本身就存在,翻译名为“算法”,主要包含一些现成的函数。
有时候也会见到如”stdio.h”的头文件,这是C语言的头文件,不用管。请大家按C++写法写头文件。
using
using namespace std;
这句话,称为“使用(using)命名空间(namespace)std”,其中namespace就是“姓名”和“空间”两个单词的组合,称为“命名空间”。而std是standard的缩写,表示“标准的”。
这句话写在所有include之后,不可修改。这是硬性规定,不做赘述。句末要有分号。不论包含多少头文件,都只需写一次。
main
int main()
main()表示主函数,括号不可丢,句末无分号。前面的int表示main函数返回int类型。这句其实也是硬性规定。
函数体
左大括号,与第8行的右大括号匹配,构成一个封闭区域,表示main函数的函数体。
大括号是函数的界限,表示这一组大括号里面的所有内容都属于这个函数。括号是一一匹配的,不会重复匹配,且每个左大括号只会匹配到离自己最近的且未被匹配的右大括号。
cout
cout<<"helloworld"<<endl;
输出一个句子并换行。
表示输出的是”cout”,是c++ out的缩写。要使用cout,需要包含iostream头文件。
这个“句子”的专业表述为“字符串”,因为每个句子实际上都是由一串字符构成的。输出时,在输出的内容中没有双引号。
endl是end line的缩写,表示一个换行符。所谓的换行符,就是通常意义上的回车。在输出换行符后,字符串末尾将如同被按下一个回车,光标会来到下一行。
*每输出一个变量都需要写两个单书名号,箭头指向cout。
如cout<<a<<b<<c;
//按先后顺序输出三个变量a,b,c。
*直接按此方法输出时三个变量会连在一起,如a=1,b=2,c=3时,输入为123,这时需要手动添加空格作为分隔符,代码更改为cout<<a<<" "<<b<<" "<<c;
输出变更为1 2 3。
*cout支持两种换行符,endl和”\n”,如cout<<endl;
或cout<<"\n";
都可以做到换行。
*endl中是小写的L,而不是数字1。
既然cout是输出,相对的,就有输入。
表示输出的是”cin”,是c++ in的缩写。要使用cin,需要包含iostream头文件。
cin的用法,将在下一篇章中说明。
return
return 0;
表示正常结束程序。主函数的最后必须有这一句话,句末有分号,写在主函数中时不可改动。
不论写在主函数的何处,只要程序执行时遇到这句话,都将使得程序正常结束。
函数体结束
右大括号,与第4行的左大括号匹配,构成一个封闭区域,表示main函数的函数体。
大括号是函数的界限,表示这一组大括号里面的所有内容都属于这个函数。括号是一一匹配的,不会重复匹配,且每个右大括号只会匹配到离自己最近的且未被匹配的左大括号。
注释
两个除号,//
,表示注释,程序将会忽视在//
之后的这一行的所有内容
如果需要多行注释,可以选择/*内容*/
的方式,程序将会忽略/*
和*/
之间的所有内容。
示例:
1 | 这里还没被忽略 //这句会被忽略 |
1 | /*我们 |
以上,就是对于本篇开头的代码段的完整解释。
至此,可以总结出一个C++程序的基本框架。写程序时可以先打好该框架,然后再继续填充。
框架如下:
1 |
|
到此,第一章结束!
感谢PTW对本文的援助。