二级C语言字符串.ppt

上传人:xt****7 文档编号:4383011 上传时间:2020-01-06 格式:PPT 页数:31 大小:648.81KB
返回 下载 相关 举报
二级C语言字符串.ppt_第1页
第1页 / 共31页
二级C语言字符串.ppt_第2页
第2页 / 共31页
二级C语言字符串.ppt_第3页
第3页 / 共31页
点击查看更多>>
资源描述
全国计算机等级考试二级C语言 第13讲字符串与指针 字符数组和字符串常用的字符串处理函数指针与字符串字符串指针作函数参数字符指针变量与字符数组的区别真题分析 第一节字符数组和字符串 字符数组的定义形式 char数组名 数组大小 如 charc 10 ch 3 4 第一节字符数组和字符串 字符数组的初始化逐个字符赋值 第一节字符数组和字符串 字符数组的初始化用字符串常量 注意 字符串的字符个数要小于数组的元素个数 第一节字符数组和字符串 字符数组的初始化用字符串常量 注意 字符串的字符个数要小于数组的元素个数 第一节字符数组和字符串 二维字符数组的初始化 字符数组的输出举例 includemain charc 10 I a m a b o y inti for i 0 i 10 i printf c c i printf n 输出结果 Iamaboy 字符串及其结束标志无字符串变量 用字符数组处理字符串字符串结束标志 0 第一节字符数组和字符串 字符串的输入与输出逐个字符输入 输出 c 第一节字符数组和字符串 main charstr 5 inti for i 0 i 5 i scanf c 字符串的输入与输出整体输入 输出 s 第一节字符数组和字符串 main charstr 5 scanf s str printf s str 1 用字符数组名输入字符串时 不加 2 输入串的长度应小于数组大小3 遇空格或回车结束4 系统自动追加 0 用字符数组名 输出时遇 0 结束 s输出举例 main chara h e l 0 l o 0 printf s a 输出 hel 注 数组中有多个 0 时 遇第一个结束 s输入举例 includemain chara 15 b 5 c 5 scanf s s s a b c printf a s nb s nc s n a b c scanf s a printf a s n a 运行情况 输入 Howareyou 输出 a Howb arec you 输入 Howareyou 输出 a How 注 scanf中 s输入时 遇空格或回车结束 第二节常用的字符串处理函数 字符串输出函数格式 puts 字符数组 功能 向显示器输出字符串 输出完 换行 说明 字符数组必须以 0 结束 字符串输入函数格式 gets 字符数组 功能 从键盘输入一以回车结束的字符串放入字符数组中 并自动加 0 说明 输入串长度应小于字符数组的大小 例 includemain charstring 80 printf Inputastring gets string puts string 输入 Howareyou 输出 Howareyou 第二节常用的字符串处理函数 字符串连接格式 strcat 字符数组1 字符数组2 功能 把字符数组2连到字符数组1后面返值 返回字符数组1的首地址说明 字符数组1必须足够大 连接前 两串均以 0 结束 连接后 串1后面的 0 取消 在新串的最后保留 0 第二节常用的字符串处理函数 字符串复制函数格式 strcpy 字符数组1 字符串2 功能 将字符串2 复制到字符数组1中去返值 返回字符数组1的首地址说明 字符数组1必须足够大 拷贝时 0 一同复制 不能使用赋值语句为一个字符数组赋值 例charstr1 20 str2 20 str1 Hello str2 str1 例charstr1 20 str2 20 strcpy str1 Hello strcpy str str2 第二节常用的字符串处理函数 字符串比较函数格式 strcmp 字符串1 字符串2 功能 比较两个字符串比较规则 对两串从左向右逐个字符比较 ASCII码 直到遇到第一个不相同的字符或 0 为止 返值 返回一个整数1 若字符串1字符串2 返回13 若字符串1 字符串2 返回零说明 字符串比较不能用 必须用strcmp 第二节常用的字符串处理函数 求字符串长度函数格式 strlen 字符数组 功能 计算字符串长度返值 返回字符串实际长度 不包括 0 在内 对于以下字符串 strlen s 的值为 1 chars 10 A 0 B C 0 D 2 chars t v 0will n 3 chars x69 082 n 答案 131 字符串处理函数举例1 include includemain charstr1 Hello str2 Howareyou str 20 intlen1 len2 len3 len1 strlen str1 len2 strlen str2 if strcmp str1 str2 0 strcpy str str1 strcat str str2 elseif strcmp str1 str2 0 strcpy str str2 strcat str str1 elsestrcpy str str1 len3 strlen str puts str printf Len1 d Len2 d Len3 d n len1 len2 len3 Howareyou Hello Len1 6 Len2 12 Len3 18 字符串处理函数举例2 找三个字符串中的最大者 How 0 Hello 0 High 0 str 0 str 1 str 2 include includemain charstring 20 str 3 20 inti for i 0 i0 strcpy string str 0 elsestrcpy string str 1 if strcmp str 2 string 0 strcpy string str 2 printf nThelargeststringis n s n string Thelargesetstringis How 第三节指针与字符串 字符串表示形式用字符数组实现 main charstring IloveChina printf s n string printf s n string 7 运行结果 IloveChina China 第三节指针与字符串 字符串表示形式用字符指针实现 main char string IloveChina printf s n string string 7 while string putchar string 0 string 字符指针初始化 把字符串首地址赋给string char string string IloveChina string 0 运行结果 IloveChina China 第四节字符串指针作函数参数 用字符数组作函数参数 voidcopy string charfrom charto inti 0 while from i 0 to i from i i to i 0 main chara Iamateacher charb Youareastudent printf string a s nstring b s n a b copy string a b printf nstring a s nstring b s n a b 第四节字符串指针作函数参数 用字符串指针变量作函数参数 voidcopy string char from char to for from 0 from to to from to 0 main chara Iamateacher charb Youareastudent printf string a s nstring b s n a b copy string a b printf nstring a s nstring b s n a b 第五节字符指针变量与字符数组区别 char cp 与charstr 20 1 str由若干元素组成 每个元素放一个字符 而cp中存放字符串首地址 2 str是地址常量 cp是地址变量 如 charstr 20 str IloveChina char cp cp IloveChina 3 cp接受键入字符串时 必须先开辟存储空间 真题分析 2008年4月 25 设有如下程序段chars 20 Beijing p p s 则执行p s 语句后 以下叙述正确的是 A 可以用 p表示s 0 B s数组中元素的个数和p所指字符串长度相等C s和p都是指针变量D 数组s中的内容和指针变量p中的内容相同 答案 A 真题分析 2008年4月 27 有定义语句 chars 10 若要从终端给s输入5个字符 错误的输入语句是 A gets 答案 D 真题分析 2008年4月 33 有以下程序 include include string h voidfun char s intn char t inti j for i 0 istrlen s j t s i s i s j s j t main char ss bcc bbcc xy aaaacc aabcc fun ss 5 printf s s n ss 0 ss 4 程序的运行结果是 A xy aaaaccB aaaacc xyC bcc aabccD aabcc bcc 答案 A 实质是对指针数组中各元素所指向的字符串按由小到大的顺序进行排序 真题分析 2008年4月 35 有以下程序 includevoidfun char a char b while a a while b a b a main char s a b t 80 fun s t puts t 程序的运行结果是 A a bB a bC a b D ab 答案 C 将指针变量a所指的字符串从第1个非 以后的内容复制到指针变量b所指向的存储单元中 真题分析 2008年9月 24 若有定义语句 chars 10 1234567 0 0 则strlen s 的值是 A 7B 8C 9D 10 答案 A 知识点分析 题型 上机 笔试都有 出现几率很高 数量 笔试部分一般会出1 2个选择题和1 2个填空题 重点掌握 1 字符串的初始化 串的存放2 常见的字符串处理函数3 字符指针变量做函数的参数
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!