动画介绍:大家好今天讲一维字符数组 定义:char (6) 初始化:char a[6]={’c’,’h’,’i’,’n’,’a’,’\0’}; char a[6]={"china"};省略了’\0’中止符号 引用:char a[10]="china2008" printf("%s",a);输出china2008 printf("%c",&a[3]);输出na2008 输入输出的gets和puts char a[15]; gets(a); puts(a); 字符串处理函数(#include "string.h")要写包含头文件 复制: strcpy(a,"xiaoye") puts(a);输出xiaoye 求长度: strlen(a);返回6 连接: strcat(s1,s2)把s2连接到s1后面,s2不变 比较:比较ascii码的大小 strcmp(s1,s2)返回值 (>0)s1>s2 (=0)s1=s2 (<0)s1<s2 大小字母的转换: strlwr大写转换为小写 strupr小写转换为大写 例子1: #include "stdio.h" #include "string.h" main() { int i; char b[7],a[10]="beijing",c[7]; for(i=0;i<7;i++) scanf("%c",&b[i]); b[7]=’\0’; strcpy(c,"xiaoye"); printf("%s\n",a); printf("%s\n",b); printf("%s\n",c); } 例子2: #include "stdio.h" #include "string.h" main() { char s1[80],min[80]; int k,len; gets(s1); strcpy(min,s1); len=strlen(min); gets(s1); do { k=strlen(s1); if(k<len) { len=k; strcpy(min,s1); } gets(s1); } while(s1[0]!=’\0’); printf("%s\n",min); printf("len=%d",len); } 例子3: #include "stdio.h" #include "string.h" main() { char s1[80],max[80]; int i; gets(s1); strcpy(max,s1); gets(s1); do { if(strcmp(s1,max)>0) strcpy(max,s1); gets(s1); } while(strcmp(s1,"")); printf("max=%s\n",max); } 例子4: #include "stdio.h" #include "string.h" main() { char a[]="xiaoye",b[]="lihai",c[]="NiuB"; strupr(b); strlwr(c); strcat(a,b); printf("a[]=%s,c[]=%s\n",a,c); } | |