C++基础知识

C++融合了3种不同的编程方式:C语言代表的过程性语言、C++在C语言基础上添加的类代表的面向对象语言、C++模块支持的泛型编程。

1.main()函数

C++句法要求main()函数的定义以函数头 int main() 开始,程序中必须包含一个名为main()的函数。main()被启动代码调用。启动代码是由编译器添加到程序中的,是程序和操作系统之间的桥梁。该函数头描述的是main()和操作系统之间的接口。

int main():int表示main()函数的返回值是一个整型数据。空括号表示main()函数不接受任何参数,即不从调用它的函数那里获得任何信息。

                   该函数头也可以表示为int main(void)。C++中可省略void表示不接受任何信息(C中省略void表示对是否接收参数表示沉默)。

                  当函数末尾没有返回语句时,编译器认为以  return 0; 结尾。

2.注释

C++注释以双斜杠(//)打头,到行末结尾。注释必须在一行上,不可将一个注释写在多行上。

C-风格注释:C++也可使用/*注释*/的形式注释,该注释以*/结尾,所以可以写在不同行上。

3.iostream文件

#include <iostream>    该编译指令导致预处理器将iostream文件的内容添加到程序中。

iostream中io指的是输入(进入程序的信息)和输出(从程序中发送出去的信息)。

4.头文件名

头文件名 约定 说明
C++旧式 以.h结尾 C++程序中可用
C旧式风格 以.h结尾 C、C++可用
C++新式风格 没有扩展名 C++可用,使用namespace std
转换后的C 加前缀c,没有扩展名 C++可用,可使用不是C的特性,如namespace std

5.名称空间

当两个已经封装好的产品里有相同名字的函数时,为避免混淆,因使用using namespace指令指定使用的函数。

三种使用std函数里的cout指令的方法:

(1)using std::cout;                       //make cout available

(2)using namespace std;           //make std all name available

(3)std::cout << "hello,world!";    //make cout available

6.使用cout输出

cout对象属性包括一个插入运算符(<<),它可以将其右侧的信息插入到流中。

cout << "hello,world!";         //将"hello,world!";插入到输出流中

cout << num;         //输出num的值

使用cin输入

cin >> carrots;   //将键盘输入的信息从cin流向carrots

7.控制符endl

endl也是在头文件iostream中定义,且位于名称空间std中。

作用:在输出时换行。

也可用就是的\n进行换行操作。

\n和endl的一个差别:endl确保程序继续运行前刷新输出(将其立即显示在屏幕上);而\n不能提供这样的保证,这意味着在有的系统中,有时可能在输入信息后才会出现提示。

8.C++源代码的格式化

C++一句语句以;结尾,所以一句语句可以放在一行上也可放在多行上。因此回车键和空格键、制表符作用相同。

在C和C++中不能将回车键、空格键、制表符放在元素(如名称)中间:int ma  in()   //error

一行代码中不可分割的元素叫做标记(token),通常要用回车键、空格键、制表符将两个标记分开。

C++源代码风格:

  • 每条语句占一行。
  • 每个函数都有一个开始花括号和一个结束花括号,这两个花括号各占一行。
  • 函数中的语句都相对于花括号缩进。
  • 与函数名称相关的圆括号周围没有空白。

9.C++语句

声明语句与变量

int carrots;    int 被存储的数据类型,carrots 变量名,“;”表示语句结束。这句语句提供两项信息:需要的内存以及该内存单位的名称。carrots被称为变量。

对于声明变量,C++的做法是尽可能在首次使用变量前声明它。

10.类属性

类描述了一种数据类型的全部属性(包括可使用它执行的操作),对象是根据这些描述创建的实体。

11.函数

函数原型之于函数就像变量声明之于变量。函数原型描述函数接口,即它描述的是发送给函数的信息和返回的信息。

sqrt()的函数原型:double sqrt(double);     //function prototype    第一个double表示函数返回一个double类型的数据,括号中的double表示函数需要一个double类型的参数。

原型后的分号表明它是一条语句,这使得他是一个原型,而非一个函数头。如果省略分号,编译器将把这行代码解释为一个函数头,并要求接着提供定义该函数的函数体。

函数格式:

type functionname(argumentlist)

{

        statements

}

type表示函数的返回值类型,argumentlist表示发送给函数的信息:数据类型和形式参数。

注意:函数定义要放在main()函数后面。函数定义不可嵌套在另一个函数定义里,每一个函数定义相互独立平等。

posted @ 2018-05-18 19:48  程嘿嘿  阅读(271)  评论(0编辑  收藏  举报