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

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.mzph.cn/news/20026.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

webshell详解

Webshell详解 一、 Webshell 介绍二 、 基础常见webshell案例 一、 Webshell 介绍 概念 webshell就是以asp、php、jsp或者cgi等网页文件形式存在的一种命令执行环境&#xff0c;也可以将其称做为一种网页后门。黑客在入侵了一个网站后&#xff0c;通常会将asp或php后门文件与…

【普通人维护windows的方法,不中毒,不弹窗,不卡顿】

前言 IT人也是普通人&#xff0c;我就说说普通人维护电脑的方法。 我的电脑配置 给大家看看&#xff0c;配置一般&#xff0c;运行软件和游戏&#xff0c;可以保持基本流程 日常维护措施 我不太喜欢设定一些非主流的配置&#xff0c;下了一个360卫士,360其他的套餐可以不用下…

数据结构——绪论

一、绪论 &#xff08;一&#xff09;基本概念 数据&#xff1a;数据是对客观事物的符号表示&#xff0c;在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。 数据元素&#xff1a;数据元素是数据的基本单位&#xff0c;在计算机程序中通常作为一个整…

js实现按照句号将一段文本进行分段

/*** 将给定的文本按照300字并且按照句号分为多个p标签** param text 给定的文本* returns 返回分割后的多个p标签的数组*/ function splitTextByParagraph(text) {// 将文本按照句号分割成多个句子const sentences text.split(。);// 初始化一个空数组来存储生成的p标签const…

Nodejs中的全局对象

今天我们将探讨Nodejs中的全局对象&#xff0c;这是Nodejs中重要且有趣的知识点。我们将通过生动形象的例子和风趣的风格来深入理解这些概念&#xff0c;并比较Nodejs中的全局对象与前端JavaScript中的全局对象之间的异同点。 全局对象是什么&#xff1f; 在Nodejs环境中&…

超详细|ChatGPT辅助论文编写教程

本教程讲述在论文编写中使用ChatGPT进行辅助&#xff0c;提供思路&#xff0c;提升效率 祝看到本教程的小伙伴们都完成论文&#xff0c;顺利毕业。 可以加QQ群交流&#xff0c;一群&#xff1a; 123589938 第一章 论文框架搭建 1.1 明确论文题目 1.1.1 适合的研究方向 首先赋…

STM32 低功耗-睡眠模式

STM32 睡眠模式 文章目录 STM32 睡眠模式第1章 低功耗模式简介第2章 睡眠模式简介2.1 进入睡眠模式2.1 退出睡眠模式 第3章 睡眠模式代码示例总结 第1章 低功耗模式简介 在 STM32 的正常工作中&#xff0c;具有四种工作模式&#xff1a;运行、睡眠、停止和待机模式。 在系统或…

动态规划之树形DP

动态规划之树形DP 树形DP何为树形DP 树形DP例题HDU-1520 Anniversary partyHDU-2196 Computer834. 树中距离之和 树形DP 何为树形DP 树形DP是指在“树”这种数据结构上进行的动态规划&#xff1a;给出一颗树&#xff0c;要求以最少的代价&#xff08;或取得最大收益&#xff…

uniapp app端 echarts 设置tooltip的formatter不生效问题以及解决办法

需求一&#xff1a; y轴数据处理不同数据增加不同单位 需求二&#xff1a; 自定义图表悬浮显示的内容 需求一&#xff1a;实现方式 在yAxis里面添加formatter yAxis: [{//y轴显示value的设置axisLabel: {show: true,formatter (value, index) > {var valueif (value > 1…

怎么让表格中的一行数据 转置 为一列数据 (WPS )

例如 我现在有一列数据 我想要 变成一行 数据 1.首先选中想要转置的数据&#xff0c;然后control C 2.接着 点击你想放置数据的位置 右键 其实 关键是 找到 选择性复制 3. 找到转置&#xff0c;勾选 最后 确定 反之亦然

【Jmeter】 Report Dashboard 生成html图形测试报告

目录 背景 生成图形报告的方式 1、直接使用一个已存在的 CSV文件生成 2、负载测试完成后自动生成 使用示例 报告内容详情 测试报告摘要图 响应时间随时间变化曲线 活跃线程随时间变化曲线 I/O&#xff08;Bytes&#xff09;随时间变化曲线(忽略事务控制器示例结果) …

有哪些开源和非开源的项目管理工具?

开源和非开源项目管理工具各有其特点和优势。下面是一些常见的开源和非开源项目管理工具以及它们的简要介绍。 开源项目管理工具&#xff1a; OpenProject&#xff1a;OpenProject 是一个功能强大、易于使用的开源项目管理工具。它提供了项目计划、任务管理、团队协作、文档管…

http和https的区别?(网络通讯)

HTTP&#xff1a; 超文本传输协议&#xff08;HTTP&#xff0c;HyperText Transfer Protocol&#xff09;是互联网上应用最为广泛的一种 网络协议 HTTPS&#xff1a; 是以安全为目标的 HTTP 通道&#xff0c;是 HTTP 的安全版。HTTPS 的安全基础是 SSL。 两者区别: 1、HTTPS …

# Windows 环境下载 Android 12源码

前言 Android 官网&#xff08;该方式不适合 Windows 平台&#xff09;&#xff1a;https://source.android.com/source/downloading.html (备注自 2021 年 6 月 22 日起&#xff0c;安卓操作系统不再支持在 Windows 或 MacOS 上进行构建&#xff0c;如果要编译源码推荐先安装…

Nginx配置WebSocket反向代理

1、WebSocket协议 ​ WebSocket协议相比较于HTTP协议成功握手后可以多次进行通讯&#xff0c;直到连接被关闭。但是WebSocket中的握手和HTTP中的握手兼容&#xff0c;它使用HTTP中的Upgrade协议头将连接从HTTP升级到WebSocket。这使得WebSocket程序可以更容易的使用现已存在的…

C#使用libmodbus库与工业设备进行读写测试

一.编译libmodbus库供C#使用 如何编译&#xff1f;请移步&#xff1a;https://blog.csdn.net/weixin_42205408/article/details/119530811 上面博主的文章除了所写的modbus.cs内的代码有点问题外&#xff08;可能上面博主和我的Win 10 64位 Visual Studio 2019平台不一样吧&a…

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

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

为什么流程工业需要合适的预测性维护方案?

在当今工业中&#xff0c;预测性维护是一项至关重要的战略&#xff0c;它能够帮助企业预测设备故障并防止代价高昂的停机。然而&#xff0c;对于流程制造和离散制造来说&#xff0c;选择合适的预测性维护解决方案是至关重要的&#xff0c;因为这两类行业在设备运营和维护方面存…

redis缓存

1.什么是缓存 缓存就是数据交换的缓冲区&#xff0c;称为cache&#xff0c;是存储数据的临时地方&#xff0c;一般读写性能较高 典型例子就是在计算机的CPU和内存、磁盘。CPU的运算能力非常强大&#xff0c;运算速度已经远远超过内存或者磁盘读写数据的能力。但是先读到数据才…

【内网穿透】内网穿透应用场景

伴随着科学技术的进步&#xff0c;我们身边出现了越来越多的电子设备&#xff0c;特别是移动电子设备的普及&#xff0c;给我们的生活带来极大的便利&#xff0c;而软件技术的发展&#xff0c;更为这些软件设备带来更多应用的可能。虽然移动设备覆盖了了我们生活的绝大部分场景…