C++学习day--08 数组和字符串
1、什么是数组
1 )由多个大小相同的小柜子组成 => 相同大小的内存块组成,即相同类型的数据2 )这些小柜子,有自己对应的编号 => 编号从 0 开始递增3 )而且这些编号是递增顺序。数组的“容量”是不能改变的。
数组的定义
// 定义了一个数组,// 数组名是“a”,// 包含 8 个元素,// 每个元素是 int 类型的变量

// 每周的锻炼时间:int exercises[7] = {[1] = 1, //a[1] = 1[3] = 2, //a[3] = 2// 没有指定的成员,被初始化为 0};不是连续方式赋值,只有C 编译器支持, c++ 编译器不支持这种方式,不建议这样使用,但是要知道这种赋值方式,以后开发不建议用这种赋值方式。
int a[2] = {1,2,5}; //错误!初始值太多,大于数组的容量int a[3];a = {1, 2, 3}; //不能对数组名直接赋值!int a[3];a[3] = 10; //下标越界!下标的取值范围是 0, 1, 2
数组元素的访问
通过下标访问对应的元素。
int girlSize[10];a[5] = 38;printf(“%d\n”, a[5]);cout << a[5];
string name = "Rock";//name[i]是 string 字符串中的第 i 个字符(char 类型)for (int i=0; i< name.length(); i++) {cout << name[i];}name[0] = 'L'; //name 变成:Lockcout << endl << name;
2、C 风格的字符串详解
demo1char name[10];name[0] = 'R';name[1] = 'o';name[2] = 'c';name[3] = 'k';name[4] = 0; //字符串结束符 0,就是 '\0'printf(" 姓名: %s", name); //姓名: Rockname[2] = 0;printf(" 姓名: %s", name); //姓名:Ro
demo2
char name[10] = "Rock"; // 相当于 char name[10] = {'R', 'o', 'c', 'k', ' \0 '};printf(" 姓名: %s", name);
demo3
char name[] = "Rock"; //相当于:name[5] = "Rock"
printf("%d", sizeof(name)); //5
C 语言字符串的输入输出
#include <stdio.h>#include <Windows.h>int main( void ) {char name[16];char addr[64];printf( " 姑娘芳名 ?\n" );scanf( "%s" , name);// 此时输入缓冲区中还有一个回车符// 清空输入缓冲区fflush(stdin);// 有些编译器不支持这个用法printf( " 姑娘家住何地 ?\n" );gets(addr); // 读一行,包括一行中的空格printf( " 家住 %s 的 %s, 我中意你 !\n" , addr, name);system( "pause" );return 0;}
3、计算机英语加油站
string | 字符串 |
length | 长度 |
scanf | C 语言的标准输入函数 |
parameter | 参数 |
return value | 返回值 |
str on success, NULL on failure. | 如果成功,就是 str 如果失败,就是 NULL |
4、常见错误总结
#include <iostream>#include <Windows.h>#include <stdio.h>using namespace std;void clearBuff() {char tmp;while ((tmp = getchar()) != '\n' );}int main( void ) {int age = 0;int height =0;//身高, 单位:cmcout << "请输入年龄: " << endl;cin >> age;if (cin.fail()) {cout << "输入失败,应该输入一个整数" << endl;cin.clear();//cin.sync();clearBuff();}cout << "请输入身高: " << endl;cin >> height;cout << "年龄: " << age << endl;cout << "身高:" << height << endl;system( "pause" );return 0;}
string 是 c++ 特有的一种数据类型,不能用C 语言的 scanf 来输入数据。会出现编译器警告。
5、职场修炼:技术和领导关系哪个更重要
补充:一切关系,都是以个人的价值为基础的。
6、逼格提升:解决 Bug 的第 1 手段-断点调试
#include <iostream>#include <Windows.h>#include <string.h>using namespace std;int main(void)
{float r;float s;cout << " 请输入圆的半径: " ;scanf( "%f" , r);s = 3.14 * r * r;cout << " 面积是: " << s << endl;system( "pause" );return 0;}
你发现问题所在的地方了吗??答案(缺少地址符&)
练习1:
#include <iostream>#include <string>#include <Windows.h>using namespace std;int main( void ) {string word;int count = 0;int length = 0;cout << " 请输入任意多个单词: " ;while (1) {// 输入成功时,返回 cin 对象本身// 遇到文件结束符(ctrl+z ),而导致输入失败是,返回 0if ((cin >> word) == 0) {break ;}count++;length += word.length();}cout << " 一共有 " << count << " 单词 " << endl;cout << " 总长度: " << length << endl;system( "pause" );return 0;}
C 语言版本
#include <stdio.h>#include <string.h>#include <Windows.h>int main( void ) {char word[64];int count = 0;int length = 0;printf( " 请输入任意多个单词: " );while (1) {// 输入失败 返回 0// 遇到文件结束符 (ctrl+z ),返回 -1 ( EOF )if (scanf( "%s" , word) == -1) {break ;}count++;length += strlen(word);}printf( " 一共有 %d 个单词 \n" , count);printf( " 总长度: %d\n" , length);system( "pause" );return 0;}
C 语言版本:
#include <stdio.h>#include <string.h>#include <Windows.h>int main( void ) {char line[2048];int lineCount = 0;int length = 0;printf( " 请输入任意多行: " );while (1) {if ( gets(line) == 0) {break ;}lineCount++;length += strlen(line);}printf( " 一共有 %d 行 \n" , lineCount);printf( " 总长度: %d\n" , length);system( "pause" );return 0;}
C++版本:
#include <iostream>#include <string>#include <Windows.h>using namespace std;int main( void ) {string line;int lineCount = 0;int length = 0;cout << " 请输入任意多行: " ;while (1) {// 遇到文件结束符时, 返回 NULL ( 0 )if (getline(cin, line) == 0) {break ;}lineCount++;length += line.length();}cout << " 一共有 " << lineCount << " 行 " << endl;cout << " 总长度 : " << length << endl;system( "pause" );return 0;}
相关文章:

C++学习day--08 数组和字符串
1、什么是数组 数组,就是多个元素的有序“组合”。 C 和 C语言中的数组: 1 )由多个大小相同的小柜子组成 > 相同大小的内存块组成,即相同类型的数据 2 )这些小柜子,有自己对应的编号 > 编号从 …...

系统分析师之系统测试与维护(十六)
目录 一、 测试与评审 1.1 测试类型 1.2 测试阶段 1.3 面向对象的测试 1.4 测试自动化 1.5 软件调试 1.6 软件评审 1.7 验收与确认 二、软件质量管理 2.1 软件过程改进-CMMI 2.2 软件开发环境与工具 三、系统运行与评价 3.1 系统转换计划 3.1.1 遗留系统演化策略…...

板材激光切割机切割穿孔时注意的几个问题
激光切割设备广泛应用于钣金、五金制品、钢结构、汽车配件、广告、工艺品等行业,成为加工行业不可缺少的环节。在厚板加工中穿孔时间占很大比重,随着加工板材越来越厚,板材激光切割机切割穿孔也会相应地增加难度。 激光切割机两种常见的穿孔方…...

奶爸式Swagger教学
目录 一、导入依赖 二、SwaggerConfig基础编程 三、Swagger 常用说明注解 1.API 2.ApiOperation 3.ApiModel 4.ApiModelProperty 5.ApiParam 6.ApilmplicitParam 一、导入依赖 <!--开启Swagger --><!-- https://mvnrepository.com/artifact/io.springf…...

入门级的家用洗地机怎么样?入门级洗地机推荐
洗地机的功能有很多,比如除菌、洗地机清洁地面的确是一把好手。但是!清洁完之后还要手动清洗洗地机,是一件麻烦事啊!现在市面上大部分洗地机都有自清洁这个功能,但是很多洗地机的自清洁并不算真正的自清洁,…...

【面试】Java 反射机制(常见面试题)
文章目录 前言一、反射是什么?二、为什么要有反射三、反射 API3.1 获取 Class 对象的三种方式3.2 获取成员变量3.3 获取构造方法3.4.获取非构造方法 四、实践五、常见面试题5.1. 什么是反射?5.2. 哪里用到反射机制?5.3. 什么叫对象序列化&…...
JavaScript最佳实践
JavaScript最佳实践 2023.5.8版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 JavaScript 是一种动态编程语言,可让开发者创建动态和交互式 Web 应用程序。然而,编写 JavaScript 代码比较具有挑战性,尤其…...

景23转债,海能转债上市价格预测
景23转债 基本信息 转债名称:景23转债,评级:AA,发行规模:11.54亿元。 正股名称:景旺电子,今日收盘价:22.52元,转股价格:25.71元。 当前转股价值 转债面值 / …...

TDengine 部署与使用----时序数据库
官网 通过 Docker 快速体验 TDengine | TDengine 文档 | 涛思数据 docker安装 拉取最新docker镜像 docker pull tdengine/tdengine:latest 然后执行 docker run -d -p 6030:6030 -p 6041:6041 -p 6043-6049:6043-6049 -p 6043-6049:6043-6049/udp tdengine/tdengine 查看容器…...

ShardingSphere系列四(Sharding-JDBC内核原理及核心源码解析)
文章目录 1. ShardingSphere内核解析1.1 解析引擎1.2 路由引擎1.3 改写引擎1.4 执行引擎1.5 归并引擎 2. ShardingSphere的SPI扩展点2.1 SPI机制2.2 ShardingSphere中的SPI扩展点2.3 实现自定义主键生成策略 3. ShardingSphere源码 1. ShardingSphere内核解析 ShardingSphere虽…...
【2023】华为OD机试真题全语言-题目0234-字符串重新排列
题目0234-字符串重新排列 题目描述 给定一个字符串s,s包括以空格分隔的若干个单词,请对s进行如下处理后输出: 单词内部调整:对每个单词字母重新按字典序排序单词间顺序调整: 统计每个单词出现的次数,并按次数降序排列次数相同,按单词长度升序排列次数和单词长度均相同…...

Springboot +Flowable,三种常见网关的使用(排他、并行、包容网关)(一)
一.简介 Flowable 中常用的网关主要有三种类型,分别是: 排他网关并行网关包容网关 下面来说下这三种的网关的概念和用法。 二.排他网关 排他网关,也叫互斥网关,截图如下: 排他网关有一个入口,多个有效…...
软考高项(一)信息化发展 ★重点集萃★
1、信息是确定性的增加。信息不是物质,也不是能力。 2、信息的特征与质量,主要包括:客观性、普遍性、无限性、动态性、相对性、依附性、变换性、传递性、层次性、系统性和转化性等。 3、信息的质量属性,主要包括:精确…...

大项目准备(2)
目录 中国十大最具发展潜力城市 docker是什么?能介绍一下吗? 中国十大最具发展潜力城市 按照人随产业走、产业决定城市兴衰、规模经济和交通成本等区位因素决定产业布局的基本逻辑,我们在《中国城市发展潜力排名:2022》研究报告…...

计算机网络【2】 子网掩码
学习大佬记下的笔记 https://zhuanlan.zhihu.com/p/163119376 "子网"掩码,顾名思义,它就是拿来划分子网的,更准确的说,划分子网的同时,还能通过它知道主机在子网里面的具体ip的具体地址。 子网掩码只有一个…...

linux发行家族和发行版及安装软件方式
在Linux平台下,软件包的类型可以划分为两类:源码包、二进制包; 一个软件要在Linux上执行,必须是二进制文件; 源码包:即程序软件的源代码(一般也叫Tarball,即将软件的源码以tar打包后…...

FE_Vue学习笔记 条件渲染[v-show v-if] 列表渲染[v-for] 列表过滤 列表排序
1 条件渲染 v-show v-if 使用template可以使其里面的内容在html的结构中不变。条件渲染: v-if 1)v-if“表达式” 2)v-else-if“表达式” 3)v-else {} 适用于:切换频率较低的场景。特点:不展示的DOM元素直…...

基于C++实现旅行线路设计
访问【WRITE-BUG数字空间】_[内附完整源码和文档] 系统根据风险评估,为旅客设计一条符合旅行策略的旅行线路并输出,系统能查询当前时刻旅客所处的地点和状态(停留城市/所在交通工具)。 实验内容和实验环境描述 1.1 实验内容 城…...

Lenovo m93 mini 电脑 Hackintosh 黑苹果efi引导文件
原文来源于黑果魏叔官网,转载需注明出处。(下载请直接百度黑果魏叔) 硬件型号驱动情况 主板Lenovo m93 mini 处理器Intel i5-4590T 2.20GHz (35w) 4-core/4-thread已驱动 内存8GB (2x4) DDR3 1600MHz已驱动 硬盘2.5" SSD Samsung 8…...

【论文阅读】COPA:验证针对中毒攻击的离线强化学习的稳健策略
COPA: Certifying Robust Policies for Offline Reinforcement Learning against Poisoning Attacks 作者:Fan Wu, Linyi Li, Chejian Xu 发表会议:2022ICRL 摘要 目前强化学习完成任务的水平已经和人类相接近,因此研究人员的目光开始转向…...

XML Group端口详解
在XML数据映射过程中,经常需要对数据进行分组聚合操作。例如,当处理包含多个物料明细的XML文件时,可能需要将相同物料号的明细归为一组,或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码,增加了开…...

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造,完美适配AGV和无人叉车。同时,集成以太网与语音合成技术,为各类高级系统(如MES、调度系统、库位管理、立库等)提供高效便捷的语音交互体验。 L…...

业务系统对接大模型的基础方案:架构设计与关键步骤
业务系统对接大模型:架构设计与关键步骤 在当今数字化转型的浪潮中,大语言模型(LLM)已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中,不仅可以优化用户体验,还能为业务决策提供…...

使用VSCode开发Django指南
使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架,专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用,其中包含三个使用通用基本模板的页面。在此…...
java_网络服务相关_gateway_nacos_feign区别联系
1. spring-cloud-starter-gateway 作用:作为微服务架构的网关,统一入口,处理所有外部请求。 核心能力: 路由转发(基于路径、服务名等)过滤器(鉴权、限流、日志、Header 处理)支持负…...
【Java学习笔记】Arrays类
Arrays 类 1. 导入包:import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序(自然排序和定制排序)Arrays.binarySearch()通过二分搜索法进行查找(前提:数组是…...
mongodb源码分析session执行handleRequest命令find过程
mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程,并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令,把数据流转换成Message,状态转变流程是:State::Created 》 St…...
Go 语言接口详解
Go 语言接口详解 核心概念 接口定义 在 Go 语言中,接口是一种抽象类型,它定义了一组方法的集合: // 定义接口 type Shape interface {Area() float64Perimeter() float64 } 接口实现 Go 接口的实现是隐式的: // 矩形结构体…...

基于当前项目通过npm包形式暴露公共组件
1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹,并新增内容 3.创建package文件夹...
质量体系的重要
质量体系是为确保产品、服务或过程质量满足规定要求,由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面: 🏛️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限,形成层级清晰的管理网络…...