C 常用函数解析

C语言常用函数综述,个人分享,不足之处望提出宝贵意见。。。

 

gets()字符串输入函数:gets(字符数组)
          例如:char str[20];    gets ( str);
          若从键盘输入:Hello World!
          则将字符串“Hello World!”送到字符数组str中。

puts( )字符串输出函数:puts(字符数组)
          例如:char str[]={“China/nBeijing”};
                 puts(str);
          输出:China
                Beijing

strlen()求字符串长度函数:strlen(字符数组)
          例如:char str[80]={“ab/n//012////””} ;
                printf(“%d”,strlen(str)) ;
          输出:10
                char str[80]={“ab/n/0y/012////””} ;
                printf(“%d”,strlen(str)) ;
          输出:3

strcmp( )字符串比较函数:strcmp(字符串1,字符串2)
       若设n=strcmp(字符串1,字符串2);
               n>0;   串1>串2
       则:n=  n=0;   串1=串2
               n<0;   串1<串2

strcat( )字符串连接函数 :strcat(字符数组1,字符串2)
         把字符串2连接到字符串1的后面,连接后的字符串放在字符
          数组1中。
      说明:⑴字符数组1必须足够大以便能够容纳字符串2。
            ⑵连接时只在新串最后保留一个‘/0’。

strcpy( )字符串复制函数 :strcpy(字符数组1,字符串2 )
      其中,字符串2可以是字符串常量或字符数组。
      功能:将字符串2复制到字符数组1中
            (其后自动加一个‘/0’)。

goto 语句:goto 语句为无条件转向语句,其作用为:使程序的执行无条件地转移到指定处。
     一般形式:goto  语句标号; 
     如:   √ goto   label_1;          ╳ goto    123;
     执行过程:执行语句时,程序转移到以标号
               为前缀的语句处继续执行。
     说明:⑴ C语言允许在任何语句前加一个语句标号,作为goto语句的目标。
             给语句加标号的形式:语句标号:语句
           ⑵ goto语句是一种非结构化语句,结构化程序设计方法不提倡使用goto语句,
             因为滥用goto语句将使程序流程无规律,可读性差。但也不是绝对禁止使用,
             只有在能够大大提高程序效率时才使用。
     注:不要从循环体外跳到循环体内!
   [例]使用goto语句实现求解1~100累计和的程序可以如下:
       main()
       { int  n=1, sum=0;
         loop:  sum += n; n++;
         if (n<=100)  goto  loop;
         printf(“sum=%d/n”, sum);
       }
    其中“loop:”为语句标号(格式:标号: 语句行),其命名遵循标识符命名规则。
    goto语句格式:goto  标号,功能为:使系统转向标号所在的语句行执行。

if (表达式)
      语句;
if(表达式)  
      语句1; 
    else    
      语句2;

switch语句直接处理多分支选择
switch语句的一般形式
switch(表达式)
      { case   常量表达式1:语句组;break;
         case   常量表达式2:语句组;break;
          ......
         case   常量表达式n:语句组;break;
         [default:语句组;[break; ]]  
      }

 

while (表达式)  语句
      一般格式为:while(表达式)   循环体

do
    语句
 while(表达式);
do-while循环又称直到型循环,它的一般格式为:
              do {    循环体;  }
              while(表达式);

while与do-while的主要区别:
        while语句进入循环体之前,测试循环条件,表达式必须为真,
        否则while循环不进入循环体,即循环体可能一次也不执行。
        而do-while语句不管开始的时候测试循环条件是真是假,循环体都要执行一次,
        因为循环体是先于测试条件执行的。

for(表达式1 ;表达式2 ;表达式3)    语句
        3个表达式都可以省略. 如:for(;;)语句
        相当于:while(1)语句
        即不设初值,不判断条件(认为表达式2的值为真值),循环变量不增值,无终止的进行循环体

break 语句  一般形式:break ;
        功能:结束当前的一层循环。
        解释:break 语句一般用在循环体的条件语句中,其作用是当某个条件成立时用
              break语句退出循环,不再继续执行其余的几次循环。
        注意:在嵌套循环中使用break语句,它只影响包含它的最内层循环,
              即程序仅跳出包围该break的那层循环。

continue语句 一般形式:continue ;
        功能:结束循环体,进入下一个循环周期。
        解释:一旦执行了continue语句,程序就跳过循环体中位于该语句后的所有语句,
             提前结束本次循环周期并开始下一个循环周期.

break语句和continue语句的注意点:
        break语句是结束整个循环过程,不再判断执行循环的条件是否成立;
        而continue语句只结束本次循环,并不终止整个循环的执行。

 

指针变量的定义 一般形式:类型标识符   *变量名 ;
        例如:  int *ptr1, *ptr2;
        用指针法引用数组元素:
                假如: int a[10], *p, i ;   p=a;
                则: *(p+i)、*(a+i)、a[i]、p[i] 等价,
                     都代表数组a的第i+1个元素。
字符指针变量定义的一般形式: char *指针变量名;
字符指针变量定义时可以赋初值。例如:char *strp=“Hello!”;
           而char s[10];   s=“hello!”; ╳
             char *ps;    ps=“hello!”; √

void *malloc(unsigned size);
        功能:分配size字节的存储区。
        函数调用例:  char *p;   p=(char *)malloc(60);

malloc(size)函数
      函数原型: void *malloc(unsigned size)
       功能:在内存的动态存储区的自由内存部分中分配一个长度为size字节的连续内存区域。
       返回值:如果执行成功,它的返回值是该内存区域首字节的指针;
               如果执行不成功,它的返回值是0,即NULL。
calloc(n,size)函数
      函数的原型:void *calloc(unsigned n,unsigned size)
        功能:在内存的动态存储区的自由存储部分中分配n个长度为size字节的连续内存区域。
        返回值:如果执行成功,它的返回值为连续内存区域首字节的指针;
                如果执行不成功,它的返回值是0,即NULL。
free(ptr)函数
     函数原型为:void free(void *ptr)
     功能:释放由ptr指向的内存,被释放的内存还回给系统,并成为自由内存 。
             ptr是指针或指针变量,它的值通常是由malloc或calloc函数调用时返回的值。


struct  结构名{
               成员1的说明;
               成员2的说明;
               ……
               成员n的说明;
              } ;
引用结构体成员的三种形式:
                        结构体变量名.成员名
                        (*p).成员名
                        p- >成员名

单链表结点的类型定义:
       struct 结构名
       {
        数据成员列表;
        struct  结构名  *指针名;
       };
       结构体中struct  结构名  *指针名;
       表示成员指针所指对象的类型就是自身结点类型。

共用体:使几个不同的变量共占同一段内存的结构,称为“共用体”类型的结构。
       “共用体”类型变量的定义形式为:
                     union   共用体名
                                    {成员表列
                                    }变量表列;
                    例如:union  data
                                    {int i;
                                     char  ch;
                                     float  f;}a,b,c;
        注意:只能引用共用体变量中的成员,不能引用共用体变量本身。

结构体类型变量所占内存长度是各成员占的内存长度之和。
共用体类型变量所占内存长度等于最长的成员的长度。


不带参数的宏:#define 宏名 宏体

带参数的宏: #define 宏名(参数名1,参数名2,······参数名n)  宏体

typedef类型声明
typedef说明一种新的数据类型名,其一般形式为:     
          typedef 类型名1 类型名2;
       其中,关键字typedef用于给已有类型重新定义新类型名,类型名1为系统提供的标准类型名
       或是已定义过的其他类型名;类型名2为用户自定义的新类型名。
       它往往可以简化程序中变量的类型定义。例如:
          typedef int WORD;
       定义WORD等价于数据类型int,此后,就可用WORD对变量进行类型说明,如:
          WORD a,b,c,*pa;

从表面上看,typedef与#define的使用方式十分相似,但两者本质上是不同。
       例如:
           typedef int COUNT
           #define COUNT int
       typedef定义的是一种新的数据类型,类型名为COUNT,它是系统标准类型(int)的别名,
       在预编译时,编译器会将COUNT与int作为同一个类型来处理。
       #define定义的是一个宏,宏名为COUNT,在预编译时,编译器将进行宏替换,
       把字符串COUNT替换为字符串int。

FILE 类型的指针变量定义:FILE  *指针变量名;
       例如:FILE *fp;
       含义:fp是一个指向FILE类型结构体的指针变量。
fopen()文件的打开函数
         调用方式:FILE *fp ;
                   fp= fopen(文件名,文件的使用方式);
         例∶ FILE  *fp;
              fp=fopen("stu.dat","r");
fclose(文件指针) 文件的关闭函数 
         例如:  FILE *fp;
                 fp=fopen(“output.dat”,“r+”);
                  …… /* 进行读写操作 */
                 fclose(fp);

注意:fopen函数和fclose函数总是成对出现的。无fclose函数时会导致部分数据丢失

 


函数名 含义             用法
abs 求整数的绝对值     int abs(int i);
cos 求余弦函数     double cos(double x);
exp 求指数函数     double exp(double x);
labs 取长整型绝对值     long lasb(long n);
log 求对数函数     long double(x)
pow 指数函数(x的y次方)double pow(double x,double y);
sin 求正弦值     double sin(double x);
sqrt 计算平方根     double sqrt(double x);
tan 求正切值     double tan(double x);
itoa 把整型转换为字符型  char *itoa(int value,char *string,int radix);
tolower 把字符转换为小写字母int tolower(int c);
toupper 把字符转换为大写字母int toupper(int c);
rand 随机发生器     void rand(void);
gettime 取得当前系统时间    void gettime(struct time timep);


C语言常用函数综述,个人分享,不足之处望提出宝贵意见。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值