现在的位置: 首页 > 综合 > 正文

数组和数组函数

2013年02月09日 ⁄ 综合 ⁄ 共 2142字 ⁄ 字号 评论关闭
1、如果对全部元素赋初值(即提供全部初始数据),
则定义数组时对第一维的长度可以不指定,
但第二维的长度不能省。
 2.gets(字符数组)
    (1)格式:gets(字符数组名) 
    (2)作用:从终端输入一个字符串到字符数组,并且得
                          到一个函数值。该函数值是字符数组的首地址。       

  gets函数这里注意  如果和scanf("%s",k);一起出现在程序中。如果gets在scanf在前面
    则不执行scanf函数。只执行gets函数  如果在后面  会执行。
while(scanf("%d",&n) != EOF)
    {
        scanf("%c",&h);
        gets(a);
        scanf("%c",&h);
        gets(b);
        scanf("%c",&h);
        gets(c);
   }
while(scanf("%d",&n) != EOF)
    {
        scanf("%s",a);
        scanf("%s",b);
        scanf("%s",c);
  }
类似这样子。
当要调用gets的时候,如果前面有输入数组要敲回车,则会将回车赋给gets;
这时要用scanf来输入,可以获取整行的完全信息(无括号)

 例:                                           
#include"stdio.h"
main(  )
{
     char st[15];
     printf("input string:\n");
     gets(st);
     puts(st);
}
可以看出当输入的字符串中含有空格时,输出仍为全部字符串。说明gets函数并不以空格作为字符串输入结束的标志,而只以回车作为输入结束。
3.字符串连接函数strcat
    (1)格式:strcat(字符数组名1,字符数组名2) 
(2)作用:连接两个字符数组中的字符串,把
          字符串2接到字符串1 的后面,结果放在字
          符数组1中,函数调用后得到一个函数值——
          字符数组1的地址。  

例:  strcat函数的使用

#include"string.h"
main(  )
{
     static char st1[30]="My name is ";
     int st2[10];
     printf("input your name:\n");
     gets(st2);
     strcat(st1,st2);
     puts(st1);
}
4.字符串复制函数strcpy
    (1)格式:strcpy(字符数组名1,字符数组名2) 
(2)作用:将字符串2复制到字符串1中去。字符数名2,
                       也可以是一个字符串常量。这时相当于把一
                       个字符串赋予一个字符数组。不能用赋值语
                       句对整个数组进行赋值。
 例:  复制函数的使用
#include"string.h"
main(  )
{
     static char st1[15],st2[]="C Language";
     strcpy(st1,st2);
puts(st1);
printf("\n");
}
5.字符串比较函数strcmp
    (1)格式:strcmp(字符数组名1,字符数组名2)
(2)作用:比较字符串1和字符串2。
(3)规则:
A.对两个字符串自左至右逐个字符相比(按照ASCII码值
   大小比较),直到出现不同的字符或遇到`\0`为止。如全部字符相同,则认为相等;若出现不相同的字符,则以第一个不相同的字符的比较结果为准。并由函数返回值返回比较结果。
   B.如果参加比较的两个字符串都由英文字母组成,则有一个简单的规律:在英文字典中位置在后面的为“大”。注意:小写字母比大写字母“大”。
C.比较的结果由函数值带回。
(I)如果字符串1==字符串2,函数值为0;
(II)如果字符串2>字符串2,函数值为一正整数;
(III)如果字符串1<字符串2,函数值为一负整数。
注意:对两个字符串比较时的书写格式。
例如:if (str1=str2) printf("yes");
        是不行的;而应该使用
             if (strcmp(str1,str2)==0) printf("yes");
 6.测试字符串长度函数strlen
    (1)格式:strlen(字符数组名) 
    (2)作用:测试字符串的长度。函数的值为字符串中
                          的实际长度,不包括`\0`在内。

例: 

#include"string.h"
main()
{
int k;
      static char st[]="C language";
      k=strlen(st);
      printf("The lenth of the string is %d\n",k);
}
7.大小写转换函数
(1)strlwr(字符串)
作用:将字符串中大写字母转换成小写字母。
(2)strupr(字符串)
作用:将串中的小写字母转换成大写字母。

 

抱歉!评论已关闭.