[C++]

C++

  • 一.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 = 10

	system("pause");
	return 0;
}

4.常量

  • 用于记录程序中不可更改的数据
  • 常量的定义有两种方式
    #define 宏常量: #define 常量名 常量值通常在文件上方进行定义
    const修饰的变量: const 数据类型 常量名 = 常量值
#include <iostream>
using namespace std;

// 宏常量
#define Week 7

int 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;  //输出2
	cout << "int 占用内存空间为: " << sizeof(int) << endl;  //4
	cout << "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; //输出3
	int num3 = 20;
	cout << num2 / num3 << endl; //输出0
	// 注意!!除数不能为0!!


	// 取模运算
	cout << num2 % num1<< endl; //输出1  10 % 3 = 1
	cout << num1 % num2 << endl; //输出3  3 % 10 = 3
	cout << 0 % num2 << endl; //输出3  0 % 10 = 0
	// x % 0 会报错  对浮点数取余也会报错

	int a = 2;
	int b1 = a++;
	cout << b1 << endl;  //先引用再自增  输出2
	a = 2;
	b1 = ++a;
	cout << b1 << endl;  //先自增再引用  输出3
	a = 2;
	b1 = --a;
	cout << b1 << endl;  //先自减再引用  输出1


	system("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站视频链接

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

贯穿设计模式--开闭原则

&#x1f335;概述 该原则主要说明的是扩展开放&#xff0c;对修改关闭&#xff0c;即尽量通过扩展软件实体类等来解决需求变化&#xff0c;而不是通过修改已有的代码来完成变化&#xff1b;实现开闭原则的核心思想就是面向抽象编程&#xff0c;强调的是用抽象构建框架&#x…

Windows驱动开发必备工具

Windows驱动开发必备工具 设备树文软件 可以查看设备信息 数字签名工具安装包 开发用的数字签名证书密钥 断点命中工具包&#xff08;双机调试必备&#xff09; 二进制文件解析工具 日志查看工具&#xff08;必备&#xff09; IRP查看工具 C驱动开发相关书籍 有需要工具、书籍…

怎么学习CSS相关技术知识? - 易智编译EaseEditing

学习CSS技术是前端开发中的重要一环&#xff0c;它用于控制网页的样式和布局&#xff0c;使网页更加美观和易于使用。以下是学习CSS技术的几个方面&#xff1a; 基本语法和选择器&#xff1a; 了解CSS的基本语法&#xff0c;学习如何使用选择器来选择HTML元素并应用样式。 样…

vim、awk、tail、grep的使用

vim命令 $定位到光标所在行的行末^定位到光标所在行的行首gg定位到文件的首行G定位到文件的末行dd删除光标所在行ndd删除n行&#xff08;从光标所在行开始&#xff09;D删除光标所在行&#xff0c;使之变为空白行x删除光标所在位置字符nx删除n个字符&#xff0c;从光标开始向后…

使用Flutter的image_picker插件实现设备的相册的访问和拍照

文章目录 需求描述Flutter插件image_picker的介绍使用步骤1、添加依赖2、导入 例子完整的代码效果 总结 需求描述 在应用开发时&#xff0c;我们有很多场景要使用到更换图片的功能&#xff0c;即将原本的图像替换设置成其他的图像&#xff0c;从设备的相册或相机中选择图片或拍…

CAD .NET 15.0 企业版 Crack

CAD .NET 15.0 企业版 企业版 企业版 企业版 企业版 Updated: June 14, 2023 | Version 15.0 NEW CAD .NET is a library for developing solutions in .NET environment. It supports AutoCAD DWG/ DXF, PLT and other CAD formats. The library can be used in a wide rang…

visual studio 生成dll文件以及修改输出dll文件名称操作

目录 visual studio 生成dll文件以及修改dll文件名称一、准备测试代码二、设置导出dll属性三、生成dll文件 .lib .dll .pdb 的简单介绍dll文件使用方式lib文件使用方式1、动态链接 &#xff08;原理&#xff09;2、静态链接&#xff1a; visual studio 生成dll文件以及修改dll文…

flex 弹性布局

Flex 布局的使用 任何一个容器都可以指定为 Flex 布局。 .box{ display: flex; //flex作为display的一个属性使用 } 行内元素也可以使用 Flex 布局。 .box{ display: inline-flex; } 注意&#xff1a;设为 Flex 布局以后&#xff0c;子元素的float、clear和vertical-align…

MySQL做分布式锁

分布式锁mysql实现方式 方式1&#xff1a;唯一索引 创建锁表&#xff0c;内部存在字段表示资源名及资源描述&#xff0c;同一资源名使用数据库唯一性限制。多个进程同时往数据库锁表中写入对某个资源的占有记录&#xff0c;当某个进程成功写入时则表示其获取锁成功其他进程由于…

备战秋招 | 笔试强化22

目录 一、选择题 二、编程题 三、选择题题解 四、编程题题解 一、选择题 1、在有序双向链表中定位删除一个元素的平均时间复杂度为 A. O(1) B. O(N) C. O(logN) D. O(N*logN) 2、在一个以 h 为头指针的单循环链表中&#xff0c;p 指针指向链尾结点的条件是( ) A. p->ne…

小程序云开发快速入门(2/4)

前言 我们对《微信小程序云开发快速入门&#xff08;1/4&#xff09;》的知识进行回顾一下。在上章节我们知道了云开发的优势以及能力&#xff0c;并且我们还完成了码仔备忘录的本地版到网络版的改造&#xff0c;主要学习了云数据库同时还通过在小程序使用云API直接操作了云数…

【无标题】uniapp引入萤石云 真机无法运行 踩坑集合

Uniapp 接入萤石云 踩坑 1.先用了 UIKit Javascript 就是在 pc端 那套流程 npm install ezuikit-jsimport EZUIKit from ezuikit-js;这套流程貌似只适用于pc端&#xff0c;我在接入uniapp的时候没看官网 以为都是一套流程&#xff0c;然后就在uniapp中也来了这一套&#xff0…

Linux安装部署并使用Redis(包含Redis Desktop Manager界面化工具)

文章目录 前言一、Redis的简介二、redis的安装与配置&#xff08;Linux环境&#xff09;三、redis的使用&#xff08;Redis Desktop Manager界面化&#xff09;四、基本命令**String基本命令&#xff1a;****hash基本命令&#xff1a;****List基本命令&#xff1a;****set基本命…

Python高阶技巧 网络编程

Socket ocket (简称 套接字) 是进程之间通信一个工具&#xff0c;好比现实生活中的插座&#xff0c;所有的家用电器要想工作都是基于插座进行&#xff0c;进程之间想要进行网络通信需要socket。 Socket负责进程之间的网络数据传输&#xff0c;好比数据的搬运工。 客户端和服务…

364 · 接雨水 II

链接&#xff1a;九章算法 - 帮助更多程序员找到好工作&#xff0c;硅谷顶尖IT企业工程师实时在线授课为你传授面试技巧 题解&#xff1a; 九章算法 - 帮助更多程序员找到好工作&#xff0c;硅谷顶尖IT企业工程师实时在线授课为你传授面试技巧

数据库访问中间件--springdata-jpa的基本使用

二、单表SQL操作-使用关键字拼凑方法 回顾 public interface UserRepository extends JpaRepository<User,Integer> {User findByUsernameLike(String username); }GetMapping("/user/username/{username}")public Object findUserByUsername(PathVariable S…

[回馈]ASP.NET Core MVC开发实战之商城系统(四)

经过一段时间的准备&#xff0c;新的一期【ASP.NET Core MVC开发实战之商城系统】已经开始&#xff0c;在之前的文章中&#xff0c;讲解了商城系统的整体功能设计&#xff0c;页面布局设计&#xff0c;环境搭建&#xff0c;系统配置&#xff0c;及首页【商品类型&#xff0c;ba…

C# Blazor 学习笔记(6):热重置问题解决

文章目录 前言热重置问题描述解决方法演示 总结 前言 我最近在使用Blazor的时候&#xff0c;使用了BootstrapBlazor&#xff08;以下简称BB&#xff09;创建模板的时候&#xff0c;发现热重置无效。经过了一上午的折腾&#xff0c;我终于解决了这个问题。 热重置 问题描述 …

Day12-1-Webpack前端工程化开发

Webpack前端工程化 1 案例-webpack打包js文件 1 在index.html中编写代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><me…

机器学习04-数据理解之数据可视化-(基于Pima数据集)

什么是数据可视化? 数据可视化是指通过图表、图形、地图等视觉元素将数据呈现出来的过程。它是将抽象的、复杂的数据转化为直观、易于理解的视觉表达的一种方法。数据可视化的目的是帮助人们更好地理解数据&#xff0c;从中发现模式、趋势、关联和异常&#xff0c;从而作出更明…