C++基础入门(省略版本)(黑马笔记)

2024-02-22 18:04

本文主要是介绍C++基础入门(省略版本)(黑马笔记),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

C++基础入门(部分省略)

数据类型

整型

数据类型占用空间取值范围
short2字节(-215-215-1)
int4字节(-231-231-1)
longWindows为4字节,Linux为4字节(32位),8字节(64位)(-231-231-1)
long long8字节(-263-263-1)

浮点型

数据类型占用空间有效数字范围
float4字节7位有效数字
double8字节15-16位有效数字

字符型

  • 占1个字节
  • 字符型变量并不是把字符本身放到内存中存储,而是将对应的ASCLL码放入存储单元
char c = 'c';

转义字符

转义字符含义ASCLL码(十进制)
\a警报007
\b退格008
\f换页012
\n换行010
\r回车013
\t水平制表009
\v垂直制表011
\\一个反斜线字符092
\’一个单引号字符039
\"一个双引号字符034
\?一个问号063
\0数字0000
\ddd8进制转义字符3位8进制
\xhh16进制转义字符3位16进制

字符串

C:char 变量名[] = "abc"

C++:string 变量名 = "abc"

布尔类型

  • true(1)
  • false(0)
  • 占1个字节大小

goto

# include<iostream>
using namespace std;void test02() {cout << 1 << endl;cout << 2 << endl;goto FLAG;cout << 3 << endl;cout << 4 << endl;FLAG:cout << 5 << endl;
}int main() {//test01();test02();system("pause");return 0;
}

函数值传递

  • 值传递时,如果形参发生,并不会影响实参
# include<iostream>
using namespace std;void swap(int a, int b) {cout << a << " " << b << endl;int temp = a;a = b;b = temp;cout << a << " " << b << endl;
}void test02() {int a = 10;int b = 20;swap(a, b);cout << a << " " << b << endl;
}int main() {//test01();test02();system("pause");return 0;
}

指针

空指针和野指针

空指针:指针变量指向内存中编号为0的空间

用途:初始化指针

注意:空指针指向的内存是不可访问的

野指针:指针指向非法空间

const修饰指针

  1. const修饰指针 常量指针(指针指向可修改,指向的值不可修改)
  2. const修饰常量 指针常量(指针指向不可修改,指向的值可修改)
  3. const都修饰(都不可以改)

指针和数组

# include<iostream>
using namespace std;void test02() {int arr[] = { 1, 2, 3, 4, 5, 6 };int* p = arr;cout << *p << endl;p++;cout << *p << endl;int* p2 = arr;for (int i = 0; i < sizeof(arr) / sizeof(arr[0]); i++) {cout << arr[i] << " ";cout << *p2 << " ";p2++;}
}int main() {//test01();test02();system("pause");return 0;
}

指针和函数

# include<iostream>
using namespace std;void swap(int* a, int* b) {cout << *a << " " << *b << endl;int temp = *a;*a = *b;*b = temp;cout << *a << " " << *b << endl;
}void test02() {int a = 10;int b = 20;swap(&a, &b);cout << a << " " << b << endl;
}int main() {//test01();test02();system("pause");return 0;
}

这篇关于C++基础入门(省略版本)(黑马笔记)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/736064

相关文章

C++中unordered_set哈希集合的实现

《C++中unordered_set哈希集合的实现》std::unordered_set是C++标准库中的无序关联容器,基于哈希表实现,具有元素唯一性和无序性特点,本文就来详细的介绍一下unorder... 目录一、概述二、头文件与命名空间三、常用方法与示例1. 构造与析构2. 迭代器与遍历3. 容量相关4

C++中悬垂引用(Dangling Reference) 的实现

《C++中悬垂引用(DanglingReference)的实现》C++中的悬垂引用指引用绑定的对象被销毁后引用仍存在的情况,会导致访问无效内存,下面就来详细的介绍一下产生的原因以及如何避免,感兴趣... 目录悬垂引用的产生原因1. 引用绑定到局部变量,变量超出作用域后销毁2. 引用绑定到动态分配的对象,对象

从基础到高级详解Go语言中错误处理的实践指南

《从基础到高级详解Go语言中错误处理的实践指南》Go语言采用了一种独特而明确的错误处理哲学,与其他主流编程语言形成鲜明对比,本文将为大家详细介绍Go语言中错误处理详细方法,希望对大家有所帮助... 目录1 Go 错误处理哲学与核心机制1.1 错误接口设计1.2 错误与异常的区别2 错误创建与检查2.1 基础

Python版本与package版本兼容性检查方法总结

《Python版本与package版本兼容性检查方法总结》:本文主要介绍Python版本与package版本兼容性检查方法的相关资料,文中提供四种检查方法,分别是pip查询、conda管理、PyP... 目录引言为什么会出现兼容性问题方法一:用 pip 官方命令查询可用版本方法二:conda 管理包环境方法

Spring的基础事务注解@Transactional作用解读

《Spring的基础事务注解@Transactional作用解读》文章介绍了Spring框架中的事务管理,核心注解@Transactional用于声明事务,支持传播机制、隔离级别等配置,结合@Tran... 目录一、事务管理基础1.1 Spring事务的核心注解1.2 注解属性详解1.3 实现原理二、事务事

C++读写word文档(.docx)DuckX库的使用详解

《C++读写word文档(.docx)DuckX库的使用详解》DuckX是C++库,用于创建/编辑.docx文件,支持读取文档、添加段落/片段、编辑表格,解决中文乱码需更改编码方案,进阶功能含文本替换... 目录一、基本用法1. 读取文档3. 添加段落4. 添加片段3. 编辑表格二、进阶用法1. 文本替换2

C++中处理文本数据char与string的终极对比指南

《C++中处理文本数据char与string的终极对比指南》在C++编程中char和string是两种用于处理字符数据的类型,但它们在使用方式和功能上有显著的不同,:本文主要介绍C++中处理文本数... 目录1. 基本定义与本质2. 内存管理3. 操作与功能4. 性能特点5. 使用场景6. 相互转换核心区别

Java中最全最基础的IO流概述和简介案例分析

《Java中最全最基础的IO流概述和简介案例分析》JavaIO流用于程序与外部设备的数据交互,分为字节流(InputStream/OutputStream)和字符流(Reader/Writer),处理... 目录IO流简介IO是什么应用场景IO流的分类流的超类类型字节文件流应用简介核心API文件输出流应用文

C++右移运算符的一个小坑及解决

《C++右移运算符的一个小坑及解决》文章指出右移运算符处理负数时左侧补1导致死循环,与除法行为不同,强调需注意补码机制以正确统计二进制1的个数... 目录我遇到了这么一个www.chinasem.cn函数由此可以看到也很好理解总结我遇到了这么一个函数template<typename T>unsigned

Python一次性将指定版本所有包上传PyPI镜像解决方案

《Python一次性将指定版本所有包上传PyPI镜像解决方案》本文主要介绍了一个安全、完整、可离线部署的解决方案,用于一次性准备指定Python版本的所有包,然后导出到内网环境,感兴趣的小伙伴可以跟随... 目录为什么需要这个方案完整解决方案1. 项目目录结构2. 创建智能下载脚本3. 创建包清单生成脚本4