C/C++基础知识

黑马金牌编程
• 阅读 712

//main程序入口 argc命令行变量的数量 argv命令行变量的数组 int main(int argc, char *argv[])

function: 用于声明一个函数,函数声明后,可以在需要的时候调用。 :包装了std的C++头文件,对应的是新的strng类。 main:操作系统通过调用main函数来运行C++程序,返回类型必须为int,即整数类型。 int类型是一种内置类型,即语言自身的类型。

一个函数的定义包含四部分: 返回类型(return type)、函数名(function name)、一个括号包围的形参列表 (parameter list,允许为空)以及函数体(function body)。 main函数在某种程度上比较特殊,但它的定义与其他函数是一样的。

return:当该语句包括一个值时,此返回值的类型必须与函数的返回类型相容,如下所示: C/C++基础知识

在上述例子中,main的返回类型是int,而返回值0的确是一个int类型的值 。

标准输入:istream——cin 标准输出:ostream——cout、cerr、clog 通常使用cerr来输出警告和错误消息,因为也被称为标准错误。 clog用来输出程序运行时的一般性信息。

<<:该运算符左侧的运算对象必须是一个ostream对象,右测是要打印的值。 endl:被称为操纵符。 作用:结束当前行,并将与设备的缓冲区中的内容刷到设备中。缓冲刷新操作可以保证到目前为止程序所产生的所有输出都真正写入输出流中,而不仅仅停留在内存中等待写入流。

+=:复合赋值运算符,意思就是把左边的第一个符号移到右边,即a+=1;等价于a=a+1。 ++a: 将a加1. 循环语句 while语句:反复执行一段代码,直至给定条件为假为止。格式如下: while (条件) {

}

for语句:格式如下: for(循环语句;循环条件;表达式)

if语句:

switch:如果switch语句内的代码过长就是用{}括起来。

=:赋值;==:相等; 来自标准库的头文件用尖括号<>包围文件名,不属于标准库的头文件则用双引号“”包围。 isbn:成员函数,成员函数是定义为类的一部分的函数,有时也被称为方法。 . :点运算符,点运算符只能用于类类型对象,其左侧运算对象必须是一个类类型对象,右侧运算对象必须是该类型的一个成员名。

术语简介: 实参:显函数传递的值。 缓冲区:一个存储区域,用于保存数据。 内置类型:有语言定义的类型,如int。 类:一种用于定义自己的数据结构及其相关操作的机制。标准库类型中,如istream何ostream都是类。 类类型:类定义的类型,类名即为类型名。 数据结构:数据及其上所允许的操作的一种逻辑组合。 for语句:迭代语句,提供重复执行能力。 函数:具名的计算单元。 函数体:语句块,定义了函数所执行的动作。 函数名:函数为人所知的名字,也用来进行函数调用。 头文件:使类或其他名字的定义可被多个程序使用的一种机制,通过#include指令使用头文件。

if语句:根据特定条件进行条件执行的语句。 初始化:创建对象时赋予他一个值。 形参列表:函数定义的一部分,指出调用函数时可以使用什么样的实参,有可能是空列表。 返回类型:函数返回值的类型。 源文件:包含C++程序的文件。 标准错误:输出流,用于报告错误,标准输出和标准错误通常关联到程序执行所在的窗口。 标准库:一个类型和函数的集合。 字符串常量:灵活多个字符组成的序列,用双引号包围。 操纵符:在读写流的时候用来操纵流本身。如:std::endl。 成员函数:类定义的操作。通常通过调用成员函数来操作特定对象。 方法:成员函数的同义术语。 命名空间:将库定义的名字放在一个单一位置的机制,命名空间可以避免名字冲突,C++标准库定义的名字在命名空间std中。 ::域运算符:用处之一就是访问命名空间中的名字。如:std::cout,就是访问std命名空间中的cout #include:头文件包含指令,使头文件中代码可被程序使用。 对象:通常情况下,对象是指一块能存储数据并具有某种类型的内存空间 算数类型 算数类型分为两类:整形(包括字符和布尔类型)和浮点型。 算数类型的尺寸:就是该类型数据所占的比特数。 bool————>布尔类型————>未定义尺寸 char————>字符——————>8位 wchar_t———>宽字符—————>16位 char16_t———>Unicode字符——>16位 char32_t———>Unicode字符——>32位 short————>短整型—————>16位 int—————>整型——————>16位 long————>长整型—————>32位 long long——>长整型—————>64位 float————>单精度浮点数———>6位有效数 double———>双精度浮点数———>10位有效数

long double—>扩展精度浮点数——>10位有效数 布尔类型(bool)的取值是真(true)或者假(false)。

float 和 double 之间的区别 C/C++基础知识

字符和字符串字面值 单引号括起来的是char型字面值,双引号括起来的零个或多个字符则构成字符串字面值。

C++转义序列 转行符———>\n 横向制表符———>\t 报警(响铃)符———>\a 退格符———>\n 纵向制表符———>\t 双引号———>\” 反斜线———>\ 问号———>\? 双引号———>\’ 回车符———>\r 进纸符———>\f

C++关键字 C/C++基础知识

C++操作符替代名 C/C++基础知识

指针与引用 C/C++基础知识

    空指针不指向任何对象。如以下:
    int *p1=nullptr;(推荐使用)
    int *p1=0;

    #include cstdlib
    int *p3=NULL;

const

const:该对象仅对文件内有效,当以编译时初始化的方式定义一个const对象时,编译器在编译的过程中把该变量的地方都替换成对应的值。

对于const变量不管是声明还是定义都添加extern关键字,这样只需定义一次就可以了,使得const可在多个文件中共享。

 const的引用,与普通引用不同的是,对常量引用不能被用作修改他所绑定的对象,引用及其对应的对象都是常量。

const的引用简称为常量引用。(只是个简称)

声明为constexpt的变量一定是一个常量,而且必须用常量表达式初始化。

微信公众号:黑马金牌编程 个人网站:http://www.heimajinpai.cn/wordpress/

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Stella981 Stella981
3年前
Opencv中Mat矩阵相乘——点乘、dot、mul运算详解
Opencv中Mat矩阵相乘——点乘、dot、mul运算详解2016年09月02日00:00:36 \牧野(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fme.csdn.net%2Fdcrmg) 阅读数:59593
Stella981 Stella981
3年前
C# Aspose.Cells导出xlsx格式Excel,打开文件报“Excel 已完成文件级验证和修复。此工作簿的某些部分可能已被修复或丢弃”
报错信息:最近打开下载的Excel,会报如下错误。(xls格式不受影响)!(https://oscimg.oschina.net/oscnet/2b6f0c8d7f97368d095d9f0c96bcb36d410.png)!(https://oscimg.oschina.net/oscnet/fe1a8000d00cec3c
Stella981 Stella981
3年前
Linux查看GPU信息和使用情况
1、Linux查看显卡信息:lspci|grepivga2、使用nvidiaGPU可以:lspci|grepinvidia!(https://oscimg.oschina.net/oscnet/36e7c7382fa9fe49068e7e5f8825bc67a17.png)前边的序号"00:0f.0"是显卡的代
Wesley13 Wesley13
3年前
C语言
主函数程序的入口main函数不可没有,也不可出现多行main函数,main有且仅有一个。intmain()return0main前面的int指的是函数调用后返回一个整型值。int是整形。返回0,0是整数voidmain是过时的函数。库函数C语言本身提供给我们使用的函数。数据类型:char字符型
Stella981 Stella981
3年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Easter79 Easter79
3年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Stella981 Stella981
3年前
Github标星5300+,专门为程序员开发文档开源管理系统,我粉了
!(https://oscimg.oschina.net/oscnet/a11909a041dac65b1a36b2ae8b9bcc5c432.jpg)码农那点事儿关注我们,一起学习进步!(https://oscimg.oschina.net/oscnet/f4cce1b7389cb00baaab228e455da78d0
Stella981 Stella981
3年前
Nginx反向代理upstream模块介绍
!(https://oscimg.oschina.net/oscnet/1e67c46e359a4d6c8f36b590a372961f.gif)!(https://oscimg.oschina.net/oscnet/819eda5e7de54c23b54b04cfc00d3206.jpg)1.Nginx反
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
黑马金牌编程
黑马金牌编程
Lv1
感兴趣技术:Linux、C/C++、go、云计算、docker、K8S、Devops等 微信公众号:黑马金牌编程
文章
2
粉丝
2
获赞
2