C++知识体系(一)概括及基础语法

一、C++概述

1、CPP vs C

CPP:①面向对象的编程语言
C:①面向过程的编程语言
都属于高级语言;

2、CPP的特点

优点:
1、强大的抽象封装能力:这让C++语言具备了强大的开发工程能力时在封装的同时C++最大程度的保留了高性能;
2、高性能:运行快,并且占用资源少;
3、 低功耗;特别适合在各种微型的嵌入式设备中运行高效的程序;
缺点:
1、语法相对复杂,细节比较多,学习曲线比较陡;
2、需要一些好的规范和范式,否则代码很难维护;

3、CPP的应用

大型桌面应用程序开发(Google Chrome and Microsoft Office)
大型网站的后台
游戏和游戏引擎
视觉库和AI引擎(opencv and tensorflow)
数据库
自动驾驶、嵌入式等

二、C++的基础语法

1、编译型语言

1、编程语言的层次和类型:
①机器语言;②编译型语言(C\C++);③解释型语言(Basic/Python);④脚本语言(bash/csh);
依次更接近于人类使用,但运行效率逐渐降低。
2、编译型语言一般需要经历编译和连接的过程,才能变成真正可执行的程序。

2、语言的数据类型

在这里插入图片描述

C++中每个变量都有其数据类型,数据类型决定着变量所占内存空间的大小和布局方式、该空间能储存的值的范围,以及变量能参与的运算。
常见数据类型的定义:
在这里插入图片描述

3、C++的标识符和关键字

标识符:
①C++中标识符是用来标识变量、函数、类、模块、或任何其他用户自定义项目的名字;
②一个标识符以字母A-Z或a-z或下划线_开始,后跟零个或多个字母、下划线和数字(0-9);如button_yyz;
③一个标识符不允许使用数字开头;
④一个标识符内不允许出现标点字符;如@、&、%等。

**关键字:**常见的关键字。
在这里插入图片描述
以上不允许作为自己随机设置的随机变量;因为它们由C++内部定义并规定用法;这些关键词还会不断的更新;

**总结:**标识符是开发者给自定义内容起的名字,一般只能使用字母,数字和下划线来定义,但是数字不能放在首位。

4、C++的变量与常量

**变量:**在程序运行过程中,其值可以改变的量;变量在程序的执行中能够赋值,发生变化;变量有一个名字,并在使用之前要说明其类型,一经说明,就在内存中占据与其类型相应的存储单元;
**变量定义:**首先是类型说明符,随后紧跟由一个或多个变量名组成的列表,其中变量名以逗号分隔,最后以分号结束。当变量在创建时获得了一个特定的值,我们说这个变量被初始化了。用于初始化变量的值可以是任意复杂的表达式。
**常量:**在程序运行过程中,其值一直保持不变的量。常量也区分不同的类型;
**常量定义:**有两种方法

#define PI 3.1415926;//在编译时出错,很难排错
const double PI = 3.1415926;//在编译时出错,可以排错

在编写程序时,尽量使用const定义变量,#define不会出现在编译器期。
**整数常量:**整数常量可以是十进制、八进制或十六进制的常量;前缀指定基数:0x或0X表示十六进制,0表示八进制,不带前缀则默认表示十进制。整数常量也可以带一个后缀,后缀是U和L的组合,U表示无符号整数,L表示长整数。后缀可以是大写,页可以是小写,U和L的顺序任意;且后缀不可以重复。
布尔常量: true值代表真;false值代表假;
**字符常量:**字符常量是括在单引号中。(在C++中,单引号和双引号的含义是不一样的)
字符常量表:
在这里插入图片描述
\称为转义字符。

三、C++的运算符与表达式

1、运算符与表达式基本介绍

运算符是一种告诉编译器执行特定的数学或逻辑操作的符号。C++内置了丰富的运算符,并提供了以下类型的运算符:算数运算符、关系运算符、逻辑运算符、位运算符、赋值运算符、杂项运算符。
**表达式;**在程序中,运算符是用来操作数据的,因此,这些数据也被称为操作数,使用运算符将操作数连接而成的式子称为:表达式。
表达式的特点:①常量和变量都是表达式;②运算符的类型对应表达式的类型;③每一个表达式都有自己的值;

2、运算符

1)算数运算符

// demo0.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"

#include<iostream>
using namespace std;


int main()
{
	int A = 10;
	int B = 20;
	std::cout << A + B << std::endl;  //30
	cout << A - B << endl;
	cout << A * B << endl;
	cout << A + B << endl;
	cout << B / A  << endl;
	cout << 15 / A << endl;
	cout << 15.0 / A << endl;
	cout << B% A << endl;
	cout << ++A << endl;
	cout << --A << endl;

	return 0;
}

此处有一个易混淆的点,就是C++中A++和++A的区别,可自行敲代码尝试理解,也可参照另外一篇博文尝试理解:C++中A++和++A的区别:https://blog.csdn.net/qq_40666270/article/details/109493801
2)关系运算符
假设变量A的值为10,变量B的值为20;则有以下运算符和结果描述:
在这里插入图片描述
代码示例:

	std::cout << (A == B) << std::endl;
	cout << (A != B) << endl;
	cout << (A > B) << endl;
	cout << (A < B) << endl;
	cout << (A <= B) << endl;
	cout << (A >= B) << endl;

3)逻辑运算符
假设变量A的值为1,变量B的值为0,则:

运算符描述实例
&&逻辑与运算,如果两个操作数都非零,则条件为真( A&&B)为假
II逻辑或运算,如果两个操作数中有任意一个非零,则条件为真(AIIB为真)
!逻辑非运算,用来逆转操作数的逻辑状态。!(A&&B)为真

德摩根律
在这里插入图片描述
德摩根律的逻辑表达:

cout<<(!(A||B)==(!A&&!B))<<endl;//1
cout<<(!(A&&B)==(!A||!B))<<endl;//1

4)赋值运算符

运算符描述实例
=简单的赋值运算符,把右边操作数的值赋给左边操作数C=A+B将A+B的值赋给C
+=加且赋值运算符,把右边操作数加上左边操作数的结果赋值给左边操作数C+=A相当于C=C+A
-=减且赋值运算符,把左边操作数减去右边操作数的结果赋值给左边操作数C-=A相当于C=C-A
*=乘且赋值运算符,把右边操作数乘以左边操作数的结果赋值给左边操作数C*=A相当于C=C*A
/=除且赋值运算符,把左边操作数初一右边操作数的结果赋值给左边操作数C/=A相当于C=C/A
%=求模且赋值运算符,求两个操作数的模赋值给左边操作数C%=A相当于C=C%A
<<=左移且赋值运算符C<<=2等同于C=C<<2
>>=右移且赋值运算符C>>=2等同于C=C>>2
&=按位与且赋值运算符C&=2等同于C=C&2
^=按位异且赋值运算符C^ =2等同于C=C^2
I=按位或且赋值运算符CI=2等同于C=CI2

5)位运算符
位运算符作用于位,并逐位执行操作。&、|和^。与、或、异或。
位逻辑运算符:
& (位 “与”) and
^ (位 “异或”)
| (位 “或”) or
~ (位 “取反”)
移位运算符:
<<(左移) >> (右移)
优先级:
位“与”、位“或”和位“异或”运算符都是双目运算符,其结合性都是从左向右的,优先级高于逻辑运算符,低于比较运算符,且从高到低一次为&、^、|。

6)杂项运算符
在这里插入图片描述
本人也是初学,有疑问可加QQ1297716447,说明来意,互相交流学习。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值