关于C语言中一些常用函数的说明

1.I/O函数

(1)scanf函数:

int scanf(const char *format…..);

从标准输入流stdin中按格式format将数据写到参数表中;若操作成功,返回写到参数表中的参数个数,否则返回EOF;

注意以下几点:

①scanf函数没有精度控制

如出现:

scanf(“%6.2f”,&a);

是绝对错误的

②在以%c格式输入字符数据时,所有输入的均为有效字符

如:

scanf(“%c%c%c”,&a,&b,&c);

输入:d e f

则a=’d’,b为空格字符'  ',c=’d’

如果以%s读入字符串,则空格键和回车键都可以作为输入结束的标志

如:

scanf(“%s%s”,p,q);---------p,q均为指针

输入:Hello World与

        Hello

        World

效果是相同的,p均指向Hello这个字符串,q均指向World这个字符串

③如果在格式控制字符串中有非格式字符,则输入时要照原样入;

如:

scanf(“%d,%d,%d,”,&,&b,&c);

则输入时必须加上逗号:5,6,7

④如果同while配合用的话,则需注意去掉回车键

如有下面一段程序:

while(scanf(“%d”,&n)==1&&n!=0)

{

  char ch;

  scanf(“%c”,&ch);

  printf(“%c\n”,ch);

}

则输出结果是:

2                                                                                                                                                                          

3

0

结果表明ch字符是回车键

所以如果要消除影响:

有两种方法:

1)加上getchar();

while(scanf(“%d”,&n)==1&&n!=0)

{

  getchar();

  char ch;

  scanf(“%c”,&ch);

  printf(“%c\n”,ch);

}

2)在while中加上%*c

While(scanf(“%d%*c”,&n)==1&&n!=0)即可

 

2.数学函数

(1)求绝对值

double fabs(double );

float fabsf(float);

long double fabsl(long double);

int abs(int);

long int labs(long int);

(2)floor函数:返回不大于参数的整数

 float floor(float);

 double floor(double);

(3)ceil函数:返回不小于参数的整数

 float ceil(float);

 double floor(double);

(4)pow:返回X^Y;

 double pow(double x,double y);

(5)sqrt:返回x的开方

 double sqrt(double x);

(6)log2,log10:返回底数的自然对数值

 double log2(double x);

 double log10(double x);

 

3.字符串处理函数

(1)char *strchr(const char *str,int ch);

    返回str中第一次出现字符ch的位置指针,否则返回NULL;

(2)char *strstr(const char *str1,const char *str2);

   返回str1中第一次出现str2的位置指针,否则返回NULL;

(3)int stricmp(const char *str1,const char *str2);

   忽略字符的大小写进行比较

(4)int strncmp(const char *str1,const char *str2,int count);

   将str1前n个字符与str2的前n个字符进行比较

(5)char *strncpy(char *str1,const char *str2,int count);

   将str2的前n个字符复制到str1中

(6)char *strrev(char *str);

   将字符串str逆序,并返回逆置后的结果

 

4.常用使用函数

(1)double atof(const char *str);

    将字符串str表示的数转换成浮点数

(2)int atoi(const char *str);

    将字符串str表示的数转换成整数

(3)void qsort(void *buf,int count,int size,cmp);————>count为所需要进行排序的元素个数,size为每个元素所占用的空间

    快速排序

posted @ 2011-04-03 19:36  Matrix海子  阅读(15032)  评论(0编辑  收藏  举报