



免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第九课 字符串9.1 字符串类型,其一般形式:type =stringn;n必须是小于256的整数,表示字符串的最大长度,n缺省值为255。例如: var name1 : string20; 字符串name1的最大长度为20 ss : string; 字符串ss的最大长度为255 字符串的实际长度取决于程序执行时所赋予的实际字符个数, 可以用函数length(字符串名)取得,如:t=length(ss); t为整型变量,利用length函数取得字符串ss的实际长度 字符串类型变量可以整体输入和输出,如: read(ss); write(ss); 字符串可以进行连接,连接符为“+”,如:good + morning = good morning 字符串中的每一个字符可以对应字符数组中的一个元素,可以用字符串名加下标(类似数组)的方法来表示,如: ss:= computrr;ss7:= e; writeln(ss); 将输出computer 字符串与字符数组的区别在于字符串最大长度只有255,而数组元素的个数可以超过255。 字符串可以进行六种关系运算:、=、 。当两个字符串进行比较时,是从左到右逐个字符按照它们的ascii码值进行比较。例如: a b 为 true abcd abc 为 false pascal提供了不少函数和过程用于字符串的操作,如:copy(s :string;i , l :integer):string;返回字符串s中从第i个字符开始的l个字符所组成的字符串concat(s1,s2,sn:string):string; 合并一系列字符串pos(p , s :string):byte; 返回子字符串p在字符串s中的位置delete(s :string;i,l:ineger); 从字符串s中删除从第i个字符开始的l个字符 insert(s :string;d :string;p :integer); 在字符串d的p位置插入字符串s str(i :integer / real;s :string); 整数 / 实数转字符串 val(s :srting;r :real;d :integer); 字符串转整数 / 实数【例】编写一个学生成绩统计的程序。 输入:n个学生的姓名、成绩; 输出:平均分,成绩低于平均分的学生的姓名。参考程序: program exam; const maxn=100; var name : array1.maxn of string; 数组name用于存放学生姓名,数组元素为字符串 score : array1.maxn of integer; 数组score用于存放学生成绩 n , i , sum : integer; ave : real;begin readln(n); sum:=0; for i:=1 to n do begin readln(namei); 字符串、字符不能和整型数据共用一个read readln(scorei); sum:=sum+scorei; end; ave:=sum/n; writeln(ave:8:1); for i:=1 to n do if scoreiave then writeln(namei);end.【例】输入一个字符串(长度255),判断是否是回文串(回文串是指从左到右和从右到左读字符串是一样的)。 参考程序:program hwc; var s : string; i , j , n : integer; t : boolean;begin readln(s); n:=length(s); t:=true; i:=1; j:=n; repeat if sisj then t:=false; i:=i+1; j:=j-1; until (i=j) or (t=false); if t then writeln(y) else writeln(n);end. pascal还允许在字符串中嵌入控制字符。有两种表示控制字符的方法: 在符号# 后跟0255之内的整数,表示与ascii码相应的一个字符,如:# 65 表示字符a # 50 表示字符2# 10 表示换行 在符号 后跟一个字符,表示控制字符,如: g 表示响铃当它们与字符串常量混合在一起时,控制字符不能用单引号括起来,例如: writeln (waiting for input! ggg please #27 u ); 输出: waiting for input! please u (同时响铃)5.4 类型强制转换pascal 提供把变量类型强制转换的功能,即把一种变量作为另一种变量引用,其形式是在要转换的变量前冠以强制转换的类型标识符。如: a(b) 就是把变量b强制转换为a类型。 字符型与整型可以相互转换字符变量c转换为整型变量i,i的值为该字符对应的ascii码值;整型变量i转换为字符变量c,c为以i为ascii码值所对应的字符。 布尔型与整型可以相互转换布尔变量转换为整型变量时,布尔值true对应1,false对应0;整型变量转换为布尔变量时,整型值为0时对应false,不等于0时对应true。 实型不能和其它类型相互转换,但整型变量可以直接赋给实型变量,如i为整型变量,r为实型变量,可以如下赋值: r:=i; 数组也可以使用类型强制转换,如数组b是一个二维整型数组,而类型a是一个一维整型数组类型,它们的定义如下:type a = array1.20 of integer;var b : array1.2 , 1.10 of integer;一般,数组b应采用b i , j 的形式,但可以将b强制转换为a,就可以把它当一维数组使用,如a(b) i 。转换前后的两个数组的对应关系如下:b1,1 b1,2 b1,10 b2,1 b2,2 b2,10 a(b)1 a(b)2 a(b)10 a(b)11 a(b)12 a(b)20 例如: program var c : char; b : boolean;i : integer; begin 运行结果: c:= a; writeln(c=,c); c=a i:=integer(c); writeln(i=,i); i=97 i:=i+3; writeln(i=,i); i=100 c:=char(i); writeln(c=,c); c=d b:=false; writeln(b=,b); b=false i:=integer(b); writeln(i=,i); i=0 i:=2; writeln(i=,i); i=2 b:=boolean(i); writeln(b=,b); b=true end.5.5 常见错误数组使用最常出现的错误是数组元素下标超出数组定义时规定的界限。由于默认状态下(即不在程序开头加$r+进行检查),运行时即使数组下标越界,系统将不出任何出错信息,依旧给数组赋值,因此常导致我们花很多时间去寻找程序中的错误。pascal提供了下标越界检查的功能,即在程序首部使用编译开关$r+(即option菜单中compile中的range checking)通知系统运行时对下标越界进行检查。但这种方法将占用运行时间,所以建议调试时加入$r+,调试结束后撤销(缺省时为$r-)。练 习 五1. 统计单词数读入一英文句子,单词之间用空格或逗号隔开,统计其中单词个数,并输出各个字母出现的频率。(句子末尾不一定用.结束)要注意连续两个空格或逗号与空格连在一起时的误判断。2. 一个句子,只含英文字母,单词间用空格或逗号作为分隔符。统计句子中的单词数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030中国塔式放大器(TMA)行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国农业科技行业现状供需分析及市场深度研究发展前景及规划可行性分析研究报告
- 2025-2030中国低辐射中空玻璃行业市场发展趋势与前景展望战略研究报告
- 新教科版三年级下册科学亲子活动计划
- 2025年物流运输部门效率提升计划
- 2025年春季幼儿园疾病预防控制计划
- IT行业年度技术更新学习计划
- 2025-2030镀锌板市场前景分析及投资策略与风险管理研究报告
- 2025-2030花草盆景产业市场深度调研及前景趋势与投资研究报告
- 2025-2030牛肉辣椒酱行业市场深度调研及前景趋势与投资研究报告
- 福建省泉州市丰泽区泉州实验中学2023-2024学年七年级下学期期中数学试题(无答案)
- 工程施工铁路通信工程施工组织
- 2024年4月自考00540外国文学史试题及答案含评分标准
- 校运会裁判员培训
- 传承红色基因-汇聚强军力量课件-高中主题班会
- 油茶的加工厂可行性方案
- 新进厂生产经理工作开展规划
- 《板壳理论14章》课件
- 皮肤科护士的实践经验与案例分享
- 代煎中药管理制度
- 新生儿乳糜胸护理查房课件
评论
0/150
提交评论