16字符串使用.pptVIP

  • 6
  • 0
  • 约7.89千字
  • 约 43页
  • 2016-12-03 发布于重庆
  • 举报
16字符串使用

例1.6.4 数字反转(Noip2011) 【问题描述】 给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2)。 【输入】 输入文件名为reverse.in。 输入共1 行,一个整数N。 【输出】 输出文件名为reverse.out。 输出共1 行,一个整数,表示反转后的新数。 【输入样例1】 123 【输出样例1】 321 【输入样例2】 -380 【输出样例2】 -83 【数据范围】 -1,000,000,000 ≤ N≤ 1,000,000,000。 1.6 字符数组和字符串使用 赵修彬 山东省聊城第一中学 字符类型知识回顾 字符数组与字符串基础知识 字符数组与字符串操作 1.6.1 字符 计算机程序处理的数据类型也可以概括的分为数值型数据和非数值型数据两大类,前面学习的内容多以数值型数据的运算或处理为主,接下来我们开始了解一种最基本的非数值型数据的处理知识——字符类型; 字符类型为由一个单个字符组成的数据。通常使用一对单引号将单个字符括起来的表示形式,如’a’ 、‘ ‘ 、‘.’等。 程序设计中常用到的是字符常量或字符变量。 1.6.1 字符 字符常量定义: const 字符常量标识符=’单个字符’; 例如: const ch1=’A’; 说明:本语句说明或定义了一个字符类型的常量,该常量表示的字符数据为‘A’ 字符变量是用来存放单个字符的变量,即只能表示一个单个字符; 字符变量定义: char 字符变量标识符; 例如: char ch1,ch2; 表示定义了两个字符变量ch1和ch2,每个变量进可以表示或者存放一个字符,因此可以利用如下语句赋值: ch1=’a’ ; ch2=’b’ ;ch1=’ ’ 也开始相互赋值 ch2=ch1; 字符与整数的通用性(对应性)关系 前面我们知道,字符数据在内存中是以该字符对应的ASCII编码存储,也即是说每一个常见字符在内存中都与一个唯一的序值一一对应。 在实际程序设计中,一个字符数据既可以以字符形式输出,也可以以整数(ASCII表中的序值)形式输出,还可以对它们进行算术运算。 ASCII码值 字符 ASCII码值 字符 0 nul(空) 65 A 32 space(空格) 90 Z 48 0 97 a 57 9 122 z 字符和整数之间的通用性(对应性)验证: 字符与整数的通用性(对应性)验证 字符数据和整数数据进行基本运算: 字符与整数的通用性(对应性)关系 利用字符和整数间的通用性来实现大小写字母的转换: 思考1、如果我们需要将任意的大写字母转换为小写字母或者小写字母转换为大写字母,如何编写代码? 思考2、如果我们需要将从键盘中接收的英文字母进行大小写的转换,如何编写代码(假设我们输入的字符除了作为键盘字符输入结束’#’外都是英文字母),如何编写实现? 例 将读入的任意英文字母进行大小写转换 以上为单个字符的基本知识与处理,如果是连续的多个字符需要处理,我们将如何解决? 逐一处理——分别对其中的每一个字符进行分别处理——字符数组 整体处理——将连续的字符看做一个整体进行处理——字符串 1、字符数组 我们前面学习数组时已经知道:无论数组的元素有多少个,数组中每个元素的类型必须相同,而且数组元素的类型可以是任何已定义的数据类型,如整形、字符型、实型等。当一个数组的元素类型为字符型时,我们称这个数组为字符数组。字符数组的每一个元素都是一个字符。( 连续的单个字符) 字符数组是计算机非数值处理的基本实现方式之一 例如: char c[5]; c[0]=H;c[1]=e;c[2]=l;c[3]=l;c[4]=o; 其在内存中的存储形式如图所示: H e l l o 1.6.2 字符数组与字符串基础 字符数组与字符串基础 2、字符串 字符串是一对双引号括起来的字符序列(字符组成的整体) 如”Hello world!” 、 “a b c d e f g ”、”a” 、“ ”等。 特别的是,每个字符串的结尾都有一个“字符串结束标志”,以便系统据此判断字符串是否结束。C++语言中用字符’\0’作为字符串结束的标志,’\0’是一个ASCII码为0的字符,占用一个字节,例如有一个字符串”Hello”,在内存里的实际存储如下图所示: 说明:这个字符串占用的不是5个字节,而是6个字节,最后一个字节里面存放的是字符串结束标志’\0’。但是在输出时不会输出’\0’。 又如,char st[ ]=”abcde”; st2[5]; coutsiz

文档评论(0)

1亿VIP精品文档

相关文档