C语言

一、C语言常用

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
/*
< >引用的是编译器的类库路径里面的头文件
" "引用的是你程序目录的相对路径中的头文件
*/

//华氏转换为摄氏 公式:c = 5/9(f - 32);
float C(float f)
{
    return 5/9.0 * (f - 32);                       //两侧有至少一个为浮点型就会进行带小数的除法
}
//三角形额面积计算
double Area(double a,double b,double c)
{
    double q = (a+b+c)/2.0;
    return sqrt(q*(q-a)*(q-b)*(q-c));
}

int main()
{
    printf("Hello world!\n");
    printf("5!= %.4f\n",C(43.2));                   //.4f表示保留四位小数部分
    printf("Area = %.8lf\n",Area(3.0,4.0,5.0));      //.lf默认输出6位小树部分,需要指定输出的位数
/*

    double a,b,c;
    printf("输入边长(3.1,4,3,6,4)\n");
    scanf("%lf,%lf,%lf,",&a,&b,&c);                             //输入scanf后面为变量的地址
    printf("Area = %lf\n",Area(a,b,c));

    char x = getchar();               //从屏幕获取一个字符
    putchar(x);                  //向屏幕输出一个字符

    char str[10];
    gets(str);
    puts(str);
    */

    char s1[10] = {"Jay"};
    char s2[10];
    strcpy(s2,s1);         //字符串复制函数
    puts(s2);

    char s3[10] = "Jl";
    printf("%d\n",strcmp(s1,s3)); //字符串比较函数

    printf("%d\n",strlen(s1));    // 字符串长度函数

    printf("%s\n",strlwr(s1));       //转为小写
    printf("%s\n",strupr(s1));       //转为大写
    return 0;
}

二、指针

1.指针的类型

      基本数据类型比如 int、char ,还有 一些复杂的比如 int (*p)[], 指向数组的指针,像这种的判断就是指针名字去掉 , 指针的类型类型就是 int(*)[],其实就是指向数组的指针

    2.指针所指向的类型

      当你通过指针来访问指针所指向的内存区时,指针所指向的类型决定了编译器将把那片内存区里的内容当做什么来看待。  你只须把指针声明语句中的指针名字和名字左边的指针声明符*去掉,剩下的就是指针所指向的类型。

     例如:int*ptr:指针所指向的类型是int   int(*ptr)[3]:指针所指向的的类型是int()[3] 

   3.指针的值

指针指向的内存的数据

三、指针作为参数进行传递

(1)、传值(通过指针指向的内存里面的数据进行交换)


(2)、传址



void SwapTest1(int *p1,int *p2)        //地址里面的数据改变
{
    int x = *p1;
    *p1 = *p2;
    *p2 = x;

}
void SwapTest2(int *p1,int *p2)          //指针指向改变,最后指针p1,p2释放消失,其实最后数据a,b的值并没有改变
{
    int *temp = p1;
    p1 = p2;
    p2 = temp;
}
void Change()
{
    int a = 10,b = 100;
    int *a_point = &a,*b_point = &b;
    printf("a = %d,b = %d\n",a,b);
    SwapTest1(a_point,b_point);
    printf("a = %d,b = %d\n",a,b);
    SwapTest2(a_point,b_point);
    printf("a = %d,b = %d\n",a,b);
}

(3)、详解





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值