• c语言实例


    #include <stdio.h>
    int main()
    {
     int i,j=10;
     int k=15;
     i=max(j,k);
     printf("i=%d
    ",i);
        return 0;
    }
    
    int max(int a,int b)
    {
        int c;
        c=a>b ? a:b;
        return c;
    }

    实参和形参:

    事实上,实参和形参被分配到内存的不同单元。

    实参对形参是单向的”值传递“,形参若在函数中值改变不影响实参的值。

    函数调用完毕之后,形参那部分内存单位被收回。

    --------------------------------

    c语言中 函数是不可以重名的。(c++与java是可以的,根据返回类型不同而不同)

    函数体内的变量与与参数也是不可以重名的。

    函数可以返回一个指针但不可以返回一个数组

    例二:10!

    #include <stdio.h>
    int main()
    {
        int i;
        float f=1;
        for(i=1;i<=10;i++)
        f=f*i;    
        printf("10!=%10.0f
    ",f);
    
        return 0;
    }

    奇怪,c-free软件,函数要在调用函数的前面。也就是函数要在main函数前面出现

    #include <stdio.h>
    float fac(int n)
    {
        float f;    
        if(n==0||n==1)    f= 1;
        else  f=n*fac(n-1);
        return f;
    }
    
    int main()
    {
       float f;
       f=fac(10);    
        printf("10!=%10.0f
    ",f);
        return 0;
    }

     例三:动态变量与静态变量

    #include <stdio.h>
    
    void function()
    {
        static int a=0;
        int b=0;
        a++;
        b++;
        printf("a=%d,b=%d
    ",a,b);
    }
    
    int main()
    {
        function();
        function();
        function();
        return 0;
    }

     例四:使用extern关键字提前声明全局变量

    #include <stdio.h>
    
    int max(int a,int b)
    {
        return a>b?a:b;    
        
    }
    int main()
    {
       extern i,j;
       printf("%d
    ",max(i,j));
    }
    int i=-5,j=-2;

    例五:指针作为函数的参数

    #include <stdio.h>
    void change(int i,int *p)
    {
        i++;
        if(p !=NULL)
        (*p)++;    
    }
    int main()
    {
       int a=5,b=10;
       change(a,&b);
       printf("a=%d b=%d
    ",a,b);
       return 0;
    }

    指针直接改变了实参的值。局部变量是不可以改变

    例六:返回指针的函数

    #include <stdio.h>
    
    char *name[7]={ "Monday","Tuesday","Wednesday","Thursday",
    "Friday","Saturday","Sunday" };    
    char *message= "wrong input";
    
    char *week(int day)
    {
        if(day<0||day>7)
        return message;
        else
         return name[day-1];
    }
    
    int main()
    {
       int day;
       char *p;
       printf("input a number of a week:
     ");
       scanf("%d",&day);
       p=week(day);
       printf("%s
    ",p);
       return 0;
    }

    例七:为什么要使用指针

    #include <stdio.h>
    void swap(int a,int b)
    {
        int tmp;
        tmp=a;
        a=b;
        b=tmp;    
    }
    main()
    {
        int a=10,b=20;
        swap(10,20);
        printf("%d	%d
    ",a,b);    
        return 0;
    }

    不使用指针不能改变 主函数 a,b的值

    #include <stdio.h>
    void swap(int *a,int *b)
    {
        int tmp;
        tmp=*a;
        *a=*b;
        *b=tmp;
    }
    
    
    main()
    {
        int a=10,b=20;
        swap(&a,&b);
        printf("%d	%d
    ",a,b);    
        return 0;
    }

     例八:字符串长度(虽然函数库里面有strlen函数,一个例子还是不错的)

    两个length作用域是如何区别的呢

    #include <stdlib.h>
    #include <stdio.h>
    
    int strlen_1(char *string)
    {
        int length=0;
        while( *string++ !='')
        length +=1;
        
        return length;
        
        
    }
    int main()
    {
        int length;
    
    length=strlen_1("abcdef");
        printf("%d
    ",length);
    
        
        return 0;
    }

     用函数库里面的

    #include <stdlib.h>
    #include <stdio.h>
    
    int main()
    {
        printf("%d
    ", strlen("abcdef"));    
        return 0;
    }

     例九:指针的长度 。一般32位的都是4字节

    #include <stdio.h>
    int main()
    {
        int *p;
        char *p2;
        printf("%d
    ", strlen("abcdef"));    
        printf("%d
    ", sizeof("abcdef"));    
        printf("%d
    ", sizeof(p));    
        printf("%d
    ", sizeof(p2));    
        return 0;
    }
  • 相关阅读:
    [Dijkstra+堆优化]
    沈阳市 全国 沈阳市社会保险经办机构 信息查询 办保险用
    MS SQL 启用标识插入
    DataGridView导出到Word
    sql生成一个日期表
    精通BIRT:Eclipse商务智能报表工具开发实践指南
    BIRT-商务智能报表工具开发案例指南
    网页状态码
    javascript变量的作用域
    KAL1 LINUX 官方文档之工具---kali工具
  • 原文地址:https://www.cnblogs.com/bluewelkin/p/4056847.html
Copyright © 2020-2023  润新知