C++ 基础知识

一. 预备知识

  1. 1. C++的编程方式

  2. 过程性语言 (结构化、自顶向下)、面向对象语言、泛型编程 (创建独立于类型的代码)

  3. 2. 创建源代码文件的技巧

        扩展名:.cpp

二. 第一个程序 - HelloWorld

  1. main()

    入口点

    返回 int

  2. 标准库

    iostream

    std: 标准库的缩写

  3. Statement

    一行,以 ; 结束

  4. 语法

    1)对大小写敏感,空格不影响

    2)main返回0: 其他数字表示非正常结束

  5. 运行
  6. #include <iostream>
    int main() {std::cout << "Hello World";return 0;
    }

    快捷键:control+R

三、基本知识

1. 变量
  1. 1)int:整数 doule:双精度浮点数

  2. 2)命名应该有意义

    命名约定:

  3. 3)常量:防止变量改变

    int main() {const double pi = 3.14;pi = 0;   //运行将报错return 0;
    }
2. 数学运算
int x = 10;
int y = x++;    //y=10; x=11;
int x = 10;
int y = ++x;    //y=11; x=11;
3. 标准库
  1. 1)Standard Output Stream 标准输出流

    int x = 10;
    int y = 20;
    std::cout << "x = " << x << std::endl<< "y = " << y;

    化简:

    #include <iostream>
    ​
    using namespace std;
    ​
    int main(){int x = 10;int y = 20;cout << "x = " << x << endl << "y = " << y;return 0;
    }

  2. 2)Standard Input Stream 标准输入流

    #include <iostream>
    ​
    using namespace std;
    ​
    int main(){cout << "Enter values for x and y";double x;double y;cin >> x >> y;count << x + y;return 0;
    }
  3. 3)使用 #include 引入标准库,可以调用其中的函数

4. 备注
//单行注释
//...
​
/**多行注释,打出/*换行即可自动生成备注块*/

四、数据类型

c++:静态类型语言,使用前应先声明

  1. 大小

    1)整型:

    2)小数型:

    3)其他:

    Using the sizeof() function, we can see the number of bytes taken by a data type.

  2. 初始化
    double price = 99.99;
    float interestRate = 3.67F;   //输入时最后要加上F,否则默认为双精度浮点数,会导致数据丢失
    long fileSize = 9000L;    //输入时最后要加上L,强制转化为长整数,否则默认为整数,会导致数据丢失
    char letter = 'a';
    bool isValid = false;
    int number = 1.2;   //number = 1;
    int number {};      //number = 0;
    int number {1.2}    //报错

    也可以定义变量auto,将自动转化类型。

  3. 进制
  4. 使用16进制表示颜色(RGB)

    int number = 0b11111111;      //number = 255;
    int number = 0xff;            //number = 255;
    int number = 255;             //number = 255;
    unsighed int number = 255;    //number = 255;
    unsighed int number = -255;		//number = 4292967041;
  5. 类型转化

    1)缩小转化

    int number = 1'000'000;
    short another = number;		//another = 1690;
    int number = 1'000'000;
    short another{number};		//报错;

    2)放大转化

    short another = 100;		
    int number = another;		//another = 100;
  6. 生成随机数
    #include <cstdlib>int number = rand();		//无论运行多少次都是同样的结果,不是真正的随机数
    #include <cstdlib>srand(5);
    int number = rand();		//无论运行多少次都是同样的结果,不是真正的随机数
    #include <cstdlib>
    #include <ctime>const short minValue = 0;
    const short maxValue = 9;
    long elapsedSeconds = time(nullptr);									//返回当前时间,从 Jan 1 1970 开始到现在的秒数
    srand(elapsedSeconds);
    int number = (rand() % (maxValue - minValue + 1)) + minValue;		//用取余数决定上限,数字介于0-9

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/718759.shtml

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

相关文章

HarmonyOS-使用call事件拉起指定UIAbility到后台

使用call事件拉起指定UIAbility到后台 许多应用希望借助卡片的能力&#xff0c;实现和应用在前台时相同的功能。例如音乐卡片&#xff0c;卡片上提供播放、暂停等按钮&#xff0c;点击不同按钮将触发音乐应用的不同功能&#xff0c;进而提高用户的体验。在卡片中使用postCardA…

科技的成就(五十七)

535、Machine Learning "1959 年 7 月&#xff0c;塞缪尔首创 Machine Learning 一词。塞缪尔在“Some Studies in Machine Learning Using theGame of Checkers”一文中给 Machine Learning 下了个非正式定义&#xff1a;没有明确编程指令的情况下&#xff0c;能让计算机…

【js中的作用域】

理解 js中的作用我们可以分为三个部分 全局作用域函数作用域块级作用域 全局作用域 不在任何函数内部或者大括号中声明的变量,都是再全局作用域下,全局声明的变量可以在程序中的任何位置访问 函数作用域 函数作用域也叫局部作用域,如果一个变量声名在一个函数内部,那么它…

LSTM进行字符级文本生成(pytorch实现)

文章目录 基于pytorch的LSTM进行字符集文本生成前言一、数据集二、代码实现 1.到入库和LSTM进行模型构建2.数据预处理函数3.训练函数4.预测函数5.文本生成函数6.主函数完整代码总结 前言 本文介绍了机器学习中深度学习的内容使用pytorch构建LSTM模型进行字符级文本生成任务 一…

王者荣耀整蛊搭建直播新玩法/obs贴纸配置教程

最近很火的王者荣耀整蛊直播&#xff0c;相信很多玩王者的玩家也想开一个直播&#xff0c;但是看到这种直播娱乐效果很有意思也想搭建一个&#xff0c;这里梦哥给大家出了一期搭建的教程&#xff01; 进阶版视频教程&#xff1a; 这期的教程是进阶版新玩法升级&#xff0c;具体…

Vue3:使用 Composition API 不需要 Pinia

在 Vue.js 开发的动态环境中&#xff0c;在单个组件中处理复杂的业务逻辑可能会导致笨重的文件和维护噩梦。虽然 Pinia 提供集中式状态管理&#xff0c;但仅依赖它来处理复杂的业务逻辑可能会导致代码混乱。本文探讨了使用 Composition API 的替代方法&#xff0c;说明开发人员…

数据库表 索引

目录 一、索引的分类 1、按存储形式: 1&#xff09;B-TREE索引&#xff1a; 2&#xff09;位图索引&#xff1a; 3&#xff09;反向键索引&#xff1a; 4&#xff09;基于函数的索引&#xff1a; 2、按唯一性&#xff1a; 1&#xff09;唯一索引&#xff1a; 3、按列的个数…

代码随想录算法训练营第八天

344. 反转字符串 方法&#xff1a; 方法一&#xff1a; 直接用reverse函数 注意&#xff1a; 代码&#xff1a; class Solution { public:void reverseString(vector<char>& s) {return reverse(s.begin(), s.end());} };运行结果&#xff1a; 方法&#xff1…

解释前端路由的概念,以及单页应用(SPA)和多页应用(MPA)的区别

前端路由是现代Web应用中的一种设计模式&#xff0c;它允许用户在单个网页应用程序&#xff08;SPA&#xff09;内部通过改变URL而无需重新加载整个页面来切换不同的视图或内容。在传统的多页应用&#xff08;MPA&#xff09;中&#xff0c;每访问一个新页面&#xff0c;浏览器…

搜索算法(算法竞赛、蓝桥杯)--双向DFS+二分查找

1、B站视频链接&#xff1a;B26 双向DFS 送礼物_哔哩哔哩_bilibili #include <bits/stdc.h> using namespace std; int n,m; int g[46];//存储所有物品的质量 int w[1<<23];//存储所有能凑出来的重量 int ans,cnt;//w的个数是cnt//搜索第u个数&#xff0c;和为s; …

Geeker Admin添加若以分离版本的后台作为后台

添加验证码 下载若依赖前后端分离版本&#xff0c;配置好自己数据库&#xff0c;redis连接地址 登录添加验证码 配置自己的若依后端连接地址 添加验证码请求方法 登录页面登录输入框添加验证码&#xff0c;uuid,调用的验证码刷新方法 注意&#xff1a;这里要用响应式定义验证…

5_怎么看原理图之协议类接口之NAND Flash笔记

NAND Flash原理图&#xff1a; 由NAND Flash的原理图可以看出&#xff0c;做为一个存储芯片&#xff0c;只有I/O引脚&#xff0c;并没有地址引脚&#xff0c;怎么传地址&#xff1f;遵循一定的规范&#xff0c;先通过LDATA把地址传出去&#xff0c;再传数据。具体的需要查看芯片…

vue前端数据转换显示

<el-table-column label"项目模板名称" align"center" prop"tempName" width"180" :formatter"templFormat" /> :formatter"templFormat" // 模板名单 optionTempls: [], // datas value templFormat(row,…

HTTP Cookie 你了解多少?

Cookie是什么&#xff1f; 先给大家举个例子&#xff0c;F12 打开浏览器的页面之后&#xff0c;我们能在 Response Headers 的字段里面看到一个header 叫做 Set-Cookie&#xff0c;如下所示 图中包含的 Set-Cookie 为 Set-Cookie:uuid_tt_dd10_20293537580-1709432565344-232…

Transformer模型分布式并行通信量浅析

1.数据并行DP&#xff08;朴素数据并行&#xff0c;Zero数据并行之后补充&#xff09; O ( h 2 ∗ l ) O(h^2*l) O(h2∗l) 每台机器做完自己的梯度后需要做一次All reduce操作来累积梯度&#xff0c;故一个batch计算发送的数据量为每层梯度大小 h 2 h^2 h2乘以层数 l l l 优点…

【李沐论文精读】Resnet精读

论文地址&#xff1a;Deep Residual Learning for Image Recognition 参考&#xff1a;撑起计算机视觉半边天的ResNet【论文精读】、ResNet论文逐段精读【论文精读】、【李沐论文精读系列】 一、导论 深度神经网络的优点&#xff1a;可以加很多层把网络变得特别深&#xff0c;…

力扣周赛387

第一题 代码 package Competition.The387Competitioin;public class Demo1 {public static void main(String[] args) {}public int[] resultArray(int[] nums) {int ans[]new int[nums.length];int arr1[]new int[nums.length];int arr2[]new int[nums.length];if(nums.leng…

Linux系统Docker部署RStudio Server

文章目录 前言1. 安装RStudio Server2. 本地访问3. Linux 安装cpolar4. 配置RStudio server公网访问地址5. 公网远程访问RStudio6. 固定RStudio公网地址 前言 RStudio Server 使你能够在 Linux 服务器上运行你所熟悉和喜爱的 RStudio IDE&#xff0c;并通过 Web 浏览器进行访问…

第二十四章 :Docker 部署 SpringBoot

第二十四章 :Docker SpringBoot 配置文件容器外加载部署 Docker version 25.0.3, build 4debf41 ,Docker Compose version v2.24.2容器运行后,若需修改配置文件,只需修改宿主机的application-prod.yml ,重启容器即可。 Springboot 2.x 版本 部署规划 服务器IP192.168.92…

4. 编写app组件

1. 代码 main.ts // 引入createApp用于创建应用 import {createApp} from "vue"// 引入App根组件 import App from ./App.vue createApp(App).mount(#app) App.vue <!-- vue文件可以写三种标签1. template标签&#xff0c;写html结构2. script 脚本标签&…