C语言数组详解概要1.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言数组详解概要1

在定义字符数组时可以省略数组长度,系统会 自动根据初值个数确定数组长度。例如: char c[]={′I′,′ ′,′a′,′m′,′ ′,′h′, ′a′,′p′,′p′,′y′};数组c的长度自动定为10。 #include stdio.h void main() { char c[10]={‘I’,’ ’,’a’,’m’,’ ’,’a’,’ ’,’b’,’o’,’y’}; int i; for (i=0;i10;i++) printf (“%c”,c[i]); printf(“\n”); } 可以引用字符数组中的一个元素,得到一个字符 在实际编程中,最常用的是字符串。在C中是用字符数组存放字符串。字符串以‘\0’作为串结束符,因此当把字符串存入数组时,也把‘\0 ’存入数组,并以此作为该字符串是否结束的标志。 程序中通过循环扫描字符数组元素,读到‘\0 ’时候便认为字符串结束。 用字符串方式赋值比用字符逐个赋值要多占一个字节, 用于存放字符串结束标志‘\0’。 例如:数组char c[] = “c program”在内存中的实际存放情况为: `\0‘是由C编译系统自动加上的。由于采用了`\0’标志,所以在用字符串赋初值时一般无须指定数组的长度, 而由系统自行处理。 char c[]={″China″}; printf(″%s″,c); 例如 在内存中数组c的状态 字符数组的输入输出可以有两种方式: 逐个字符输入输出。用”%c”输入或输出一个字符 将整个字符串一次输出。用“%s”格式符, char c[]={“China”}; printf(“%s”,c); C h i n a \0 China 注意: 输出字符不包括结束符’\0’; 用“%s”格式符输出字符串时,printf函数中的输出项时字符数组名,而不是数组元素名。 printf(“%s”,c); 如果数组长度大于字符串实际长度,也只输出遇’\0’结束 如果一个字符数组中包含一个以上’\0’ ,则遇到第一个’\0’时结束。 #include stdio.h void main() { char st[15]; printf(input string:\n); scanf(%s,st); printf(%s\n,st); } 本例中由于定义数组长度为15, 因此输入的字符串长度必须小于15,以留出一个字节用于存放字符串结束标志`\0`。 对于字符数组,如果不作初始化赋值,则须说明数组长度。 应该特别注意的是,当用scanf函数输入字符串时,字符串中不能含有空格,否则将以空格作为串的结束符。例如运行上例,当输入的字符串中含有空格时,运行情况为: #include stdio.h void main() { char st1[6],st2[6],st3[6],st4[6]; printf(input string:\n); scanf(%s%s%s%s,st1,st2,st3,st4); printf(%s %s %s %s\n,st1,st2,st3,st4); } 从输出结果可以看出空格以后的字符都未能输出。 为了避免这种情况, 可多设几个字符数组分段存放含空格的串。程序可改写如下: 重要一点: 在前面介绍过scanf的各输入项必须以地址方式出现,如 a,b等。但在上例中却是以数组名方式出现的,这是为什么呢?这是由于在C语言中规定,数组名就代表了该数组的首地址。 C语言提供了丰富的字符串处理函数,大致可分为字符串的输入、输出、合并、修改、转换、复制、搜索几类。用于输入输出的字符串函数, 在使用前应包含头文件stdio.h ;使用其它字符串函数则应包含头文件string.h。 下面介绍几个最常用的字符串函数。 格式:puts (字符数组名) 功能:把字符数组中的字符串输出到显示器。 即在屏幕上显示该字符串。 #include stdio.h void main() { static char c[]=BASIC\ndBASE; puts(c); } 从程序中可以看出puts函数中可以使用转义字符, 因此输出结果成为两行。puts函数完全可以由printf函数取代。当需要按一定格式输出时,通常使用printf函数。 格式: gets (字符数组名) 功能:从标准输入设备键盘上输入一个字符串。 本函数得到一个函数值,即为该字符数组的首地址。 #includestdio.h“ void main() { char st[15];

文档评论(0)

yaocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档