[C++]01.基础,数据类型,运算符

news/2023/12/9 15:29:19

01.基础,数据类型,运算符

  • 一.C++基础入门
    • 1.HelloWorld
    • 2.注释
    • 3.变量
    • 4.常量
    • 5.关键字
    • 6.命名规则
  • 二.数据类型
    • 1.整形
    • 2.sizeof关键字
    • 3.浮点型
    • 4.字符型
    • 5.转义字符
    • 6.字符串型
    • 7.布尔类型
    • 8.数据的输入
  • 三.运算符
    • 1.算数运算符
    • 2.赋值运算符
    • 3.比较运算符
    • 4.逻辑运算符

一.C++基础入门

1.HelloWorld

  • 首先到官网下载并安装Visual Studio
  • 新建项目-新建C++空项目
  • 源文件(右键)-添加-添加项-添加C++文件
  • 编写代码!
#include <iostream>
using namespace std;int main()
{// 向屏幕中输出某种字符cout << "Hello World !" << endl;system("pause");return 0;
}

2.注释

  • 单行注释: // 描述信息
  • 多行注释: /* 描述信息 */

3.变量

  • 给一段指定的内存空间起名, 方便操作这段内存
  • 语法: 数据类型 变量名 = 初始值;
#include <iostream>
using namespace std;int main()
{int a = 10;cout << "a = " << a << endl;  //输出 a = 10system("pause");return 0;
}

4.常量

  • 用于记录程序中不可更改的数据
  • 常量的定义有两种方式
    #define 宏常量: #define 常量名 常量值通常在文件上方进行定义
    const修饰的变量: const 数据类型 常量名 = 常量值
#include <iostream>
using namespace std;// 宏常量
#define Week 7int main()
{cout << "一周总共有 " << Week << " 天" << endl;// const 修饰的常量const int mounth = 12;cout << "一年总共有 " << mounth << " 个月" << endl;system("pause");return 0;
}

5.关键字

  • 不要用关键字给变量起名
    在这里插入图片描述

6.命名规则

  • 标识符不呢有关键字
  • 标识符只能有字母, 数字,下划线组成
  • 字一个字符必须为字母或者下划线
  • 标识符中的字母区分大小写
  • 建议:起名做到见名知意,方便别人的阅读

二.数据类型

  • 在创建一个变量或者常量的时候,必须要指定相应的数据类型,否则无法给变量分配内存

1.整形

数据类型占用空间取值范围
short(短整型)2字节-2^15~2^15-1
int(整形)4字节-2^31~2^31-1
long(长整型)Win为4字节,Linux 32位为4字节, 64位为8字节-2^31~2^31-1
long long(长长整型)8字节-2^63~2^63-1

2.sizeof关键字

  • 利用这个关键字可以统计数据类型所占内存的大小
  • 语法:sizeof(数据类型 或 变量)
#include <iostream>
using namespace std;int main()
{cout << "short 占用内存空间为: " << sizeof(short) << endl;  //输出2cout << "int 占用内存空间为: " << sizeof(int) << endl;  //4cout << "long 占用内存空间为: " << sizeof(long) << endl;  //cout << "long long 占用内存空间为: " << sizeof(long long) << endl;long long temp = 1234567890;cout << "temp 占用内存空间为: " << sizeof(temp) << endl;system("pause");return 0;
}

3.浮点型

  • 编译器默认情况下会把单独的实数当作双精度数,所以在只需要单精度时需要在数据后加f
    float temp = 3.14f;
  • 默认情况下通过cout输出一个整数只保留6位有效数字
  • 给浮点型赋值的时候可以使用科学计数法
    double d = 314e-2;也可以表示3.14
数据类型占用空间有效数据范围
float4字节7位有效数字
double8字节15~16位有效数字

4.字符型

  • 用于显示单个字符
    char ch = 'a';
  • 字符型的两端是单引号
  • 单引号中只能是单个字符,不能是字符串
  • C与C++中,char类型只占用1个字节
  • 字符型不是把字符放到内存中存储, 而是使用字符对应的ASCII编码
    ASCII编码对照表

5.转义字符

  • 一些有特殊作用的,不能再屏幕中的字符,用转义字符代替

常用转义字符

字符含义ASCII值
\n换行010
\t水平制表 跳到下一个Tab位置009
\r回车将当前位置移到下一行开头013
\\代表一个反斜杠092

6.字符串型

  • C风格字符串:char 变量名[] = "字符串值";
  • C++风格:string 变量名 = "字符串值";
#include <iostream>
using namespace std;
#include <string>  //使用时需要引入头文件int main()
{// C风格char strC[] = "C风格的字串";cout << strC << endl;// C++风格string strCPlus = "C++风格的字串";cout << strCPlus << endl;system("pause");return 0;
}

7.布尔类型

  • 代表真或假的值 布尔型只占1字节大小
  • 只有两个值
    true–真(本质上是1)
    false–假(本质上是0)
    语法bool isNew = flase;

8.数据的输入

  • 从键盘获取输入的数据
  • 语法:cin >> 变量;
#include <iostream>
using namespace std;
#include <string>int main()
{// 整型输入int a = 0;cout << "请输入整型变量: \n";cin >> a;cout << "a = " << a << endl;// 字串类型的输入string str = "";cout << "输入字串: \n";cin >> str;cout << "输入值: " << str << endl;// 布尔类型的输入--非零即为真system("pause");return 0;
}

三.运算符

  • 用于执行代码运算的符号, 本章主要学习一下几种
运算符类型作用
算数运算符用于处理四则运算
赋值运算符用于将表达式的值赋值给变量
比较运算符用于两个值的比较, 返回真或假的布尔值
逻辑运算符用于根据表达式的值,返回真或者假的值

1.算数运算符

运算符作用
+加(正号)
-减(负号)
*
/
%取模(取余运算)
++自增
自减
#include <iostream>
using namespace std;int main()
{// 两个整型相除,结果还是一个整数int num1 = 3;int num2 = 10;cout << num2 / num1 << endl; //输出3int num3 = 20;cout << num2 / num3 << endl; //输出0// 注意!!除数不能为0!!// 取模运算cout << num2 % num1<< endl; //输出1  10 % 3 = 1cout << num1 % num2 << endl; //输出3  3 % 10 = 3cout << 0 % num2 << endl; //输出3  0 % 10 = 0// x % 0 会报错  对浮点数取余也会报错int a = 2;int b1 = a++;cout << b1 << endl;  //先引用再自增  输出2a = 2;b1 = ++a;cout << b1 << endl;  //先自增再引用  输出3a = 2;b1 = --a;cout << b1 << endl;  //先自减再引用  输出1system("pause");return 0;
}

2.赋值运算符

  • 基础赋值运算符就是等于符号=
    int a = 8;
    double pi = 3.14;
  • 在此基础上结合算数运算符可以扩展出, 加等于,减等于, 除等于等运算符
    += -= *= /= %=

3.比较运算符

  • 进行值的比较, 返回一个真或者假的值
运算符作用
==等于(3 == 3 返回 1)
!=不等于(3 != 3 返回0)
<小于
>大于
<=小于等于
>=大于等于

4.逻辑运算符

运算符术语
!非(取反)
&&与运算
||或运算
int a = 10;
cout << !a << endl;  //输出0
cout << !!a << endl;  //输出1

学习笔记与课程计划
B站视频链接


http://www.ppmy.cn/news/1001242.html

相关文章

pOSKI库安装步骤

安装gcc和gfortran;下载poski库&#xff0c;选择full版本&#xff0c;地址&#xff1a;BeBOP parallel Optimized Sparse Kernel Interface (pOSKI)解压poski源码&#xff0c;得到poski-v1.0.0文件夹;修改poski-v1.0.0/oski/oski-1.0.1h/configure文件&#xff0c;第21535行&am…

list删除重复元素几种思路

文章目录 list删除重复元素几种思路hashsetStream流删除所有重复元素 list删除重复元素几种思路 hashset List<String> list2 new ArrayList<>();list2.add("a");list2.add("b");list2.add("a");Set<String> set new HashS…

Gitignore忽略文件

默认情况下&#xff0c;Git会监视我们项目中的所有内容&#xff0c;但是有些内容比如mode_modules中的内容&#xff0c;我们不希望他被Git所管理。 我们可以在我们项目目录中添加一个 .gitignore 文件来设置那些需要git忽略的文件。

Rust dyn - 动态分发 trait 对象

dyn - 动态分发 trait 对象 dyn是关键字&#xff0c;用于指示一个类型是动态分发&#xff08;dynamic dispatch&#xff09;&#xff0c;也就是说&#xff0c;它是通过trait object实现的。这意味着这个类型在编译期间不确定&#xff0c;只有在运行时才能确定。 practice tr…

从0到1学会手写操作系统,我只用了2个小时!!!

继《自己动手做一台计算机》 《嵌入式入门-模电基础》两大教程之后 黑马嵌入式教程再出力作 重磅发布第三弹 《自己动手写嵌入式操作系统》 问&#xff1a;嵌入式开发不是只学单片机就行&#xff1f;为什么要学操作系统&#xff1f; 答&#xff1a;年轻人&#xff0c;别把路…

Linux--打印到显示器的内容输出重定向到文件里的代码

// ./myproc hello int main(int argc, char* argv[]) {if (argc ! 2){return 2;}int fd open("log.txt", O_WRONLY | O_CREAT | O_TRUNC);if (fd < 0){perror("open");return 1;}dup2(fd, 1);fprintf(stdout, "%s\n", argv[1]); } 运行结果…

【FPGA IP系列】FIFO深度计算详解

FIFO(First In First Out)是一种先进先出的存储结构&#xff0c;经常被用来在FPGA设计中进行数据缓存或者匹配传输速率。 FIFO的一个关键参数是其深度&#xff0c;也就是FIFO能够存储的数据条数&#xff0c;深度设计的合理&#xff0c;可以防止数据溢出&#xff0c;也可以节省…

微信发视频怎么不压缩画质?试试这几招

微信是我们常用的社交工具了&#xff0c;很多朋友都会用它跟好友分享视频&#xff0c;但想必大家都知道&#xff0c;微信为了节省宽带和存储空间&#xff0c;会自动对上传的视频进行压缩处理&#xff0c;甚至过大的视频会被限制发送&#xff0c;怎么才能让微信不自动压缩画质呢…

SIFT算法原理:SIFT算法详细介绍

前面我们介绍了Harris和Shi-Tomasi角点检测算法&#xff0c;这两种算法具有旋转不变性&#xff0c;但不具有尺度不变性&#xff0c;以下图为例&#xff0c;在左侧小图中可以检测到角点&#xff0c;但是图像被放大后&#xff0c;在使用同样的窗口&#xff0c;就检测不到角点了。…

【Jmeter】配置不同业务请求比例,应对综合场景压测

目录 前言 Jmeter5.0新特性 核心改进 其他变化 资料获取方法 前言 Jmeter 5.0这次的核心改进是在许多地方改进了对 Rest 的支持&#xff0c;此外还有调试功能、录制功能的增强、报告的改进等。 我也是因为迁移到了Mac&#xff0c;准备在Mac上安装Jmeter的时候发现它已经…

DASCTF 2023 0X401七月暑期挑战赛web复现

目录 <1> Web (1) EzFlask(python原型链污染&flask-pin) (2) MyPicDisk(xpath注入&文件名注入) (3) ez_cms(pearcmd文件包含) (4) ez_py(django框架 session处pickle反序列化) <1> Web (1) EzFlask(python原型链污染&flask-pin) 进入题目 得到源…

自然语言处理学习笔记(三)————HanLP安装与使用

目录 1.HanLP安装 2.HanLP使用 &#xff08;1&#xff09;预下载 &#xff08;2&#xff09;测试 &#xff08;3&#xff09;命令行 &#xff08;4&#xff09;测试样例 3.pyhanlp可视化 4. HanLP词性表 1.HanLP安装 HanLP的 Python接口由 pyhanlp包提供&#xff0c;其安装…

.Net6 Core Web API 配置 log4net + MySQL

目录 一、导入NuGet 包 二、添加配置文件 log4net.config 三、创建MySQL表格 四、Program全局配置 五、帮助类编写 六、效果展示 小编没有使用依赖注入的方式。 一、导入NuGet 包 ---- log4net 基础包 ---- Microsoft.Extensions.Logging.Log4Net…

3维空间精简动画类

3维空间精简动画类 该动画类支持在两个转换Transform(平移、旋转、缩放)之间均匀和渐进的过度转换,支持随时倒放动画,动画结束回调等 animation.h #ifndef ANIMATION_H #define ANIMATION_H#include <iostream> #include <functional>

如何在群晖nas中使用cpolar内网穿透?

如何在群晖nas中使用cpolar内网穿透 文章目录 如何在群晖nas中使用cpolar内网穿透 今天&#xff0c;我们来为大家介绍&#xff0c;如何在群晖系统中&#xff0c;使用图形化界面的cpolar。 cpolar经过图形化改造后&#xff0c;使用方法已经简便了很多&#xff0c;基本与其他应用…

日期类相关练习题

前言 本文记录一些有关日期类的oj题题解,实现过日期类小项目的可以练一下手,本文不做过多讲解. 目录 前言一、求123...n题目介绍:解题思路:代码实现: 二、计算日期到天数转换题目介绍:解题思路:代码实现: 三、日期累加题目介绍:解题思路:代码实现 四、日期差值题目介绍代码实…

SQL力扣练习(九)

目录 1.订单最多的用户(586) 示例 1 解法一(limit) 解法二(dense_rank()) 2.体育馆的人流量 示例 1 解法一(临时表) 解法二&#xff08;三表法&#xff09; 1.订单最多的用户(586) 表: Orders --------------------------- | Column Name | Type | ---------…

顺序表、链表刷题指南(力扣OJ)

目录 前言 题目一&#xff1a;删除有序数组中的重复项 思路&#xff1a; 题解&#xff1a; 题目二&#xff1a;合并两个有序数组 思路&#xff1a; 分析&#xff1a; 题解&#xff1a; 题目三&#xff1a;反转链表 思路&#xff1a; 分析&#xff1a; 题解&#xff1a; 题目四&…

【云原生K8s】初识Kubernetes的理论基础

K8S由google的Borg系统(博格系统&#xff0c;google内部使用的大规模容器编排工具)作为原型&#xff0c;后经GO语言延用Borg的思路重写并捐献给CNCF基金会开源。 云原生基金会&#xff08;CNCF&#xff09;于2015年12月成立&#xff0c;隶属于Linux基金会。CNCF孵化的第一个项目…

MybatisPlus的QueryWrapper方法解释

QueryWrapper继承AbstractLambdaWrapper 继承自 AbstractWrapper ,自身的内部属性 entity 也用于生成 where 条件以及 LambdaQueryWrapper, 可以通过 new QueryWrapper().lambda() 方法获取. 一些用法 常规 queryWrapper.lt&#xff08;&#xff09;——小于queryWrapper.le…
最新文章