老九学堂 学习 C++

第一天

典型的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 :判断某个连续区间时的情况

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值