字符数组

C++常用字符串函数使用整理

一曲冷凌霜 提交于 2019-12-07 11:22:26
C++常用字符串函数使用整理 strlen(字符数组) 功能:求字符串长度。 说明:该函数的实参可以是字符数组名,也可以是字符串。 使用样例: char s1[80] = "China"; cout<<strlen(s1)<<'\n';      //输出结果为5 cout<<strlen("大学生")<<'\n';   //输出结果为6  结果说明:一个汉字有两个字节,所以strlen("大学生")的结果为6。 strcpy(字符数组1,字符数组2) 功能:将字符数组2中的字符串复制到字符数组1中 说明: (1)字符数组1的长度必须大于等于字符数组2的长度。 (2)复制时连同字符串后面的'\0'一起复制到字符数组1中。 (3)不能用赋值语句将一个字符串常量或字符数组直接赋给一个字符数组。 (4)字符数组的复制只能用strcpy函数处理。用一个赋值语句只能将一个字符赋给一个字符型变量或字符型数组元素。但可以在定义的时候初始化。 如以下形式: str1 ={''Good"};    //不合法 str1 = str2;      //不合法 char a[5],c1,c2; c1 = 'A'; c2 = 'B';    //合法 c[0] = 'C';       //合法 char g[20] = "aaaa''   //合法 使用样例: `char a[20]="aaaaaa"

JAVA 字符流与字节流的区别

风流意气都作罢 提交于 2019-12-06 19:32:48
Java 流在处理上分为字符流和字节流。字符流处理的单元为 2 个字节的 Unicode 字符,分别操作字符、字符数组或字符串,而字节流处理单元为 1 个字节,操作字节和字节数组。 Java 内用 Unicode 编码存储字符,字符流处理类负责将外部的其他编码的字符流和 java 内 Unicode 字符流之间的转换。而类 InputStreamReader 和 OutputStreamWriter 处理字符流和字节流的转换。字符流(一次可以处理一个缓冲区)一次操作比字节流(一次一个字节)效率高。 ( 一 )以字节为导向的 stream------InputStream/OutputStream InputStream 和 OutputStream 是两个 abstact 类,对于字节为导向的 stream 都扩展这两个鸡肋(基类 ^_^ ) ; 1、 InputStream 1.1 ByteArrayInputStream -- 把内存中的一个缓冲区作为 InputStream 使用 . construct--- (A)ByteArrayInputStream(byte[]) 创建一个新字节数组输入流( ByteArrayInputStream ),它从指定字节数组中读取数据( 使用 byte 作为其缓冲区数组) (B)---ByteArrayInputStream(byte[]

程序设计阶段性总结报告三

这一生的挚爱 提交于 2019-12-06 13:17:35
程序设计阶段性总结报告三 一:知识点梳理 (一):一维数组 1.数组的创建及初始化 (1)数组创建时,[ ]中要给一个常量,不能用变量 例: int main( ) { int a[10]; char b[4]; double d[6]; } (2)数组在创建时时未指定数组的确定大小时,就得初始化。 例: int days[7]={1,2,3,4,5,6,7} 2.一维数组的使用 (1)数组下标从0开始; (2)数组尽量开大一点,防止数组越界; 3.一维数组在内存中的存储 一维数组在内存中是连续存放的。 (二):二维数组 1.数组的创建及初始化 例(创建): int main() { int a[3][4]; char b[4][5]; double d[2][4]; } 例(初始化): int main() { int a[3][4] = {1,2,3,4}; char b[4][5] = {{1,2},{4,5}}; double d[][4] = {{2,3},{4,5}}; } 2.二维数组的使用 (1)二维数组的使用也通过下标的方式 (2)数组下标从0开始; 3.二维数组在内存中(的存储)是连续存放的 (三):字符数组与字符串数组 1.创建及初始化 (1)字符数组定义格式同于一般数组,所不同的是数组类型是字符型,第一个元素同样是从ch[0]开始,而不是ch[1]    例

最近整理的一些常见的面试题,面试大全,黑马程序员面试宝典题库---JavaSE基础篇

自闭症网瘾萝莉.ら 提交于 2019-12-06 12:55:57
JAVA语法(左侧扫描二维码,留言“黑马面试”,自动发原件给你) 1.抽象类(abstract class)和接口(interface)有什么异同? 不同: 抽象类: 1.抽象类中可以定义构造器 2.可以有抽象方法和具体方法 3.接口中的成员全都是 public 的 4.抽象类中可以定义成员变量 5.有抽象方法的类必须被声明为抽象类,而抽象类未必要有抽象方法 6.抽象类中可以包含静态方法 7.一个类只能继承一个抽象类 接口: 1.接口中不能定义构造器 2.方法全部都是抽象方法 3.抽象类中的成员可以是 private、默认、 protected、 public 4.接口中定义的成员变量实际上都是常量 5.接口中不能有静态方法 6.一个类可以实现多个接口 相同: 1.不能够实例化 2.可以将抽象类和接口类型作为引用类型 3.一个类如果继承了某个抽象类或者实现了某个接口都需要对其中的抽象方法全部进行实现, 否则该 类仍然需要被声明为抽象类 2.重载(overload )和重写(override )的区别。重载的方法能否根据返回类型进行区分? 方法的重载和重写都是实现多态的方式,区别在于前者实现的是编译时的多态性,而后者实现的是运行时的多态性。 重载发生在一个类中,同名的方法如果有不同的参数列表(参数类型不同、参数个数不同或者二者都不同)则视为重载; 重写发生在子类与父类之间

C博客作业05--指针

强颜欢笑 提交于 2019-12-06 06:36:08
0.展示PTA总分 1.本章学习总结 1.1 学习内容总结 指针与指针变量的概念 指针:内存中的一个存储单元的地址,即内存单元的编号 指针变量:声明一个变量并使用地址作为该变量的值,即一个能存放地址值的变量,通过它存放的地址值能 间接访问 它所指向的内容 指针变量的定义、使用方法、初始化 定义:类型名 指针变量名。例如 : char p;int *p ; 指针变量的类型应与其所指向内容类型一致 使用方法:使指针变量指向某个变量,(即将某变量的地址值赋给指针变量)。例如:int x; int *p=&a; 使用指针变量时必须先赋值后引用,没有被赋值的指针是野指针,它所指向的内容无法确定 初始化:int a;int *p; p=&a; 指针变量不能被赋值,不能直接让指针指向整型数据,指针代表的是一个变量的地址。(可以将0或者NULL赋给指针,但是有的系统不支持赋0) 指针运算的优先级与结合性 &a等同于a,均代表内容; & p等同于&a,均代表地址。(单目运算符优先级是相同的,但从右向左结合。) p++等同于 (p++),代表的是内容。 ( p)++与 (p++)的区别:前者是指针p所指向的内容自增相当于a++,而后者是运算完p所指向的内容后将指针向下移了一个位置 指针与动态内存分配 我们以往的定义如 :int a[10]; int b等等都是系统的静态内存分配

C语言博客作业05——指针

|▌冷眼眸甩不掉的悲伤 提交于 2019-12-06 06:35:24
0.展示PTA总分 1.本章学习总结 1.1学习内容总结 a.地址和指针 在C语言中,指针被认为是计算及内存地址的代名词之一,指针变量本身就是变量,本身有一个地址,不同的是指针的 内容是地址 ,即存放的是地址。指针中有两个重要的符号,即 和&,其中 号第一次使用的时候,是用来定义一个指针变量,第一次使用后,再次使用,则表示这个指针的内容,也就是某个地址,而&号则是表示取地址的意思,在scanf()函数里,则是我们对&号的第一次接触,就是取地址的意思。 b.指针的定义 int *p;//用*表示定义一个指针变量,p就是一个指针。 int i; char *cp; p=NULL; cp=&i; Tip:指针变量被定义后,必须将指针变量和一个特定的变量进行关联后才可以使用它,不能在没有指向具体的某个变量情况下,对指针进行操作。 c.指针的基本运算 *p++ 先将*p作为表达式的值,再将指针p的值加一,运算后,p不在指向变量a,即*p=*(p+1)。 表达式 *(p++)和 *p++等价。 ++*p - ++*p的意思是将p所指的变量的值加一,和 *p= *p+1,( *p)++表示的意思是一样的。 指针的赋值运算 指针之间的赋值运算必须是同类型的 利用指针计算数组元素的个数和数组元素的存储个数 double *p,*q; double a[2]; p=&a[0]; q=p+1;

Java之String类

∥☆過路亽.° 提交于 2019-12-06 02:37:58
String类概述 java.lang.String 类代表字符串。Java程序中所有的字符串文字(例如 "abc" )都可以被看作是实现此类的实例。其实就是说:程序当中所有的双引号字符串,都是String类的对象。(就算没有new,也照样是。)。 类 String 中包括用于检查各个字符串的方法,比如用于 比较 字符串, 搜索 字符串, 提取 子字符串以及创建具有翻 译为 大写 或 小写 的所有字符的字符串的副本。 字符串的特点: 字符串的内容永不可变。 正是因为字符串不可改变,所以字符串是可以共享使用的。 字符串效果上相当于是char[]字符数组,但是底层原理是byte[]字节数组。 使用String类 查看类 java.lang.String :此类不需要导入。 查看常见的构造方法 ( 创建字符串的3种方式 ) public String() :初始化新创建的String对象,以使其表示空字符序列。创建一个空白字符串,不含有任何内容。 public String(char[] value) :通过当前参数中的字符数组来构造新的String。"abc"等效于 char[] data={'a','b','c'} 。 public String(byte[] bytes) :通过使用平台的默认字符集解码当前参数中的字节数组来构造新的 String。String底层是靠字符数组实现的

javascript之基础篇

£可爱£侵袭症+ 提交于 2019-12-05 22:15:00
浅谈前端发展史 第一阶段 从C/S(client(应用程序) server)() -> B/S (Brower(浏览器) server) 第二阶段: 从静态到动态,从后端到前端 前后端分离 后台:完成数据的分析和业务逻辑编写 前端: 网页制作,js交互效果,数据的交互和绑定 技术栈 javascript AJAX(跨域技巧:nginx cors jsonp proxy), jQuery... 第三阶段 从前端到全端(从pc到移动端) 技术栈: H5 css3 响应式布局, zepto hybrid(混合APP) 从前端到全栈 全栈开发: 前后端都可以,NODE(Express/Koa...) 为了前端的发展和维护,js诞生了前端高性能的高性能的框架:Vue React webpack... 浏览器基础 浏览器内核 webkit内核(v8) Google/Safari/opera >= 14 /大部分国内浏览器, 手机浏览器 Gecko 火狐fireFox Presto Opera < v14 Trident IE IE Edge 浏览器内核的作用:按照一定的规范,把代码给予GPU(显卡)绘制成对应的图形和页面等 为什么会出现兼容性 : 部分浏览器提前开发的更好的功能,后期会被W3C收录,但是在收录之前,会出新一定的兼容性 JavaScript基础 JS时一门轻量级的客户端脚本语言

stl 题目总结

两盒软妹~` 提交于 2019-12-05 20:37:11
stl 题目总结 一、圆桌问题 1 、问题: 圆桌上围坐着2n个人。其中n个人是好人,另外n个人是坏人。如果从第一个人开始数数,数到第m个人,则立即处死该人;然后从被处死的人之后开始数数,再将数到的第m个人处死……依此方法不断处死围坐在圆桌上的人。试问预先应如何安排这些好人与坏人的座位,能使得在处死n个人之后,圆桌上围坐的剩余的n个人全是好人。 输入:多组数据,每组数据输入:好人和坏人的人数n(<=32767)、步长m(<=32767); 输出:对于每一组数据,输出2n个大写字母,‘G’表示好人,‘B’表示坏人,50个字母为一行,不允许出现空白字符。相邻数据间留有一空行。 2、设计思路: 1)开辟一个动态数组,并初始化(编号1-2*n). 2) 根据步长、当前数组长度,求出应该“杀死”的人的下标,并按此下标将此人从数组中删去。 3)重复 2)直到数组中仅有 n 个人。 4)开辟一个标志数组,初始化全为 0 ,以动态数组的值作为下标,将对应位置的值改为 1。 5)输出序列,标志数组为 1 输出 ‘G’ 为 0 输出 ‘B’。 代码: #include<iostream> #include<vector> #include<cstring> using namespace std; int a[70000],n,m,cnt; vector<int> v; int main() {

字符数组和字符串

↘锁芯ラ 提交于 2019-12-05 15:40:13
今天主要把过往学习的零碎知识点聚合起来,肯定有些凌乱,不想看下去就别看了。 字符数组:   存放字符型数据的数组   定义:用char作类型标识符定义数组   例:char str1 [50],str2 [3][30];   定义了一个数组名为str1长度为50的一维字符数组和一个数组名为str2含有3×30个数组元素的二维数组   字符数组的初始化:   1)完全  char str [5]={'h','e','1','1','0'};   2)部分  '\0'(0的状态为八进制)   3)省略数组长度 字符串:   以'\0'作为串的结束符   字符串的输入输出:   scanf_s("%s",字符数组名或指针变量); 软件技术基础:   软件危机→产生软件工程(写文档)→解决软件危机   面向对象:一种方法或思想,例子:宫保鸡丁,“宫保”就是方法。   数据结构:存储与查找,解决逻辑问题   数据库:(二维)表   协议(规则):解决异构问题,例子:手机与电脑之间能够通信,是因为协议的存在。   软件=程序+文档   软件开发系统的发展:四个阶段 机器 汇编(对硬件操作,效率最高) 高级 面向对象语言,可视化语言   软件工程:工程的方法   算法的五个特性:有穷性、输入性、输出性、可行性、确定性   软件的 复用 :→面向对象的核心 复用:参考别人的成果——与“复制”区分开