C++ 基础复习

1.常量

在这里插入图片描述

#include<iostream>
using namespace std;
// 1.define 宏常量 
#define N 50
int main(){
	//N = 60; // define定义的数据为常量,一旦修改会报错 
	cout<<N<<endl;
	
	//2.const 修饰的常量 
	const int m = 12; 
	//m = 24; //错误 const修饰的常量不能改变 
	return 0;
} 

2.关键字

在这里插入图片描述

3.标识符命名规则

在这里插入图片描述

4.数据类型

原则:C++规定在创建一个变量或者常量时,必须要指定出相应的数据类型,否则无法给变量分配内存。
存在意义:给变量分配合适的内存空间。

4.1 整型

在这里插入图片描述

4.2 sizeof关键字

作用:利用sizeof统计数据类型占用内存大小
语法:sizeof(数据类型 / 变量)

#include<iostream>
using namespace std;
int main(){
	//整形: short-2 int-4 long-4 long long-8
	//整形大小:short < int <= long < long long 
	short n = 10;
	// 打印 2 
	cout<<"short占内存:"<<sizeof(n)<<endl; 
	int n1 = 12;
	// 打印 4
	cout<<"int占内存:"<<sizeof(n1)<<endl; 
	return 0;
} 

4.3 实型(浮点型)

作用:用于表示小数
浮点型变量分两种:float 和 double
在这里插入图片描述

#include<iostream>
using namespace std;
int main(){
	//1. 单精度:float
	//2. 双精度:double
	//默认情况下,输出小数会显示出6位有效数字 
	float f1 = 3.14; //不加f的话-默认f1会是双精度, 
	float f2 = 3.24f; //f表示为单精度
	
	double d1 = 3.1415926;
	//打印 3.14159 共6位有效数字 
	cout<<"d1="<<d1<<endl;
	
	//3. float和double占用内存空间:输出分别为 4 和 8 
	cout<<"float:"<<sizeof(float)<<" double:"<<sizeof(double)<<endl; 
	
	//4. 科学计数法表示小数
	float f3 = 3e2; //代表 3*10的2次方,结果为300 
	float f4 = 3e-2; //代表 3*0.1的二次方 ,结果为 0.03
	
	return 0;
} 

4.4 字符串

作用:字符串变量用于显示单个字符
语法:char ch = ‘a’;
在这里插入图片描述在这里插入图片描述

#include<iostream>
using namespace std;
int main(){
	//1. 字符型变量占用内存,输出 1 
	char ch = 'a';
	cout<<"大小:"<<sizeof(ch)<<endl;
	//2.字符型变量对应ASCII编码 输出97 ,大写A:65
	cout<<(int)ch<<endl; 
	
	return 0;
} 

4.5 转义字符

作用:用于表示一些不能显示出来的ASCII字符
在这里插入图片描述
在这里插入图片描述

4.6 字符串型

作用:用于表示一串字符。
在这里插入图片描述在这里插入图片描述

#include<iostream>
using namespace std;
int main(){
	//1.C风格字符串 
	//char +字符串名 + [] 
	char str[] = "hello";
	cout<<str<<endl;
	return 0;
} 

4.7 布尔类型

在这里插入图片描述

3 运算符

在这里插入图片描述

3.1 运算符

在这里插入图片描述

两数相除,被除数不能为0,求余也是。
两个小数不能求余。

在这里插入图片描述
在这里插入图片描述

3.2 do_while

在这里插入图片描述

3.3 break

break使用的时机:
1.出现在switch条件语句中,作用是终止case并跳出switch
2.出现在循环语句中,作用是跳出当前的循环语句
3.出现在嵌套循环中,跳出最近的内层循环语句

3.4 continue

作用:在循环语句中,跳过本次循环中余下尚未执行的语句,继续执行下一次循环。

3.5 goto

作用:可以无条件跳转语句
语法:goto 标记;
解释:如果标记的名称存在,执行到goto语句时,会跳转到标记的位置

5 数组

所谓数组,就是一个集合,里面存放了相同类型的数据元素
特点1:数组中的每个数据元素都是相同的数据类型。
特点2:数组是由连续的内存位置组成的。

4.1 一维数组

4.1.1 定义方式

三种方式:

  1. 数据类型 数组名 [数组长度]:int a[20];
  2. 数据类型 数组名 [数组长度] = {值1,值2…}:int a[2] = {1,2};
  3. 数据类型 数组名 [ ] = {值1,值2,}:int a[] = {1,2};
4.1.2 一维数组组名

用途:

  1. 统计整个数组在内存长度。
  2. 获取数组在内存中首地址。
#include<iostream>
using namespace std;
int main(){
	
	int arr[5] = {1,2,3,4,5};
	//1.统计整个数组的占内存长度,从开始到结束;total = 20 = 5 * 4 
	int total = sizeof(arr);
	//2.统计数组中第一个元素占内存长度: one = 4 
	int one =  sizeof(arr[0]);
	//3.计算数组中元素个数: length = 5 = 20/4 
	int length = sizeof(arr) / sizeof(arr[0]);
	
	cout<<"数组首地址:"<<(int)arr<<endl; 
	cout<<"数组第一个元素地址:"<<(int)&arr[0]<<endl;
	//数组名是常量,不可修改
	//arr = 100 //错误 
	return 0;
} 

4.2 二维数组

4.2.1 定义方式

四种:

  1. 数据类型 数组名 [ 行数 ] [ 列数 ]; 如 int a[2][3];
  2. 数据类型 数组名 [ 行数 ] [ 列数 ] = { {数据1,数据2 },{数据3,数据4}};如int a[2][2] = { {1,2},{3,4} };
  3. 数据类型 数组名 [ 行数 ] [ 列数 ] = {数据1,数据2,数据3,数据4 };如 int a[2][2] = {1,2,3,4};
  4. 数据类型 数组名 [ ] [ 列数 ] = = {数据1,数据2,数据3,数据4 };如 int a[] [2] = {1,2,3,4};定义时若初始化了数据,有列数可忽略行数。
4.2.2 数组名称

1.查看二维数组占用内存空间
2.获取二维数组首地址

#include<iostream>
using namespace std;
int main(){
	
	int arr[2][3] = {
		{1,2,3},
		{4,5,6}
	};
	//输出 24 = 2*3*4;int-4字节; double-8字节 
	cout<<"二维数组占用内存空间:"<<sizeof(arr)<<endl; 
	//输出  12 = 1*3*4
	cout<<"二维数组第一行占内存:"<<sizeof(arr[0])<<endl;
	//输出 4 
	cout<<"二维数组第一个元素占内存:"<<sizeof(arr[0][0])<<endl;
	// 2
	cout<<"二维数组几行:"<<sizeof(arr)/sizeof(arr[0])<<endl;
	// 3
	cout<<"二维数组几列:"<<sizeof(arr[0])/sizeof(arr[0][0])<<endl;
	
	cout<<"二维数组首地址:"<<(int)arr<<endl;
	cout<<"二维数组第一行数据地址:"<<(int)arr[0]<<endl;
	cout<<"二维数组第一行数据地址:"<<(int)&arr[0][0]<<endl;
	return 0;
} 

5 函数

返回值类型;函数名;参数列表;函数体语句;return表达式。

#include<iostream>
using namespace std;
//a和b为形参 
int add(int a,int b){
	++a;
	++b;
	return a+b;
} 
int main(){
	int a=1,b=2;
	//a,b为实参 ,值传递
	add(a,b); 
	return 0;
} 

5.1 值传递

定义:函数调用时实参将数值传入给形参。
值传递时,形参发生变化不会影响传入的实参,函数体外实参值不变。
在这里插入图片描述

5.2 函数声明

作用:告诉编译器函数名及如何调用函数。函数的实际主题可以单独定义。
函数声明可以多次,但是函数定义只能一次。

5.3 函数分文件编写

1.创建 .h 头文件
2.创建 .cpp 源文件
3. 头文件写函数声明,源文件写函数定义

//a.h
void swap(int a,int b);
//b.cpp
#include "a.h"
void swap(int a,int b){
	int t = a;a=b;b=t;
}	
//c.cpp
#include "a.h"
int a=1,b=2;
//即可调用b.cpp的功能
swap(a,b);

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

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

相关文章

限速虚量就赔一万元?看我如何薅羊毛!2024公认最好的随身WiFi

作为一个大名鼎鼎的羊毛党&#xff0c;最热衷的莫过于网上各种可以薅羊毛的信息。这天我们的羊毛群里说有一个叫格行的随身WiFi品牌挺嚣张的&#xff0c;号称限速虚量就赔付一万元&#xff01;还发了带章的承诺函&#xff01;我心说随身WiFi限速虚量的臭名声早就烂大街了&#…

基本电路理论-电流和电压的参考方向

&#x1f308;个人主页&#xff1a;会编程的果子君 &#x1f4ab;个人格言:“成为自己未来的主人~” 电流及参考方向 电流&#xff1a;带电粒子有规则的定向移动 电流强度&#xff1a;单位时间内通过导体横截面的电荷量&#xff0c;即&#xff1a;idq/dt 单位&#xff1a…

【C++】lambda 表达式 / 包装器 / bind 绑定

目录 一. lambda 表达式1. lambda 表达式的语法1. lambda 表达式的使用2. lambda 表达式的捕捉列表 二. 包装器三. bind 绑定 一. lambda 表达式 Lambda 表达式是 C11 标准引入的一种新特性, 它提供了一种方便的方式来定义匿名函数. lambda 表达式实际上是一个匿名的仿函数; …

ZYNQ学习之Ubuntu下Linux文件系统、用户权限与磁盘管理

基本都是摘抄正点原子的文章&#xff1a;<领航者 ZYNQ 之嵌入式Linux 开发指南 V3.2.pdf&#xff0c;因初次学习&#xff0c;仅作学习摘录之用&#xff0c;有不懂之处后续会继续更新~ 一、Linux 文件系统 1.1 Linux 文件系统简介以及类型 操作系统的基本功能之一就是文件管…

SpringBoot快速入门笔记(1)

文章目录 一、环境准备1、maven2、新建项目版本问题 二、项目上手1、HelloController2、热部署3、控制器4、参数传递5、ParamsController 一、环境准备 1、maven 把下载的maven包给配置好 2、新建项目版本问题 新建项目发现没有Java8&#xff0c;新版本IDEA问题&#xff08;2…

JAVA基础02-Java语言基础以及编译准备工作

什么是JAVA语言 Java是一门面向对象的编程语言&#xff0c;不仅吸收了C语言的各种优点&#xff0c;还摒弃了C里难以理解的多继承、指针等概念&#xff0c;因此Java语言具有功能强大和简单易用的两个特征。 &#xff08;可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式…

HTTPS跟HTTP有区别吗?

HTTPS和HTTP的区别&#xff0c;白话一点说就是&#xff1a; 1. 安全程度&#xff1a; - HTTP&#xff1a;就像是你和朋友面对面聊天&#xff0c;说的话大家都能听见&#xff08;信息明文传输&#xff0c;容易被偷听&#xff09;。 - HTTPS&#xff1a;就像是你们俩戴着加密耳机…

idea 报错 Could not list the contents of folder “ftps

idea 报错 Could not list the contents of folder "ftps 解决方案 这里看到了网上的解决方案&#xff0c;顺便再记录一下。打开 【高级】菜单 - 取消勾选 被动模式。然后点击测试连接&#xff0c;显示连接成功&#xff01; ftp中的主动模式和被动模式 主动模式&…

嵌入式MCU和SOC之间的区别是什么?

今日话题&#xff0c;嵌入式MCU和SOC之间的区别是什么&#xff1f;表面上看&#xff0c;MCU代表嵌入式微控制器&#xff0c;而SOC代表片上系统&#xff0c;似乎只是嵌入式系统的不同称谓。然而&#xff0c;在实际的研发和产品设计中&#xff0c;你会发现它们在软硬件层面存在显…

【Python项目】基于django的【医用耗材网上申领系统】

医院信息化是社会发展的一个重要标志&#xff0c;它涉及到医院的各个方面&#xff0c;包括人员和物资&#xff0c;因此受到社会各界的广泛关注。近年来&#xff0c;随着医疗耗材数量的不断增加&#xff0c;如何有效管理这些耗材已经成为管理人员、医生以及社会各方面共同面临的…

数据结构(初阶)第二节:顺序表

从本文正式进入对数据结构的讲解&#xff0c;开始前友友们要有C语言的基础&#xff0c;熟练掌握动态内存管理、结构体、指针等章节&#xff0c;方便后续的学习。 顺序表&#xff08;Sequence List&#xff09; 线性表的概念&#xff1a;线性表&#xff08;linear list&#xff…

C++初阶:模拟实现vector类

模拟实现vector类 实现代码:vector.h #pragma once #include<assert.h> #include<iostream> using namespace std;namespace bit {template<class T>class vector{public:// Vector的迭代器是一个原生指针typedef T* iterator;typedef const T* const_ite…

网络升级固件

资源信息 可知 &#xff1a; install\soc_cv1800b_milkv_duo_sd\boot.sd文件较设备中的同名文件多了128个字节的文件头&#xff1b;install\soc_cv1800b_milkv_duo_sd\rawimages\boot.sd文件与设备中同名文件相同&#xff1b; 环境搭建 服务器 启动TFTP服务 安装TFTP服务器…

vue2项目安装(使用vue-cli脚手架)

使用npm安装 安装镜像&#xff08;使npm创建项目更快&#xff09;&#xff1a;镜像可更换 npm config set registry https://registry.npmmirror.com1.全局安装vue-cli&#xff08;一次&#xff09; npm install -g vue/cli 2. 查看vue-cli 版本 vue --version 3. 创建项目…

Redis的安装部署

目录 1、关闭防火墙 2、yum安装gcc依赖包 3、提前准备好安装包并解压在opt目录下 4、进入redis目录下进行make编译 5、选择用于安装的目录 6、执行软件包提供的 install_server.sh 脚本文件设置 Redis 服务所需要的相关配置文件 7、一直回车直到出现以下提示 8、 把redi…

Java进阶-反射的详解与应用

本文深入探讨了Java反射机制的核心概念、应用实例及其在现代Java开发中的重要性。文章首先介绍了反射的基本原理和能力&#xff0c;包括在运行时动态获取类信息、操作对象字段和方法的能力。随后&#xff0c;通过具体代码示例&#xff0c;展示了如何利用反射进行字段访问、方法…

【嵌入式智能产品开发实战】(十四)—— 政安晨:通过ARM-Linux掌握基本技能【链接静态库与动态库】

目录 链接静态库 动态链接 与地址无关的代码 全局偏移表 延迟绑定 共享库 政安晨的个人主页&#xff1a;政安晨 欢迎 &#x1f44d;点赞✍评论⭐收藏 收录专栏: 嵌入式智能产品开发实战 希望政安晨的博客能够对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论…

6.7物联网RK3399项目开发实录-驱动开发之Camera摄像头的使用(wulianjishu666)

90款行业常用传感器单片机程序及资料【stm32,stc89c52,arduino适用】 链接&#xff1a;https://pan.baidu.com/s/1M3u8lcznKuXfN8NRoLYtTA?pwdc53f Camera 使用 简介 AIO-3399J 开发板分别带有两个 MIPI&#xff0c;MIPI 支持最高 4K 拍照&#xff0c;并支持 1080P 30fp…

ecology9.0通过自定义按钮给明细表某字段赋值

功能&#xff1a;把主表字段赋值给明细表字段 核心代码&#xff1a; <script>jQuery(document).ready(function(){$(#setcgy).click(function(){var cgy_txt WfForm.getBrowserShowName("field1207");debuggervar cgy WfForm.getFieldValue("field1207…

C++面向对象程序设计 - 访问对象中成员的3种方法

在C程序中访问对象的成员变量和成员函数&#xff0c;有三种方法&#xff1a; 通过对象名和成员运算符访问对象中的成员&#xff1b;通过指向对象的指针访问对象中的成员&#xff1b;通过对象的引用变量访问对象中的成员 在了解访问对象中成员的3种方法前&#xff0c;先了解下C…