【计算机专业必看】C语言常用函数

来源: StudyGate 2021-01-31 08:48:16 [] [旧帖] [给我悄悄话] 本文已被阅读: 次 (12674 bytes)

C 语言是一种通用的高级语言,最初是由丹尼斯·里奇在贝尔实验室为开发 UNIX 操作系统而设计的。C 语言最开始是于 1972 年在 DEC PDP-11 计算机上被首次实现。UNIX 操作系统,C编译器,和几乎所有的 UNIX 应用程序都是用 C 语言编写的。由于各种原因,C 语言现在已经成为一种广泛使用的专业语言。C语言的主要特征是:

  • 易于学习。
  • 结构化语言。
  • 它产生高效率的程序。
  • 它可以处理底层的活动。
  • 它可以在多种计算机平台上编译。

那么C语言的函数的特征是什么呢?有哪些常用的函数呢?今天我们就来盘点一下,希望对大家学习和练习C语言有所帮助。

 

C语言函数定义

 

C 语言中的函数定义的一般形式如下:

return_type function_name( parameter list )

{

   body of the function

}

 

在 C 语言中,函数由一个函数头和一个函数主体组成。下面列出一个函数的所有组成部分:

返回类型:一个函数可以返回一个值。return_type 是函数返回的值的数据类型。有些函数执行所需的操作而不返回值,在这种情况下,return_type 是关键字 void。

 

函数名称:这是函数的实际名称。函数名和参数列表一起构成了函数签名。

 

参数:参数就像是占位符。当函数被调用时,您向参数传递一个值,这个值被称为实际参数。参数列表包括函数参数的类型、顺序、数量。参数是可选的,也就是说,函数可能不包含参数。

 

函数主体:函数主体包含一组定义函数执行任务的语句。

 

C语言常用函数

 

1.I/O函数

 

(1)scanf函数:

 

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

 

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

 

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为每个元素所占用的空间

 

4. 输入输出函数(<stdio.h>)

(1)文件打开和关闭:

 

      FILE *fopen(const char *filename, const char *mode);

 

      int fclose(FILE * stream);

 

(2)字符输入输出:

 

      int fgetc(FILE *fp);

 

      int fputc(int c, FILE *fp);

 

   getc和putc与这两个函数类似,但通过宏定义实现。通常有下面定义:

 

      #define getchar()  getc(stdin)

 

      #define putchar(c) putc(c, stdout)

 

      int ungetc(int c, FILE* stream);//把字符 c 退回流 stream

 

(3)格式化输入输出:

 

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

 

      int printf(const char *format, ...);

 

      int fscanf(FILE *stream, const char *format, ...);

 

      int fprintf(FILE *stream, const char *format, ...);

 

      int sscanf(char *s, const char *format, ...);

 

      int sprintf(char *s, const char *format, ...);

 

(4)行式输入输出:

 

      char *fgets(char *buffer, int n, FILE *stream);

 

      int fputs(const char *buffer, FILE *stream);

 

      char *gets(char *s);

 

      int puts(const char *s);

 

(5)直接输入输出:

 

      size_t fread(void *pointer, size_t size, size_t num, FILE *stream);

 

      size_t fwrite(const void *pointer, size_t size, size_t num, FILE *stream);

 

5. 常用函数bsearch和qsort

(1)二分法查找函数bsearch:

 

    void *bsearch(const void *key, const void *base, size_t n, size_t size, int (*cmp)(const void *keyval, const void *datum));

 

   函数指针参数cmp的实参应是一个与字符串比较函数strcmp类似的函数,确定排序的顺序,当第一个参数keyval比第二个参数datum大、相等或小时分别返回正、零或负值。

 

(2)快速排序函数qsort:

 

     void qsort(void *base, size_t n, size_t size, int (*cmp)(const void *, const void *));

 

   Qsort对于比较函数cmp的要求与bsearch一样。设有数组base[0],...,base[n-1],元素大小为size。用qsort可以把这个数组的元素按cmp确定的上升顺序重新排列

 

由于专业性和英语学习,计算机专业对于留学生来说也是充满挑战的学科,想要进一步学好CS,可以寻求 online tutoring 等学术资源。

 

https://www.studygate.com/blog-cn/programming%E7%BC%96%E7%A8%8B%E4%BB%A3%E5%86%99/

 

https://www.studygate.com/blog-cn/%E4%BB%A3%E7%A0%81coding%E4%BB%A3%E5%86%99/

 

 

请您先登陆,再发跟帖!

发现Adblock插件

如要继续浏览
请支持本站 请务必在本站关闭/移除任何Adblock

关闭Adblock后 请点击

请参考如何关闭Adblock/Adblock plus

安装Adblock plus用户请点击浏览器图标
选择“Disable on www.wenxuecity.com”

安装Adblock用户请点击图标
选择“don't run on pages on this domain”