C++ 基本语法

2017-06-26  本文已影响325人  司马世豪0614

——注释

单行注释,多行注释都与java相同

——数据类型

七种基本的数据类型  bool char int float double void wechar_t

一些基本类型可以使用一个过多个类型修饰符进行修饰

各种变量类型在内存中存储值时需要占用的内存 以及该变量所能存储的最大值和最小值

typedef声明 为一个已有的类型取一个新的名字

枚举类型  是C++中的一种派生数据类型,他是由用户定义的若干枚举常量的集合

——变量类型

变量其实只不过是程序可操作的存储区的名称

C++也允许定义各种其他类型的变量,比如枚举、指针、数组、引用、数据结构、类等

C++中的左值和右值

——C++变量作用域

作用域是程序的一个区域,一般来说有三个地方可以定义变量

局部变量-在函数或一个代块内部声明的变量

形式参数-在函数参数定义声明的变量

全局变量-在所有函数外部声明的变量

——C++常量

常量是固定值,在程序执行期间是不会改变的,这些固定的值又叫做字面量

常量可以是任何的基本数据类型,可分为整型数字,浮点数字,字符,字符串和布尔值

常量就像是常规的变量,只不过常量的值在定义后不能修改

定义常量有两种简单的方式

1-使用#define预处理器

2-使用const关键字

宏定义#define和常量const的区别

——C++修饰符类型

C++允许在char、int和double数据类型前防止修饰符

修饰符用于改变基本类型的含义,所以它更能满足各种情境的需求

singed

unsinged

long

short

C++中的类型限定符

类型限定符提供了变量的额外信息

const—const类型的对象在程序执行期间不能被修改改变

volatitle—该修饰高数编译器,变量的值可能以程序未明确指定的方式改变

restrict—由该修饰符修饰的指针是唯一一种访问它所指向的对象的方式

C++存储类

存储类定义C++程序中变量/函数的范围(可见性)和生命周期。这些说明符放置在它们所修饰的类型之前

auto

register

static—static存储类指示编译器在程序的生命走起内保持局部变量的存在,而不需要在每次它进入和离开作用域时进行创建和销毁,因此使用static修饰局部变量可以在函数调用之间保持局部变量的值

extern—存储类用于提供一个全局变量的引用,全局变量对所有的程序文件是可见的,当使用extern时,对于无法初始化的变量,会把变量名只想一个之前定义过的存储位置

mutable—mutable说明符仅适用于类的对象

thread_local(C++11)

C++运算符

运算符是一种概述编译器执行特定的数学或逻辑操作的符号

C++内置了丰富的运算符

算数运算符—加减乘除

关系运算符—大小

逻辑运算符—与或非

位运算符

赋值运算符

杂项运算(比C#多出一项)

运算符的优先级

C++循环

循环类型:

while循环—当给定条件为真时,重复语句或语句组。他会在执行循环主体之前测试条件

for循环—

do…while循环—

嵌套循环—

循环控制语句:

break语句

continue语句

goto语句

C++ 判断

判断结构要求指定一个或多个要评估或测试的条件,以及条件为真时要执行的语句和条件为假时要执行的语句

if—

if…else —

嵌套if语句—

switch —

嵌套switch语句—

C++ 函数

函数是一组一起执行一个任务的语句

每个C++程序都至少有一个函数,即主函数main(),所有简单的程序都可以定义其他额外的函数

函数声明告诉编译器函数的名称、返回类型和参数。函数定义提供了函数的实际主体

C++标准库提供了大量的程序可以调用的内置函数

函数声明—函数声明会告诉编译器函数名称及如何调用函数。函数的实际主体可以单独定义

调用函数—

函数参数—

如果函数要使用参数,则必须声明接受参数数值的变量,这些变量称为函数的形式参数

形式参数就像函数内的其他局部变量,在进入函数时被创建,退出函数时被销毁

当调用函数时,有两种向函数传递参数的方式:

传值调用-修改形式参数对实际参数没有影响

指针调用-修改形式参数对实际参数有影响

引用调用-修改形式参数对实际参数有影响

参数的默认值—

在参数列表中后边的每一个参数指定默认值,当调用函数时,如果实际参数的值留空,则使用这个默认值,如果指定了值,则会忽略默认值,使用传递的值

Lamabda函数与表达式—

C++数组

存储一个固定大小的相同类型元素的顺序集合

数组中的特定元素可以通过索引访问

所有的数组都是由连续的内存位置组成

最低的地址对应第一个元素,最高的地址对应最后一个元素

在C++中声明一个数组需要指定元素的类型和元素的数量

C++数组详解-

多维数组-多维数组最简单的形式是二维数组

指向数组的指针-指定不带索引的数组名称来生成一个指向数组中第一个元素的指针

传递数组给函数-指定不带索引数组名称来给函数传递一个指向数组的指针

从函数返回素组-从函数返回数组

C++字符串

提供了以前两种类型的字符串表现形式

C风格字符串

C++引入的string类类型

C++指针

指针是一个变量,其值为另一个变量的地址

即内存位置的直接地址

在使用指针存储其他变量地址之前,对其进行声明

声明其数据类型和指针变量的名称

*星号是用来指定一个变量是指针

C++使用指针

使用指针会频繁的进行以下几个步骤:

1 定义一个指针变量

2 把变量地址赋值给指针

3 访问指针变量中可用的地址的值

这些是通过使用一元运算符* 来返回位于操作数所指定地址的变量的值

C++指针详解

C++NUll指针-NUll指针是一个定义在标准库中的值为零的常量

C++指针的算数运算-可以对指针进行四种算术运算

C++指针vs数组

C++指针数组-可以定义用来存储指针的数组

C++指向指针的指针-允许指向指针的指针

C++传递指针给函数-通过引用或地址传递参数,使传递的参数在调用函数中被改变

C++从函数返回指针-函数返回指针到局部变量、静态变量和动态内存分配

C++引用

引用变量是一个别名,它是某个已存在的变量的另一个名字

一旦把引用初始化为某个变量,就可以使用该引用名称或变量名称来指向变量

引用和指针的三个不同点:

1-不存在空引用,引用必须连接到一块合法的内存

2-一旦引用被初始化一个对象,就不能被指向到另一个对象。指针可以在任何时候指向到另一个对象

3-引用必须在创建时被初始化。指针可以在任何时间被初始化

把引用作为参数——C++支持把引用作为参数传给函数,这比传一半的参数更安全

把引用作为返回值——可以从C++函数中返回引用,就像返回其他数据类型一样

C++基本的输入输出

字节流是从设备流向内存,这叫输入操作

字节流是从内存流向设备,这叫输出操作

标准输出流(cout)

预定义对象cout是ostream类的一个实例

标准输入流(cin)

预定义对象cin是istream类的一个实例

标注错误流(cerr)

标准日志流(clog)

C++数据结构

结构体-struct语句

访问结构成员使用成员访问符(.)

上一篇下一篇

猜你喜欢

热点阅读