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.rhkb.cn/news/269604.html

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

相关文章

苹果电脑免费释放磁盘空间软件CleanMyMac X2024

CleanMyMac X通过以下方式帮助用户释放磁盘空间&#xff1a; 智能扫描和清理&#xff1a;CleanMyMac X拥有强大的智能扫描功能&#xff0c;可以深入系统底层&#xff0c;快速识别并清理各类无用文件和垃圾&#xff0c;如缓存、日志、临时文件等。这些文件通常会占用大量的磁盘…

C语言回顾学习

一、数据类型 1.常量 2.float浮点表示 3.字符型 4.char&#xff08;大小写&#xff09; #include <stdio.h> //根据数字输出字符--int值可以直接输出为char int main() {int value;while (1){scanf("%d",&value);if(value<65||value>122){printf(&…

STM32CubeIDE基础学习-新建STM32CubeIDE基础工程

STM32CubeIDE基础学习-新建STM32CubeIDE基础工程 前言 有开发过程序的朋友都清楚&#xff0c;后面开发是不需要再新建工程的&#xff0c;一般都是在初学时或者有特殊需要的时候才需要新建项目工程的。 后面开发都是可以在这种已有的工程上添加相关功能就行&#xff0c;只要前…

构造pop链

反序列化视频笔记 第一步&#xff1a;找到目标触发echo调用$flag 第二步&#xff1a;触发_invoke函数调用appeng函数$varflag.php&#xff08;把对象当成函数&#xff09; 第三步&#xff1a;给$p赋值为对象&#xff0c;即function成为对象Modifier却被当成函数调用&#xff…

Stable Diffusion 模型分享:CG texture light and shadow(CG纹理光影)

本文收录于《AI绘画从入门到精通》专栏&#xff0c;专栏总目录&#xff1a;点这里。 文章目录 模型介绍生成案例案例一案例二案例三案例四案例五案例六案例七案例八 下载地址 模型介绍 一个拥有cg质感和光影的融合模型&#xff0c;偏2.5D 条目内容类型大模型基础模型SD 1.5来…

java 正则表达式介绍

Java正则表达式是一种强大的文本处理工具&#xff0c;它允许你进行模式匹配、搜索和文本操作。正则表达式提供了一种简洁、灵活的方式来处理字符串&#xff0c;可以用于各种应用场景&#xff0c;如数据验证、文本解析、搜索和替换等。 正则表达式的基础知识 正则表达式…

[HackMyVM] 靶场 Wave

kali:192.168.56.104 主机发现 arp-scan -l # arp-scan -l Interface: eth0, type: EN10MB, MAC: 00:0c:29:d2:e0:49, IPv4: 192.168.56.104 Starting arp-scan 1.10.0 with 256 hosts (https://github.com/royhills/arp-scan) 192.168.56.1 0a:00:27:00:00:05 (Un…

2024最新软件测试面试题(带答案)

1. 请自我介绍一下(需简单清楚的表述自已的基本情况&#xff0c;在这过程中要展现出自信&#xff0c;对工作有激情&#xff0c;上进&#xff0c;好学) 面试官您好&#xff0c;我叫###&#xff0c;今年26岁&#xff0c;来自江西九江&#xff0c;就读专业是电子商务&#xff0c;毕…

平衡搜索二叉树—AVL树

一、定义&#xff1a; 为了避免搜索二叉树的高度增长过快&#xff0c;降低二叉树的性能&#xff0c;规定在插入和删除二叉树的结点的时候&#xff0c;任何结点左右子树的高度差绝对值不超过1&#xff0c;这样的二叉树被称为平衡二叉树&#xff08;balanced Binary Tree&#xf…

Java并发编程-进程和线程

一、进程和线程 1. 进程 什么是进程&#xff1f; 简单来说&#xff0c;进程就是程序的一次启动和执行。进程是操作系统中的一个概念&#xff0c;它代表正在运行的程序的实例。每个进程都有自己的内存空间、代码和数据&#xff0c;以及其他操作系统资源&#xff0c;如文件和设备…

Python:关于数据服务中的Web API的设计

搭建类似joinquant、tushare类似的私有数据服务应用&#xff0c;有以下一些点需要注意&#xff1a; 需要说明的是&#xff0c;这里讨论的是web api前后端&#xff0c;当然还有其它方案&#xff0c;thrift&#xff0c;grpc等。因为要考虑到一鱼两吃&#xff0c;本文只探讨web ap…

FreeRTOS学习笔记-基于stm32f103(1)基础知识

一、裸机与RTOS 我们使用的32板子是裸机&#xff0c;又称前后台系统。裸机有如下缺点&#xff1a; 1、实时性差。只能一步一步执行任务&#xff0c;比如在一个while循环中&#xff0c;要想执行上一个任务&#xff0c;就必须把下面的任务执行完&#xff0c;循环一遍后才能执行…

服务器后端是学习java还是php

没有绝对的"最好"语言&#xff0c;每种后端语言都有其适用的场景和特点。以下是几种常用的后端语言&#xff1a; 1. Java&#xff1a;Java是一种通用且强大的语言&#xff0c;广泛用于企业级应用和大型系统。它有很好的性能和可靠性&#xff0c;并且具有优秀的生态系…

C++面试干货---带你梳理常考的面试题(二)

顾得泉&#xff1a;个人主页 个人专栏&#xff1a;《Linux操作系统》 《C从入门到精通》 《LeedCode刷题》 键盘敲烂&#xff0c;年薪百万&#xff01; 1.struct 和 class 区别 1.默认访问权限&#xff1a;struct中的成员默认为public&#xff0c;而class中的成员默认为priv…

Python打发无聊时光:13.用pywin32库制作电脑本地快捷应用

第一步&#xff1a;新建一个simple_app.py 装pywin32库 pip install pywin32 新建一个simple_app.py&#xff0c;复制下面代码&#xff0c;或者可以自己设计内容 import tkinter as tkclass AnimatedGUI:def __init__(self, root):self.root rootself.root.title("玩…

初学arp欺骗

首先准备一台靶机这里用虚拟机的win10 已知网关与ip地址&#xff08;怕误伤&#xff09; 现在返回kali从头开始 首先探测自己的网关 然后扫内网存活的ip 发现有3台 用nmap扫一下是哪几台 成功发现我们虚拟机的ip 现在虚拟机可以正常访问网络 接下来直接开梭 ip网关 返回虚拟机…

day03_登录注销(前端接入登录,异常处理, 图片验证码,获取用户信息接口,退出功能)

文章目录 1. 前端接入登录1.1 修改前端代码1.2 跨域请求1.2.1 跨域请求简介1.2.2 COSR概述CORS简介CORS原理 1.2.3 CORS解决跨域 2. 异常处理2.1 提示空消息分析2.2 系统异常分类2.3 异常处理2.2.1 方案一2.2.2 方案二 3. 图片验证码3.1 图片验证码意义3.2 实现思路3.3 后端接口…

【学习心得】响应数据加密的原理与逆向思路

一、什么是响应数据加密&#xff1f; 响应数据加密是常见的反爬手段的一种&#xff0c;它是指服务器返回的不是明文数据&#xff0c;而是加密后的数据。这种密文数据可以被JS解密进而渲染在浏览器中让人们看到。 它的原理和过程图如下&#xff1a; 二、响应数据加密的逆向思路 …

docker中hyperf项目配置虚拟域名

在学习hyperf框架时遇到一些问题&#xff0c;这里是直接用了docker环境 下载镜像运行容器 docker run --name hyperf -v /data/project:/data/project -p 9501:9501 -itd -w /data/project --privileged -u root --entrypoint /bin/sh 镜像ID配置docker-compose.yml version…

[译]BNF 表示法:深入了解 Python 的语法

[译]BNF 表示法&#xff1a;深入了解 Python 的语法 原文&#xff1a;《BNF Notation: Dive Deeper Into Python’s Grammar》 https://realpython.com/python-bnf-notation/ 在阅读Python文档的时候&#xff0c;你可能已经遇到过BNF(Backus–Naur form)表示法&#xff1a; 下…