C语言数组详细讲解

上传人:鲁** 文档编号:457778534 上传时间:2024-01-05 格式:DOCX 页数:6 大小:16.29KB
返回 下载 相关 举报
C语言数组详细讲解_第1页
第1页 / 共6页
C语言数组详细讲解_第2页
第2页 / 共6页
C语言数组详细讲解_第3页
第3页 / 共6页
C语言数组详细讲解_第4页
第4页 / 共6页
C语言数组详细讲解_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《C语言数组详细讲解》由会员分享,可在线阅读,更多相关《C语言数组详细讲解(6页珍藏版)》请在金锄头文库上搜索。

1、一、字符数组的定义一维字符数组:用于存储和处理1个字符串,其定义格式与一维数值数组一样。char str20;二维字符数组:用于同时存储和处理多个字符串,其定义格式与二维数值数组一样。char coun try1020;cou ntry:第i个字符串二.字符数组的I初始化字符数组的初始化1.可以通过为每个数组元素指定初值字符来实现。char str1O=l; VaVm1; : h1 ;a7p,p,y;char str =*,! am hap py);可以省略花括号,如下所示char str =l am happy;char country1020=china japanese ,注意:上述这种

2、字符数组的整体赋值只能在字符数组初始化时使用,不能用于字符数组的赋值邀组的赋值只能对1:素一一赋彳面的赋是错误的char str15;str=*l am happy”;strcpy(str, I am happy*);不是用单个字符作为初值,而是用一个字符串(注意:字符串的两端是用双引号而不是单引号”括起来的)作为初值。匕,区别三、字符数组的引用字符数组的逐个字符引用,与引用数值数组元素类似.(1 )字符数组的输入除了可以通过初始化使字符数组各元素得到初值外,也可以使用getchar()或scanf()函数输入字符例如:char str1O ;for(i=0; i10; i+) scan f(

3、%cH, &str) ;fflush(stdi n);/*清除键盘输入缓冲区*/(2 )字符数组的输出字符数组的输出,可以用putchar()或printf()函数 例如: char str10=Vc Ian guageV;for(i=0; i10; i+)prin tf(n%cn, str)prin tf(nV);注意:逐个字符输入、输出时,要指出元素的下标,而且使用c格式符。另外,从键盘上输入字符时,无需输入字符的定界符一一单引号;输出时,系统也不输出字符的定界符。 字符数组的整体操作案例字符数组的整体输入与输出。 /*功能:将2维字符数组进行初始化,并在屏幕上输出*/main () in

4、t i;char name59=H张三山7李四季“,”王五魁/刘六顺7赵七巧for(i=0;i字符串2,函数返回值正整数。(3 )使用说明1)如果一个字符串是另一个字符串从头开始的子串,则母串为大。2)不能使用关系运算符”来比较两个字符串,只能用strcmp()函数来处理。案例gets函数和strcmp函数的应用。/*功能:简单密码检测程序*/#i nclude stdio.hmain ()char pass_str80;/* 定义字符数组passstr*/int i=0;/*检验密码*/while(1)( printfC请输入密码n);/*输入密码*/gets(pass_str);if(st

5、rcmp(pass_str, “ password M )!=0)/* 令错 */prin tf(V 口令错误,按任意键继续 V);elsebreak;/*输入正确的密码,中止循环*/getch(); i+十; if(i=3) exit(O);/*输入三次错误的密码,退出程序 */)/*输入正确密码所进入的程序段*/)4. 拷贝字符串strcpy()函数(1)调用方式:strcpy(字符数组,字符串)其中“字符串”可以是串常量,也可以是字符数组。(2)函数功能:将“字符串”完整地复制到“字符数组”中,字符数组中原有内容被覆盖。 (3 )使用说明1) 字符数组必须定义得足够大,以便容纳复制过来的

6、字符串。复制时,连同结束标志0 一起复制。2) 不能用赋值运算符“二”将一个字符串直接赋值给一个字符数组,只能用strcpy()函数来处理。 St仁” Hello world!M 错误5. 连接字符串strcat()函数(1)调用方式:strcat(字符数组,字符串)(2)函数功能:把“字符串”连接到“字符数组”中的字符串尾端,并存储于“字符数组”中。 “字符数组”中原来的结束标志,被“字符串”的第一个字符覆盖,而“字符串”在操作中未被修 改。(3 )使用说明1)由于没有边界检查,编程者要注意保证“字符数组”定义得足够大,以便容纳连接后的目标 字符串;否则,会因长度不够而产生问题。2) 连接前

7、两个字符串都有结束标志0,连接后字符数组”中存储的字符串的结束标志0被舍弃,只在目标串的最后保留一个 0。6. 求字符串长度strlen()函数(len是length的缩写)(1) 调用方式:int strlen(字符串)(2) 函数功能:求字符串(常量或字符数组)的实际长度(不包含结束标志)。7 将字符串中大写字母转换成小写strlwr()函数(1)调用方式:strlwr(字符串)(2)函数功能:将字符串中的大写字母转换成小写,其它字符(包括小写字母和非字母字符)不转 换。&将字符串中小写字母转换成大写一一strupr()函数(1)调用方式:strupr(字符串)(3) 函数功能:将字符串中

8、小写字母转换成大写,其它字符(包括大写字母和非字母字符)不转换。典型示例1、 以上函数功能自定义完成题目:写一个函数,求一个字符串的长度,在 main函数中输入字符串,并输出其长度。main ()(in t Ie n;char str20;prin tf(Hplease in put a stri ng:nM);sea nf(,%s,str);len=len gth(str);printf(the string has %d characters.n,len);)in t Ie ngth(char p)int i=0;while(p!= 1 0 )+i;return i;)“hello ”2、

9、 字符串与整数问题编写程序,将输入的数字字符串转换成一个相应的整数。如输入字符串为“一1234”,得到整数234123412343、 求子串问题题目:计算字符串中子串出现的次数Str1 :This is a book,that is a penStr2:is# include nstring.hn# include stdio.hmain ()char str120,str220;int sum=0,i=0,j=0;prin tf(Kplease in put two stri ngsnu);sea nf(,%s%s,str1,str2);while(str!=,O)(if(str=strj)while(str=strj &strj!O)p1+;p2+;) elsei+;if(strO=,0,)sum+;j=0; ) prin tf(M%d,sum);)4、 字符串排序输入10个长度不超过20的字符串,按字典顺序从小到大输出分析:数据存储char cou ntry1020冒泡或选择排序均可

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 营销创新

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号