第一天

典型的C++代码HelloWorld:

#include <iostream>using namespace std;int main()
{cout << "Hello world!" << endl;return 0;
}
  • 以# 开头的语句称为预处理器指令
  • iostream中包含了有关输入输出语句的函数
  • <<符号表示把字符串" HelloWorld "发送给cout打印
  • endl 是控制符,表示重起一行(\n)

C++的编译和执行:
编译和执行过程

  1. 编译(预处理->编译->目标文件)
    形成目标代码/文件,目标代码是编译器的输出结果,常见扩展名为".o"或".obj"
  2. 连接
    将目标代码跟C++函数库相连接,并将源程序所用的库代码与目标代码合并
    形成最终可执行的二进制机器代码(可执行程序)
  3. 执行
    在特定的机器环境下运行C++应用程序

小练习:

#include <iostream>using namespace std;int main()
{cout << "寒冰射手.艾希" << endl;cout << "伤害:56\t\t\t攻击距离:600" << endl;cout << "护甲:15.5(+3.4)\t\t魔抗:30(+0.0)\n""生命值:395(+79)\t\t生命回复:0.9(+0.11)\n""法力值:280(+32)\t\t法力回复:1.26(+0.08)\n""移速:325\t\t\t定位:ADC 辅助\n""点券:450" << endl;return 0;
}

·

·

·

第二天

变量、数据类型及运算符:

2.1

计算机执行程序时,组成程序的指令和程序所操作的数据都必须存放在一个地方,这个地方就是计算机的内存,也称为主存或随机访问存储器

变量:变量是计算机中一块特定的内存空间,由一个或多个连续的字节组成。
通过变量名可以简单快速地找到在内存中存储的数据

C++变量命名规则:

  • 规定变量名(标示符)只能由字母、数字、下划线3中字符组成;
  • 第一个字符必须为字母或下划线,不能是数字;
  • 变量名不能包含除_以外的任何特殊字符。如:%、#、逗号,空格等;
  • 不可以使用保留字。

C++中常用的关键字:



·

·

·

2.2 数据类型:

注:
在C++中,char类型隶属于int型。C++其他常用数据类型:size_t类型(usigned int)、枚举类型、自定义类型、指针类型、空类型等。

typedef的作用:定义类型的别名。

#include <iostream>using namespace std;int main()
{typedef string wode_string;wode_string name = "我的类型";//相当于定义string类型的变量name,   string name = "我的类型"cout << name << endl;return 0;
}

2.2.1 布尔类型 bool

作用:布尔数据类型代表真或假的值;

bool类型只有两个值:

  • true —真(1)
  • false —假(0)

bool类型只占一个字节大小

int main()
{bool flag = true;cout << flag << endl;flag = false;cout << flag << endl;
}

·

·

·

2.3 声明和使用变量

声明变量:
数据类型 变量名;

定义时初始化变量:
数据类型 变量名 = 值;

定义后初始化变量:
数据类型 变量名;
变量名= 值;

注:

  1. 变量名注意不要重复;
  2. 一条语句可以声明多个类型相同的变量。

使用单精度浮点型变量:
float:
位数:32位
空间:4 字节
取值范围:-3.4E + 38~ + 3.4E + 38
6~7位有效数字

例题:已知圆柱体的半径和高,求圆柱体的体积

#include <iostream>
#include <cmath>using namespace std;int main()
{const float PI = 3.14f; //定义了一个float类型的常量float radius = 2.5f;//半径float height = 90.0f;double volume = PI * pow(radius, 2) * height;cout << "体积是:" << volume << endl;return 0;
}

注:

  1. float类型变量赋值时可在数值的末尾加上一个 f
  2. cmath头文件定义了C++中的库函数,其中的c表示函数是来自c标准库的函数,math为数学常用库函数。

使用双精度浮点型变量:
double:
位数:64位
空间:8 字节
取值范围:-1.7E308 ~ 1.7E308
15位有效数字

#include <iostream>
#include <iomanip>
using namespace std;
int main()
{//控制cout的显示精度//1.让浮点型固定以数字的方式显示cout << fixed;//2.控制显示的精度,(保留两位)cout << setprecision(2);double doubleNum = 10.0 / 3.0;cout << doubleNum * 1000000 << endl;return 0;
}

sizeof :用来测量数据类型 的长度。

#include <iostream>
using namespace std;
int main()
{cout << sizeof(double) << endl;cout << sizeof(long double) << endl;
}

转义序列:

·

·

·

·

·

第三天

运算符

算术运算符:
一元:++、–
二元:+、-、*、/、%
赋值运算符:
单等号 = (计算顺序:从右往左)
关系运算符
逻辑运算符:

位运算符

(1)
按位非 ~
1、二进制取反
2、负数二进制转换成10进制:
将二进制取反,然后 + 1,结果为负

以 2 为例:
转成二进制:00000010(正)
取反:11111101(负)
转10进制:11111101 - > 00000010 + 1 = 11 ,取负数:-3

    cout << ~2 << endl;  //运行结果:-3

(2)
左移 << 右移 >> 运算符,跟cout << 运算符不一样
cout<< :运算符重载

重载:函数或者方法有相同的名称,但是参数列表不相同,其作用效果也不相同,这样的同名不同参数的函数或者方法,称为重载函数或者方法。

2 << 3(左移3位):
10. -> 10000. (1跟小数点的距离加3)

    cout << (2 << 3) << endl;  //运行结果:16

(3)
作用:通过三目运算符实现简单的判断
语法:表达式1 ?表达式2 :表达式3

如果表达式1的值为真,执行表达式2,并返回表达式2的结果;
如果表达式1的值为假,执行表达式3,并返回表达式3的结果。

int main()
{int a = 10, b = 20, c = 0;c = a > b ? a : b;cout << "c = " << c << endl;//三目运算符返回值是变量,可以继续赋值(a > b ? a : b) = 100;cout << "a = " << a << endl;cout << "b = " << b << endl;
}

sizeof运算符:
使用sizeof运算符可以获得数据类型占用内存空间的大小(结果以字节为单位)。

#include <iostream>
using namespace std;
int main()
{cout << setw(23) << "sizeof(char) = " << sizeof(char) << '\n';cout << setw(23) << "sizeof(short) = " << sizeof(short) << '\n';cout << setw(23) << "sizeof(int) = " << sizeof(int) << '\n';cout << setw(23) << "sizeof(long) = " << sizeof(long) << '\n';cout << setw(23) << "sizeof(long long) = " << sizeof(long long) << '\n';cout << setw(23) << "sizeof(float) = " << sizeof(float) << '\n';cout << setw(23) << "sizeof(double) = " << sizeof(double) << '\n';cout << setw(23) << "sizeof(long double) = " << sizeof(long double) << endl;return 0;
}


表达式:符号与操作数的组合

条件结构:
if结构(先判断后执行):

多重 if 结构:


switch结构:

使用switch结构时的注意点:

  1. switch后的表达式只能是整型或字符型
  2. case后常量表达式的值不能相同
  3. case后允许多条语句,不需要大括号
  4. 如果不添加break语句,需要特别注意执行顺序
  5. case和default子句的先后顺序可以自行变动
  6. default子句可以省略

switch和多重 if 对比:
相同点:都是用来处理多分支条件的结构;
不同点:
switch:等值条件判断-条件是有限个的时候;
if :判断某个连续区间时的情况

老九学堂 学习 C++相关推荐

  1. 老九学堂 学习 C++ 第七、八天

    7.1 内联函数 内联(inline)函数:是C++为提高程序运行速度所做的一项改进:与常规函数的区别不在于编写方式,而在于被调用时的运行机制不同:编译使用函数代码替换 函数调用. 使用建议:如果执行 ...

  2. 老九学堂 学习C++ 第十天

    10继承 10.1 概念: 所谓 "继承(inheritance)" 就是在一个已经存在的类基础上,再建立一个新类 从已有的类派生出新的类,派生类就继承了原有类(基类)的特征,包括 ...

  3. 老九学堂 学习C++ 第六天

    函数 自定义函数的完整写法: 注: 函数原型与函数定义的头部类似,最后以分号结尾 函数原型中的参数名称可以省略,只写参数类型 C++中返回值类型不能是数组,但可以是其他任何类型(可以将数组作为结构或对 ...

  4. 【老九学堂】【C++】数组与指针

    不知道在通过前面的内容学习后,是否有很多小伙伴都会认为数组和指针是等价的,数组名表示数组的首地址呢?不幸的是,这是一种非常危险的想法,并不完全正确,前面我们将数组和指针等价起来是为了方便大家理解(在大 ...

  5. 老九学堂之分布式设计教材

    老九学堂之分布式设计教材 作者:老九-技术大黍 原文:分布式系统设计教材 社交:知乎 公众号:老九学堂(新人有惊喜) 特别声明:原创不易,未经授权不得转载或抄袭,如需转载可联系笔者授权 前言 本文由老 ...

  6. 【老九学堂】【C++】位运算符

    位运算是指按二进制进行的运算.在系统软件中,常常需要处理二进制位的问题.C语言提供了6个位操作运算符.这些运算符只能用于整型操作数,即只能用于带符号或无符号的char,short,int与long类型 ...

  7. 【老九学堂】【C++】C++的发展史

    为了让小伙伴们在学习过程中,能收获更多的知识,达到真正的零基础入门和深入了解C++,老九君特地收集了有关C++发展相关的一些资料供大家查阅和学习: C++语言发展大概可以分为三个阶段: 第一阶段从80 ...

  8. 【老九学堂】【初识C语言】C语言中的运算符

    1运算符和表达式 C语言运算符是说明特定操作的符号,它是构造C语言表达式的工具.C语言的运算异常丰富,除了控制语句和输入输出以外的几乎所有的基本操作都作为运算符处理.除了常见的三大类,算术运算符.关系 ...

  9. 【老九学堂】【初识C语言】C语言保留字(关键字)详解

    保留字(reserved word) 保留字又称关键字. 指在高级语言中已经定义过的字,使用者不能再将这些字作为变量名或过程名使用. 每种程序设计语言都规定了自己的一套保留字. 例如:BASIC语言规 ...

  10. 【老九学堂】【初识C语言】二维数组

    一维数组只有一个下标,称为一维数组,其数组元素也称为单下标变量.在实际问题中有很多量是二维的或多维的,因此C语言允许构造多维数组.多维数组元素有多个下标,以标识它在数组中的位置,所以也称为多下标变量. ...

最新文章

  1. 如何退出终端中的“git status”列表?
  2. Struts2 随笔1
  3. 临渊羡鱼,不如退而结网
  4. Hyperledger Fabric 1.4 Kafka集群部署教程
  5. java changestr,java change
  6. Opencl 并行求和
  7. mysql卡住如何定位_MySQL 5.7中如何定位DDL被阻塞的问题
  8. Windows远程桌面(mstsc) 无法全屏显示的解决方法
  9. 中国AI英雄风云榜十位领军人揭晓 | 网易2018中国年度AI领域人物评选
  10. [转载]MySQL各类SQL语句的加锁机制
  11. LInux终端中Ctrl+S卡死
  12. Java8新特性:接口
  13. VirtualBox安装MACOSX 10.13虚拟机的增强功能
  14. pycharm英文版转成中文版
  15. 01背包与完全背包详解
  16. Android Jetpack 之 DataStore 初探
  17. 安卓原生页面与react-native页面相互跳转实现
  18. php的命令执行函数,PHP命令执行函数 - osc_joe3czc9的个人空间 - OSCHINA - 中文开源技术交流社区...
  19. BZOJ 3505: [Cqoi2014]数三角形|组合数学
  20. 百亿级企业级 RPC 框架开源了!

热门文章

  1. musiclink-v1.9 一款php源码的音乐外链程序,musiclink-v1.9 一款PHP源码的音乐外链程序 - 下载 - 搜珍网...
  2. oppo8.0系统最简单激活xposed框架的经验
  3. 【easyui】easyui datagrid deleteRow报错修复
  4. 上海地铁一号线各车站换乘和时刻表
  5. navicat报错 Access violation at address in module ‘navicat.exe‘
  6. oracle 数据占百分比,占总数比例怎么算_占总金额百分比公式
  7. 【行业报告】:低碳智能ALL “IN” | 印刷包装数智化转型之路
  8. 使用二维码解决固定资产管理的难题
  9. 保龄球计分算法(C语言实现)
  10. 信息学奥赛一本通 1296:开餐馆 | OpenJudge NOI 2.6 6045:开餐馆