专栏首页机器视觉CV【C++简明教程】C++基本语法

【C++简明教程】C++基本语法

程序结构

// C++ 语言定义了一些头文件,这些头文件包含了程序中必需的或有用的信息。
#include <iostream>

// using namespace std; 告诉编译器使用 std 命名空间。
// 命名空间是 C++ 中一个相对新的概念。
using namespace std;
 
//main () 是程序开始执行的地方
// 主函数,程序从这里开始执行
 int main()
{
     // 会在屏幕上显示消息 "Hello World"。
     cout << "Hello World"; // 输出 Hello World
     // 终止 main ( ) 函数,并向调用进程返回值 0。
     return 0;
}

语法知识点

分号结尾

在 C++ 中,分号是语句结束符。也就是说,每个语句必须以分号结束。它表明一个逻辑实体的结束。

语句块

语句块是一组使用大括号 { } 括起来的按逻辑连接的语句。

{
 语句块;
    xxx
}

标识符

C++ 标识符是用来标识变量、函数、类、模块,或任何其他用户自定义项目的名称。一个标识符以字母 A-Z 或 a-z 或下划线 _ 开始,后跟零个或多个字母、下划线和数字(0-9)

C++ 标识符内不允许出现标点字符,比如 @、& 和 %。

同时,C++ 还是一门大小写敏感的语言,即 abc 与 ABC 是不同的变量

关键字

下面是 C++ 的一些关键字,这些关键字不能作为常量名、变量名或其他标识符名称。

asm

else

new

this

auto

enum

operator

throw

bool

explicit

private

true

break

export

protected

try

case

extern

public

typedef

catch

false

register

typeid

char

float

reinterpret_cast

typename

class

for

return

union

const

friend

short

unsigned

const_cast

goto

signed

using

continue

if

sizeof

virtual

default

inline

static

void

delete

int

static_cast

volatile

do

long

struct

wchar_t

double

mutable

switch

while

dynamic_cast

namespace

template

三字符组

三字符组就是用于表示另一个字符的三个字符序列,又称为三字符序列。三字符序列总是以两个问号开头。

三字符序列不太常见,但 C++ 标准允许把某些字符指定为三字符序列。以前为了表示键盘上没有的字符,这是必不可少的一种方法。

三字符序列可以出现在任何地方,包括字符串、字符序列、注释和预处理指令。

下面列出了最常用的三字符序列:

三字符组

替换

??=

#

??/

\

??'

^

??(

[

??)

]

??!

|

??<

{

??>

}

??-

~

如果希望在源程序中有两个连续的问号,且不希望被预处理器替换,这种情况出现在字符常量、字符串字面值或者是程序注释中,可选办法是用字符串的自动接:"...?""?..." 或者转义序列:"...?\?..."

从 Microsoft Visual C++ 2010 版开始,该编译器默认不再自动替换三字符组。如果需要使用三字符组替换(如为了兼容古老的软件代码)。

空格

空格一般有两个作用:

  • 在 C++ 中,空格用于描述空白符、制表符、换行符和注释。空格分隔语句的各个部分,让编译器能识别语句中的某个元素(比如 int)在哪里结束,下一个元素在哪里开始。
int num;  
// 在这里,int 和 num 之间必须至少有一个空格字符(通常是一个空白符)
// 这样编译器才能够区分它们。
  • 二是美观,有强迫的程序员必须把程序写得工工整整

下面这个注释就问你看得舒不舒服~

注释

C++ 支持单行注释和多行注释。

  • 单行注释 //
// 单行注释
  • 多行注释 以 /* 开头 以 */ 结尾

注释符(/.../)是不可以嵌套使用的。

/* 
 中间都是注释,编译器会自动忽略
 
*/
  • 条件语句注释

如果一个函数或者解决方案有多种以上,那么你可能需要写多个函数来以示区分,但是使用下面这种注释方法就没有这种烦恼了

下面的代码如果 condition 条件为 true 执行 code1 ,否则执行 code2。不仅可以作为注释使用,还可以作为调试代码使用。

#if condition
  code1
#else
  code2
#endif

本文分享自微信公众号 - 机器视觉CV(AIandCV),作者:Leong

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-06-12

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 业界|部署机器学习模型的后期监视

    你已经建立了你的机器学习模型。你甚至已经准备将你的模型投入生产(或模型部署)。很好,你应该做好一切准备来打动你的终端用户或者客户。

    机器视觉CV
  • 【AI初识境】近20年深度学习在图像领域的重要进展节点

    这是专栏《AI初识境》的第3篇文章。所谓初识,就是对相关技术有基本了解,掌握了基本的使用方法。

    机器视觉CV
  • 卷积神经网络之 - 残差⽹络(RESNET)

    残差神经网络 (ResNet) 是由微软研究院的何恺明、张祥雨、任少卿、孙剑等人提出的。ResNet 在 2015 年的 ILSVRC(ImageNet Lar...

    机器视觉CV
  • 选择一款趁手的 PHP 代码编辑器

    正所谓「工欲善其事,必先利其器」,搭建好本地开发环境后,我们还需要选择一款趁手的 PHP 代码编辑器,它是我们日常编码形影相伴的兵器,可以最大化提升编码输出和工...

    学院君
  • python基础—pathlib模块

    这里说下pathlib模块,只要python版本大于3.4 都自带标准库pathlib

    dogfei
  • RedRabbit——基于BrokerPattern服务器框架

    RedRabbit 经典网游服务器架构 ? 该图省略了专门用途的dbserver、guildserver等用于专门功能的server,该架构的优点有: l Lo...

    知然
  • 大数据周周看 | 李湘出任360副总裁年薪千万 马化腾回应微信提现争议

    <数据猿导读> 在过去的一周中,各企业大佬仿佛约好了一般,纷纷融资、并购、推出新技术,忙得不亦乐乎。同时前一阵争议不断的微信提现,也于3月1日正式实行,对此,腾...

    数据猿
  • 做Linux背锅2年,我总结了这六类好习惯和30个血的教训

    一、线上操作规范 1.测试使用 当初学习Linux的使用,从基础到服务到集群,都是在虚拟机做的,虽然老师告诉我们跟真机没有什么差别,可是对真实环境的渴望日渐上升...

    小小科
  • 使用Spring Boot和Kotlin创建RESTfull API

    使用 Kotlin 结合 SpringBoot 开发一个 RESTFul版本的 HelloWorld。

    全科
  • Android SystemUI(一):图文并茂的介绍 :D

    菜天哥哥

扫码关注云+社区

领取腾讯云代金券