C++一些基本概念总结【面向过程篇】——数组

【C++】使用 yaml-cpp 库操作 YAML 配置文件有利于我们灵活配置工程,解决大量重复劳动,也方便调试。YAML 是一种人类可读的数据序列化格式,它使用缩进和特定的符号来表示数据结构。在本文中,我们将详细介绍如何在 C++ 中使用yaml-cpp库来解析和生成 YAML 格式的数据。 阅读详情


数组的声明

声明一维数组:<类型名><数组名>[<下标表达式>]={<初值表>},如char a[5],int b[ ]={1,2,3}

声明多维数组:<类型名><数组名>[<下标表达式1>][<下标表达式2>]...[<下标表达式n>]={<初值表>},如float c[2][3]


注意:

(1)一维下标表达式表示数组中元素的个数,可以省略,但必须赋初值,这样系统会根据所赋初值的个数来确定数组的大小。

(2)不能用变量来描述元素的个数,但可以用const。

(3)二维数组下表表达式不能省略,第一个表示行数,第二个表示列数。


数组的引用:通过下标来访问,如a[2],b[2][3]


数组的赋值:

(1)初始化的时候就赋值

如:int c[3]={1,2},后面不足的部分系统自动补0(对于数值数组)或者补'\0'(对于字符数组),char a[3]={'a','b','c'}

(2)声明数组之后,通过赋值表达式赋值

(3)通过输入语句赋值

如:int a[3],cin>>a[0]

(4)通过循环语句赋值

如:for(int i=0;i<=9;i++) a[i]=i;

对于没有赋值的元素,不能调用


字符串

字符串函数包含在<string.h>

传统字符串:char ch1[ ]={"hello"},长度为6,包括5个字符和一个'\0'

字符数组:char ch2[ ]={'h','e','l','l','o'},长度为5

几个字符串函数

(1)strcpy(char des[ ],const char src[ ])函数:将src拷贝到des

(2)strcat(char target[ ],const char src[ ])函数:将src接到target后面

(3)strlen(const char string[ ])函数:计算字符串的实际长度,如char a[ ]={"abc"},int num=strlen(a)  //3

(4)strlwr():将字符串中大写转成小写

(5)strupr():将字符串中小写转成大写

(6)strcmp():字符串大小比较(从左至右按照ASCII比较)

               65~90为26个大写英文字母A-Z,97~122号为26个小写英文字母a-z

(7)sizeof和strlen比较:

             (1)sizeof是运算符,编译时就可以算出来;strlen是函数,要到运行时才能算出来。

             (2)sizeof计算的是在栈中分配的内存大小

             (3)sizeof可以处理字符串和字符数组,运算结果是它们所占用字节数;strlen只能用于计算字符串的实际个数或长度

如char ch1[]={'a','b','c'},// 没有指定长度的字符数组 

    char ch11[5]={'a','b','c'},// 指定了长度的字符数组    

    char ch2[ ]={'abc"} //字符串


sizeof(ch1)/sizeof(char)      //3

sizeof(ch11)/sizeof(char)    //5

sizeof(ch2)/sizeof(char) //4,因为字符串包含结束符'\0'

strlen(ch2)  //3


数组作为函数参数

(1)数组元素作为函数参数:值传送

(2)数组名作为函数参数:地址传送。因为数组名就是该数组的首地址。这样行参数组就和是参数组共占用同一段内存单元,形参发生变化,实参也变化。

第二篇 面向过程的程序设计 第二篇 面向过程的程序设计 程序设计初步 根据程序设计的要求编写程序,安排好它们的执行顺序,并且保证它的正确性和高效性。这就是算法需要解决的问题。 一个面向过程的程序应包括:对数据的描述和对操作的描述;即数据结构和操作步骤(也就是算法)。 程序=算法+数据结构 算法:处理问题的一系列的步骤。 可分为数值算法和非数值算法。 算法的表示:(1)自然语言;(2)流程图;(3)伪代码,是用介于自然语言和计... 阅读详情

相关推荐

C++ 一维数组

一维数组 数组的基本概念 声明(创建)一维数组及规则 引用数组元素 数组排序 冒泡排序法 数组的基本概念 先来说一下一维数组的定义:一维数组即为下标只有一个的数组,一维数组也是最简单的数组 数组也就是一组按照顺序排列在一起且类型相同的多个数据,严格来说,数组并不是一种数据类型,而是一组相同数据类型的变量集合,在程序中使用数组的好处是可以用一个统一的数组名代表逻辑上相关的一组数据,并用下...

游离态De猫 4877

C++学习笔记:(一)面向对象 & 类与对象

目录 1.面向对象的概念 2.类与对象 2.1类的定义格式 2.2 对象的定义与使用 2.3 构造函数和析构函数 2.4 内存的动态分配 2.5 对象数组和对象指针 2.6 函数参数的传递机制 2.7 友元 1.面向对象的概念 早期的计算机编程是基于面向过程的方法,例如实现算术运算1+1+2 = 4,通过设计一个算法就可以解决当时的问题。随着计算机技术的不断提高,计算机被用...

Tyler_Zx的博客 4106

C++ 看面向过程与面向对象编程

在编程的广袤天地中,编程范式如同璀璨繁星,照亮着开发者前行的道路。而在 C++ 这门强大的编程语言中,面向过程编程与面向对象编程无疑是最为耀眼的两颗明星,它们各自散发着独特的光芒,为开发者解决问题提供了截然不同却又同样强大的思路。面向过程编程,以其简洁直接、注重步骤流程的特点,在软件开发的早期阶段大放异彩,成为众多简单任务的首选编程方式。而随着软件系统的日益复杂,面向对象编程应运而生,它以模拟现实世界中的对象及其交互为核心思想,赋予了程序更高的灵活性、可维护性和扩展性。

qq_46676829的博客 575

C++中的数组

1.Cpp中的数组 C++支持数组数据结构,它可以存储一个固定大小的相同类型的元素的顺序集合。数组是用来存储一系列数据,但它往往被认为是一系列相同类型的变量。数组的声明并不是声明一个个单独的变量,如a0,a1,a2,a3,a4…,a99,而是声明一个数组变量,比如as,然后使用as[0],as[1],as[2],…,as[99]来代表一个个单独的变量,数组的特定元素可以通过索引来访问。所数组都是...

CurryCoder的个人博客 3万+

Dynamics CRM证书更换

  Dynamics CRM产品一般有两种认证方式。第一种是基于声明的内部访问也就是无证书单纯用账号密码验证。第二种就是联合身份认证,需要安装网站证书。   对于联合身份认证的情况因为需要安装证书,而且证书是有一个一年的有效期,所以运维人员每年都需要进行证书更换的操作。以下就是更换证书的方法及过程。 证书根据申请方式一般也分两种,第一种是自建证书,这种证书是没有机构认证的所以安装上之后网站因为没...

bzpfly的博客 877

UE5 SplineMesh与StaticMesh性能对比:生成1000米路径的帧率与内存实测

本文深度对比了UE5中SplineMesh与StaticMesh在生成1000米路径时的性能差异,包括帧率、内存占用及实现复杂度。实测数据显示,SplineMesh在Draw Call优化和动态变形场景中表现更优,而StaticMesh适合需要复杂材质变化的场景。文章还提供了优化技巧和选型指南,帮助开发者根据项目需求做出科学决策。

weixin_33976326的博客 315

C++一些基本概念总结【面向过程篇】——指针

(1)定义指针:存储类型名数据类型 *指针变量名(定义必须用*) 存储类型名:静态、栈、自动类型 数据类型:指针指向的数据类型。指针本身数据类型是unsigned long int。 如 int *p1、static int *p2、char *p3 指针变量是p而不是*p 可以在一起定义 通过指针给指向的变量赋值,如 inta=1,*pa=&a;  再赋值:*pa=2;(a变成2

code_caq的博客 599

Spring Boot整合AWS S3文件上传实战:从配置到权限管理全流程解析

本文详细解析了Spring Boot整合AWS S3文件上传的全流程,包括基础配置、核心上传功能实现、高级权限控制及安全最佳实践。通过实战案例展示如何高效处理文件上传、大文件分片及权限管理,帮助开发者构建健壮的文件管理系统。特别强调AWS S3的高可用性和安全性,适用于企业级应用开发。

sam99的博客 283

【C++入门】数组:从基础到实践

数组是 C++ 编程中非常基础和重要的数据结构。数组具有高效的随机访问能力,但也存在大小固定和插入删除操作效率低的缺点。在实际编程中,需要根据具体的需求选择合适的数据结构。

byte轻骑兵的技术小窝 1万+

kettle连接达梦资源库数据库插件

kettle自定义插件plugin database plugin 达梦插件 dm插件

weixin_42122126的博客 2169

飞腾X100芯片GPU状态查询

本文档对在linux系统下查看X100芯片GPU状态信息进行说明,可以帮助大家了解芯片的实时工作状态。

乌拉大喵喵 2814

C++——面向过程

1. 数据类型 C++数据类型包括字符型(char)、宽字符型(wchar_t)、整型(int)、浮点型(float)、双浮点型(double)、布尔型(bool),操作系统会根据变量的数据类型来分配内存和决定再保留内存中存储什么。 基本类型可使用一个或多个类型修饰符:有符号型(signed)、无符号行(unsigned)、短(short)、长(long),具体存储数据范围如下: typedef typedef type newname; typedef int feet; feet distance;

Seven_Yang_C的博客 1915

Hi3516CV610 YOLOv8模型转换与部署实战:从源码到板端推理全流程解析

本文详细解析了将YOLOv8模型部署到Hi3516CV610开发板的全流程。内容涵盖从Ubuntu环境搭建、模型获取与验证,到关键的PyTorch模型转换为ONNX格式,并利用海思工具链量化生成板端可执行的.wk文件。最后,指导开发者编写板端C程序,完成视频流处理、NNIE推理及结果后处理,并提供了部署调试与性能优化的实用技巧。

weixin_29215815的博客 268

Cpp数组

与 vector 类型相似,数组也可以保存某种类型的一组对象;而它们的区别在于,数组的长度是固定的。数组一经创建,就不允许添加新的元素。指针则可以像迭代器一样用于遍历和检查数组中的元素。设计良好的程序只有在强调速度时才在类实现的内部使用数组和指针。   此常量表达式只能包含整型字面值常量、枚举常量或者用常量表达式初始化的整型 const 对象。非 const 变量以及要到运行阶段才知道其值的c...

= = 3359

Doris数据过期策略:自动清理历史数据

在数据的世界里,就像我们的房间会堆满各种东西一样,数据库也会积累大量的数据。随着时间的推移,很多历史数据可能不再经常被使用,但它们却占据着宝贵的存储空间。Doris是一款强大的数据库,为了让它能更高效地运行,合理地管理数据,我们就需要一种方法来自动清理那些不再需要的历史数据。本文的目的就是详细介绍Doris的数据过期策略,让大家知道如何利用这个策略来实现自动清理历史数据。范围涵盖了从基本概念到实际操作的各个方面。本文会先介绍一些和Doris数据过期策略相关的术语,让大家对一些专业词汇有个基本的了解。

软件工程实践的博客 555

Unreal5从入门到精通之Landscape地形系统

虚幻引擎 5 (UE5) 能够利用其强大的地形编辑工具套件创建大规模的地形世界。使用地形工具可以创建身临其境的户外地形,这些地形经过优化,可在多种不同设备上保持可播放的帧速率。

TxNet 4142

C++面向过程的基础

C++面向过程 helloC++ 输出流对象 #include<iostream> using namespace std; int main() { cout<<"This is a C++ program."; system("pause"); return 0; } cout语句 ​ "<<“是"插入运算符”,与cout配合使用 作用:将运算符"<<"右侧双撇号内的字符串"This is a C++ program"插入到输出的队列cout

qq_44863646的博客 860

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

[C++] 数组 详解

大家好啊,zty来更C++的基础之一,那就是数组,作为一个我们做题或者是开发一些内容都不可或缺的一个知识,那我们今天就来深入的去了解一下他,给他来个详解好吧,上一周的多态详解没有到100赞啊,这个博客我想要个100赞可不可以,zty呢最近在冲榜,大家多多支持一下啊,我的目标就是在寒假结束以前冲进前3000好吧,马上正月十五了,祝大家阖家团圆好吧

zty20120913的博客 4294

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

【c++面向过程实验5】数组

【c++面向过程实验5】数组 实验目的: 掌握一维数组和二维数组的定义、赋值和输入输出的使用方法。 掌握与数组有关的算法。 实验内容: #include <iostream> using namespace std; int main() { cout << "1、输入n及n个整数(n<20),然后按奇数升序、偶数降序排列输出:" << endl; int N; cout << "n="; cin >> N; if (N &gt

艳阳袭月 1217

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

C++从入门到精通专栏(2.1)-- 面向过程编程: 数组与字符串:数组的声明与使用、字符数组与字符串处理

掌握数组和字符串的使用是面向过程编程的基础。数组用于存储多个相同类型的元素,而字符串则用于处理字符序列。C++提供了字符数组和两种方式来处理字符串,其中更加方便和安全,推荐在现代C++编程中使用。通过合理使用数组和字符串,你可以编写更加复杂和功能强大的程序,解决实际问题。随着学习的深入,你将能够结合这些基础知识,编写更加高效和优雅的代码。

xiaoheshang_123的博客 987

C++ 篇 数组

在 C 语言中,数组索引是从 0 开始的,所以长度为 n 的数组索引范围为 0 ~ n-1。其中最常用的是一维数组,其次是二维数组,一般很少见到更高维的数组。这些数据项称为数组的元素,我们可以根据元素在数组中的位置来选取元素。注意:在初始化式中省略内层大括号是非常危险的,因为不小心多写或者少写一个值都会影响后面元素的初始化。更高维数组的初始化式可以采取类似的方法构建,C 语言提供了多种方法来简化多维数组的初始化。当数组索引越界时,程序的行为是未定义的,也就是说任何情况都可能发生。最简单的数组就是一维数组。

qq_60245590的博客 832

cpp中数组

数组是一种数组格式, 能够存储多个同类型的值。例如,数组可以存储60个int类型的值、12个short或365个float值。每个值都存储一个独立的数组元素中,计算机在内存中依次存储数组的各个元素。 要创建数组,可使用声明语句。数组声明应指出以下三点:1.存储在每个元素中的值的类型,2.数组名,3.数组中的元素。 在cpp中,可以通过修改简单变量的声明,添加中括号(其中包括元素数目)来完成数组声明。例如,下面的声明创建一个名为months的数组,该数组有1...

liguandong 3058

C++数组【修订】

C++数组 C++支持数组数据结构,它可以存储一个固定大小的相同类型的元素的顺序集合。数组是用来存储一系列数据,但它往往被认为是一系列相同类型的变量。数组的声明并不是声明一个个单独的变量,如a0,a1,a2,a3,a4…,a99,而是声明一个数组变量,比如as,然后使用as[0],as[1],as[2],…,as[99]来代表一个个单独的变量,数组的特定元素可以通过索引来访问。所数组都是由连续的内存位置组成,最低的地址对应第一个元素,最高的地址对应最后一个元素。 C++中的一维数组 声明数..

cnds123的专栏 2万+

C++面向过程篇

声明函数的目的就是告诉编译器函数的返回类型,名称和形参表构成,以便编译器系统对函数的调用进行检查。递归调用的执行包括:递推,回归。外部变量和全局变量是对同一类变量的两种不同角度的提法。全局变是是从它的作用域提出的,外部变量从它的存储方式提出的,表示了它的生存期。   寄存器变量 这种变量存放在CPU的寄存器中,使用时,不需要访问内存,而直接从寄存器中读写, 这样可提高效率。寄存器变量的说明符是 r

生活是一种态度 585

借助python学习c++基础篇——数组

本文对比了Python列表与C++数组的主要区别

qq_62880350的博客 1284

CPP数组与字符串

s

SongyangJi 2130
上一篇: C++一些基本概念总结【面向过程篇】——编译预处理
下一篇: C++一些基本概念总结【面向过程篇】——指针
code_caq
博客等级 码龄11年 112粉丝 58原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值