- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机二级第四章构造型数据结构2
第4章 构造型数据类型;主要内容;字符数组的定义;例:下面两个赋值的不同
char word1[]={‘W’,’o’,’r’,’l’,’d’,’!’}
char word1[]={‘W’,’o’,’r’,’l’,’d’,’!’,’\0’}
Word1是一个字符数组,它有6个元素,每个元素都是一个字符,它不是一个字符串,因它没有结束符
Word2是一个字符串,它有6个元素(长度为6),因为串结束符不是串的一部分
四种等价的初始化
char word1[8]={‘W’,’o’,’r’,’l’,’d’,’!’,’\0’}
char word2[]={‘W’,’o’,’r’,’l’,’d’,’!’,’\0’}
char word3[]={“World”}
char word3[]=“World”
注意:一个字符串常量代表一个指向无名数组的起始字符的指针,该数组被双引号之间的字符以及一个额外字符’\0’初始化.
如printf(“World \n”);与下列式子等价
char world[]={‘W’,’o’,’r’,’l’,’d’,’!’,’\0’};printf(world);
注意: 一个字符串可以直接赋给一???字符串常量:如char *p=“world” ;字符数组的引用;字符数组的初始化;也可以定义和初始化一个二维字符数组,如
char c[3][8]={{‘c’, ‘h’, ‘i’, ‘n’, ‘a’},{‘j’, ‘a’, ‘p’, ‘a’, ‘n’},
{‘i’, ‘n’, ‘d’, ‘i’, ‘a’}};
此二维数组的存储情况为:;使用字符串常量赋值
可以省略一维长度,系统按字符串实际字符个数定义数组大小,注意字符串包含结束标志 “\0”
char a[ ]={“hello!” }; → char a[7]={“hello!”};
可以省略花括号
char a[ ]= “hello!”;
注意字符数组长度要足够长
上面的定义等价于
char a[7]={‘h’, ‘e’, ‘l’, ‘l’, ‘o’, ‘!’, ‘\0’};;字符数组的输入输出;『程序4.6』从键盘上输入一个字符串,回车键结束,在屏幕上输出
main()
{ int i;
char str[80];
for (i=0;i80;i++)
{ str[i]=getch(); /*对数组元素str[i]逐个赋值,不显示在屏幕上*/
printf(“*”); /*用*号代替输入的字符显示在屏幕上*/
if (str[i]==‘\x0d’) break; /*若输入回车则终止循环*/
}
printf(\n);
i=0;
while(str[i]!=‘\x0d’) printf(“%c”,str[i++]); /*逐个输入字符串*/
printf(\n);
};将整个字符串一次输入或输出:格式符%s,相关函数scanf, printf。
使用scanf函数输入一个字符串
char a[5], b[5], c[5];
scanf(“%s%s%s”,a,b,c);
输入数据:how are you? ↙
输入的字符串遇到空格或回车结束
输入的字符串应短于数组长度
scanf函数的输入项是字符数组名,不需要加地址符,因为数组名代表数组的起始地址;使用printf函数输出一个字符串
输出字符不包括结束符’\0’。
用printf输出时,输出项是字符数组名,而不是数组元素。
如果数组长度大于字符串实际长度,也只输出到遇’\0’结束。
如果字符串数组中包含一个以上’\0’,则遇到第一个’\0’时输出结束。
;字符串的输入与输出;字符串处理函数;输出字符串──puts()函数,包含于头文件stdio.h中
调用方式:puts(字符数组)
功能:把字符数组中所存放的字符串,输出到标准输出设备中去,并用‘\n’取代字符串的结束标志‘\0’。所以用puts()函数输出字符串时,不要求另加换行符。
使用说明:
字符串中允许包含转义字符,输出时产生一个控制操作。
该函数一次只能输出一个字符串,而printf()函数也能用来输出字符串,且一次能输出多个。;字符串比较──strcmp()函数,包含于头文件string.h中
调用方式:strcmp(字符串1 ,字符串2)
其中“字符串”可以是串常量,也可以是1维字符数组。
功能:比较两个字符串的大小。
如果:字符串1=字符串2,函数返回值等于0;
字符串1字符串2,函数返回值负整数;
字符串1字符串2,函数返回值正整数。
使用说明:
如果不相同时,返回第一对不相等字符的ASCI
文档评论(0)