




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、CONTENTS 目 录提出问题 引入新课自主学习 明确考点案例分析 交流提升仿真演练 体验探索提出问题 引入新课PART 011、有以下程序main() char p=a, b, c, q=abc; printf(%d %dn, sizeof(p),sizeof(q);程序运行后的输出结果是( ) A)4 4 B)3 3 C)3 4 D)4 32、用于输入输出的字符串函数,在使用前应包含头文件 , 使用其它字符串函数则应包含头文件 。提出问题 引入新课自主学习 明确考点PART 02对字符串的整体操作, C语言没有提供相应的运算符,但是提供了丰富的字符串处理函数,大致可分为字符串的输入、输出
2、、合并、修改、比较、转换、复制、搜索几类。考点一:字符串处理函数的格式及使用(1)字符串输出函数 puts格式:puts (字符数组名) 功能:把字符数组中的字符串输出到显示器, 即在屏幕上显示该字符串。【例1】#includestdio.hmain() char c=how are you?nfine ,thank you!;puts(c);【解析】从程序中可以看出puts函数中可以使用转义字符, 因此输出结果成为两行。程序运行结果如下:how are you?fine ,thank you!考点一:字符串处理函数的格式及使用puts函数在输出时将字符串结束标志0转换成n即输完字符串后换行,
3、它完全可以由printf函数取代。 当需要按一定格式输出时,通常使用printf函数。(2)字符串输入函数gets 格式: gets (字符数组名) 功能:从标准输入设备键盘上输入一个字符串。 本函数得到一个函数值,即为该字符数组的首地址。一般利用gets函数的目的是向字符数组输入一个字符串考点一:字符串处理函数的格式及使用【例2】#includestdio.hmain() char st15; printf(input string:n); gets(st); puts(st); 【解析:】可以看出当输入的字符串中含有空格时,输出仍为全部字符串。说明gets函数并不以空格作为字符串输入结束的
4、标志, 而只以回车作为输入结束。这是与scanf函数不同的。注意:用puts函数和gets函数只能输出或输入一个字符串,不能写成puts(str1,str2),或者gets(str1,str2) /*错误*/(3)字符串连接函数strcat 格式: strcat (字符数组名1,字符数组名2) 功能:把字符数组2中的字符串连接到字符数组1 中字符串的后面,并删去字符串1后的串标志0。本函数返回值是字符数组1的首地址。考点一:字符串处理函数的格式及使用【例3】#includestring.h main() static char st130=My name is ; char st210; pr
5、intf(input your name:n); gets(st2); strcat(st1,st2); puts(st1); 运行结果运行结果: :input your name:input your name:Jim GreenJim GreenMy name is Jim GreenMy name is Jim Green【解析:】本程序把初始化赋值的字符数组与动态赋值的字符串连接起来。 要说明的是:字符数组1应定义足够的长度,否则不能全部装入被连接的字符串。连接前两个字符串的后面都有一个0,连接时将字符串1后面的0取消,只在新串后面保留一个0。(4)字符串拷贝函数strcpy 格式:
6、strcpy (字符数组名1,字符数组名2) 功能:把字符数组2中的字符串拷贝到字符数组1中。串结束标志0也一同拷贝。字符数名2, 也可以是一个字符串常量。这时相当于把一个字符串赋予一个字符数组。考点一:字符串处理函数的格式及使用【例4】#includestring.hmain() static char st115,st2=C Language; strcpy(st1,st2);puts(st1);printf(n);运行结果运行结果: :C Language【说明:】本函数要求字符数组1应有足够的长度,否则不能全部装入所拷贝的字符串。考点一:字符串处理函数的格式及使用(5)字符串比较函数s
7、trcmp 格式: strcmp(字符数组名1,字符数组名2)功能:按照ASCII码顺序比较两个数组中的字符串,并由函数返回值返回比较结果。 字符串1字符串2,返回值0;字符串1字符串2,返回值0;字符串1字符串2,返回值0。【例6】#includestring.hmain() int k; static char st115,st2=C Language; printf(input a string:n); gets(st1); k=strcmp(st1,st2); if(k=0) printf(st1=st2n); if(k0) printf(st1st2n); if(k0) printf
8、(st1st2。(6)测字符串长度函数strlen 格式: strlen(字符数组名) 功能:测字符串的实际长度(不含字符串结束标志0) 并作为函数返回值。考点一:字符串处理函数的格式及使用【例7】#includestring.hmain() int k; static char st=C language; k=strlen(st); printf(The lenth of the string is %dn,k);运行结果运行结果: :The lenth of the string is 10 【例8】#includestring.hmain() int k; char st=abcSB0
9、123; k=strlen(st); printf(The lenth of the string is %dn,k);运行结果运行结果: :The lenth of the string is 5(7)大写字母转换成小写字母函数strlwr格式: strlwr()功能: 将中的大写字母转换成小写字母返回。可以是字符数组或字符串常量。考点一:字符串处理函数的格式及使用(8)小写字母转换成大写字母函数strupr格式: strlupr()功能: 将中的小写字母转换成大写字母返回。可以是字符数组或字符串常量。案例分析 交流提升PART 03【例1】、有如下程序段char a7=”abcdef”;c
10、har b4=”ABC”;strcpy(a,b);printf(“%c”,a5);的运行结果是 ( )A)空格B)0 C)c D)f【例2】、程序段char c5=a,b,0,c,0; printf(“%s”,c);的运行结果是( )A) ab, B)ab C)ab c D)a b【例3】、程序段char a3,b=”China”;a=b; printf(“%s”,a); 的运行结果是( ) A) China B)输出Ch C)输出Chi D)编译出错【例4】、程序段char a “tv0willn“; printf(“%d”,strlen(c); 的运行结果是( )A) 14 B)3 C)9
11、 D)字符串有非法字符,输出值不稳定【例5】、以下程序运行后的输出结果是( )#include main() char str1=”abc”,str2=”ABC”,str30=”xyz”; strcpy(str,strcat(str1,str2);puts(str); 仿真演练,体验探索PART 041、有以下程序 #include main() char p=a, b, c, q10=a, b, c; printf(%d %dn, strlen(p), strlen(q); 以下叙述中正确的是( ) A)在给p和q数组置初值时,系统会自动添加字符串结束符,故输出的长度都为3 B)由于p数组中
12、没有字符串结束符,长度不能确定;但q数组中字符串长度为3 C)由于q数组中没有字符串结束符,长度不能确定;但p数组中字符串长度为3 D)由于p和q数组中都没有字符串结束符,故长度都不能确定2、以下程序运行后,输出结果是( )。#includemain()char a7=a00a00;int i,j; i=sizeof(a);j=strlen(a); printf(%d %dn,i,j); getch();A)22B)76C)72D)623、)以下能正确定义一维数组的选项是( )A)int a5=0,1,2,3,4,5;B)char a=0,1,2,3,4,5;C)char a=A,B,C;D)
13、int a5=0123; 4、有以下程序 main() char p=a, b, c, q=abc;printf(%d %dn, sizeof(p),sizeof(q); ;程序运行后的输出结果是( ) A)4 4B)3 3C)3 4D)4 35、s12和s2已正确定义并分别指向两个字符串。若要求:当s1所指串大于s2所指串时,执行语句S;则以下选项中正确的是( )A)if(s1s2)S; B)if(strcmp(s1,s2)S;C)if(strcmp(s2,s1)0)S; D)if(strcmp(s1,s2)0)S; 6、有以下程序 ( 程序左边的数字为行编号)( )1 #include2
14、#include3 main()4 char s=string;5 puts(s);6 strcpy(s, hello);7 printf(“%3sn”,s);8 A)没有错 B)第2行有错 C)第6行有错 D)第7行有错7、已有定义:chara=xyz,b=x,y,z;,以下叙述中正确的是( )A)数组a和b的长度相同 B)a数组长度小于b数组长度C)a数组长度大于b数组长度 D)上述说法都不对8、有定义语句:int b;char c10;,则正确的输入语句是( )A)scanf(%d%s,&b,&c);B)scanf(%d%s,&b,c);C)scanf(%d%s,b,c); D)scanf(%d%s,b,&c);9、有以下程序运行后的输出结果是( )#includemain() char a1=M, a2=m; printf(%cn, (a1, a2) );10、有一个名为init.txt的文件,内容如下:#define HDY(A,B) A/B# define PRINT(Y) printf(y=%dn, Y)有以下程序#include init.txtmain() int a=1,b=2,c=3,d=4,k
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度货车挂靠经营与培训合同
- 2025版智能电网改造工程担保辅修合同
- 二零二五版教育培训合作协议范本
- 二零二五年度安全生产事故调查处理责任书
- 二零二五年度股权众筹平台股权出让合同标准模板
- 二零二五年房地产贷款风险评估及监控服务协议
- 二零二五年度木材深加工订单生产合同范本
- 二零二五年度房屋抵押贷款与房地产中介服务合同范本
- 二零二五年度合同编号:现代农业项目造价咨询服务合同
- 二零二五年度二手房置换合同范本封面
- 酒体设计师-国家职业标准
- 血友病性关节炎
- DB14∕T 92-2010 M5、M15车用甲醇汽油
- 期中综合测试卷(第一单元至第四单元)(试题)-2024-2025学年人教版五年级数学上册
- 中建三局安装工程“防高坠”安全管理图册
- 劳务派遣外包人力资源采购投标方案(技术方案)
- 《人际沟通与礼仪(第五版)》全套教学课件
- 分布式光伏项目工程竣工验收报告
- 2023年甘肃省职业院校技能大赛土木工程无损检测赛项规程及样题(高职学生组)
- 室内软装设计项目教程-教案 软装资源元素
- 知识题库-人社劳动知识竞赛测试题及答案(十四)
评论
0/150
提交评论