专升本C语言课件C06数组.ppt

上传人:牧羊曲112 文档编号:6533170 上传时间:2023-11-09 格式:PPT 页数:14 大小:340.15KB
返回 下载 相关 举报
专升本C语言课件C06数组.ppt_第1页
第1页 / 共14页
专升本C语言课件C06数组.ppt_第2页
第2页 / 共14页
专升本C语言课件C06数组.ppt_第3页
第3页 / 共14页
专升本C语言课件C06数组.ppt_第4页
第4页 / 共14页
专升本C语言课件C06数组.ppt_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《专升本C语言课件C06数组.ppt》由会员分享,可在线阅读,更多相关《专升本C语言课件C06数组.ppt(14页珍藏版)》请在三一办公上搜索。

1、六、数组 6.3 字符串字符数组:每一个元素都是字符字符串:以0结束的字符数组。在C语言中,用存放字符串的空间的首地址来代表字符串。,下面的字符数组中哪些是字符串?(1)char s3=a,b,c;(2)char s3=abc;(3)char s=a,b,c;(4)char s=abc;(5)char s=a,b,c,0;(6)char s=a,b,c,0;(7)char s20=a,b,c;(8)char s20=abc0cde0;,不是错误不是是是是是是,六、数组 6.3 字符串下面两句完全等效,但前者简洁:char s=abcd;char s=a,b,c,d,0;下面两句等效,但前者节省

2、空间:char s=abcd;char s20=abcd;,注意:char s=abcd;不能拆为char s;s=abcd;,六、数组 6.3 字符串以下是常用的初始化方法:char s=abcd;char*p=abcd;,前者给一段空间,大小由abcd决定首地址是s后者同 char*p;p=abcd;,c,a,d,b,5022,p,0,c,a,d,b,s,0,六、数组 6.3 字符串,判断以下语句的正确性:(1)char*s;s=abcd;(2)char*s=abcd;s2=f;(3)char s=abcd;s10=0;(4)char s10;s=abcd;(5)char*s;s=abcd

3、;(6)char s=abcd;*s=0;,YESYES溢出NONOYES,六、数组 6.3 字符串,下面对s的初始化是否正确?A)char s5=abc;B)char s5=a,b,c;C)char s5=;D)char s5=abcdef;,YESYESYESNO,六、数组 6.3 字符串,对两个数组a和b进行如下初始化 char a=ABCDEF;char b=A,B,C,D,0,F;则以下叙述正确的是_。A)a与b数组完全相同 B)a与b长度相同 C)a和b中存放字符串 D)a数组比b数组长度长,C D,六、数组 6.3 字符串,有以下程序#include main()char*p=a

4、bcde0fghjik0;char u=abc0;printf(%d,%d,%dn,sizeof(p),strlen(p),sizeof(u);输出结果是_。,2,5,5p仅仅是一个指针变量,它的空间就用来存放一个地址字符串常量存储时总是自动加0,六、数组 6.3 字符串字符串输出:从第一个字符到第一个0以下完全等效printf(%sn,str);puts(str);while(si!=0)putchar(si);i+;putchar(n);,char c5=a,b,0,c,0;printf(%s,c);,ab,六、数组 6.3 字符串 字符串的输入gets(str);scanf(%s,str

5、);scanf与gets的区别gets(s);能读入完整的一行字符串。scanf(“%s”,s);读到空格、TAB、回车即结束。,如输入Turbo C时,scanf读到s中只是Turbo,而gets(s)可以读入完整的一行。,六、数组 6.3 字符串 gets(str);scanf(%s,str);错误的理解:输入的内容放入str中.输入的字符串放入以str的值为首地址的一段内存空间中。字符串有多个字符,输入时要注意:存放的地方是明确的;所有字符都能放得下。,如输入abc,六、数组 6.3 字符串,判断以下语句的正确性:(1)char*s;gets(s);(2)char s;gets(s);(

6、3)char s10;gets(s);(4)char*s,x20;s=x;gets(s);,地址不定没有空间正确正确,六、数组 6.3 字符数组与字符串关于字符串的库函数:#include string.hstrcmp(s1,s2)strcpy(s1,s2)s1指向的空间要足够大strlen(s)strcat(s1,s2);s1指向的空间要足够大,输入10个字符串,输出其中最长的字符串和最大的字符串。#include stdio.h#include string.hmain()char s30,max30,lon30;gets(s);_for(i=1;i=9;i+)gets(s);if(_)s

7、trcpy(max,s);if(_)strcpy(lon,s);puts(lon);puts(max);,strcpy(max,s);strcpy(lon,s);strcmp(s,max)0 strlen(s)strlen(lon),六、数组 6.3 字符数组与字符串指针的使用p指向字符串的第一个字符,p+1可以指向下一个字符判断字符串未结束:*p!=0*p!=0*p,输入abcdef,输出_。char s30,*x=s;int i=0;gets(s);while(*x+)i+;printf(%dn,i);,6,六、数组 6.3 字符数组与字符串指针的使用p指向字符串的第一个字符,p+1可以指向下一个字符判断字符串未结束:*p!=0*p!=0*p,以下函数的功能是删除字符串s中的所有数字字符。请填空。void dele(char*s)int n=0,i;for(i=0;si;i+)if(_)sn+=si;sn=_;,si90,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号