test1.c

//包含一个叫stdio.h的文件

//std-标准 standard input output

#include <stdio.h>


//int 是整型

//main前面的int表示main函数调用返回一个整型值

int main()//主函数-程序的入口-main函数有且仅有一个

{

    //这里完成任务

    //在屏幕上输出hello world

    //函数-print function - printf - 打印函数

    //库函数-C语言本身提供给我们使用的函数

    //别人的东西-打招呼

    //#include

    printf("hello world\n");

    return 0;//返回 0

}

//这种写法是过时的写法

// void main()

// {

// }

test2.c

#include <stdio.h>


//char-字符类型

//%d - 打印整形

//%c - 打印字符

//%f - 打印浮点数字-打印小数

//%p - 以地址的形式打印

//%x - 打印16进制数字

//%o - 打印8进制数字

int main()

{

    char ch = 'A';//内存

    printf("%c\n",ch);//%c -- 打印字符格式的数据

    //20;

    //short int -- 短整型

    //int --整型

    int age = 20;

    printf("%d\n",age);//%d -- 打印整型十进制数据

    //long 长整型

    long num = 100;

    printf("%d\n",num);

    float f = 5.0;

    printf("%f\n",f);

    double d = 3.14;

    printf("%lf",d);

    return 0;

}

test3.c

#include <stdio.h>


//比特:一个二进制代表一位,一个位只能表示0/1

//字节:一个字节为8个二进制,成为8位,计算机中存储的最小单位是字节

int main()

{

    printf("%d\n",sizeof(char));//1字节

    printf("%d\n",sizeof(short));//2

    printf("%d\n",sizeof(int));//4

    printf("%d\n",sizeof(long));//4/8   [c语言标准规定:sizeof(long)>=sizeof(int)]  [取决于平台,32位平台->4,64位平台->8]

    printf("%d\n",sizeof(long long));//8

    printf("%d\n",sizeof(float));//4

    printf("%d\n",sizeof(double));//8

    return 0;

}

/*

    char        字符数据类型

    short       短整型

    int         整型

    long        长整型

    long long   更长的整型

    float       单精度浮点数

    double      双精度浮点数

*/

/*

计算机中单位                计算机是硬件 -- 通电

                           正电 负电

bit - 比特位                1   0

byte - 字节     一个字节=8个比特位的大小                

kb - 1024 bit

mb - 1024 k

gb - 1024 m

tb - 1024 g

pb - 1024 t

*/

test4.c

#include <stdio.h>


/* int main()

{

    //年龄

    //20

    short age = 20;//向内存申请2个字节=16bit位,用来存放20

    float weight = 95.6f;//向内存申请四个字节存放小数(不加f则系统默认为双精度浮点数,加f后则表示为单精度浮点数,这是固定的)

    return 0;

} */


/*  变量,常量


    定义变量的方法

    int age = 150;

    float weight = 45.5f;

    char ch = 'w';


    变量的分类

    ·局部变量

    ·全局变量

*/

/* int num2 = 20;//全局变量-定义在代码块{}之外的变量

int main()

{

    int num1 = 10;//局部变量-定义在代码块{}内部的变量

    return 0;

} */


/* int a = 100;//全局变量和局部变量同名可以同时存在

int main()

{

    int a = 10;//局部变量优先

    //局部变量和全局变量的名字建议不要相同-容易产生误会,产生bug

    //当局部变量和全局变量的名字相同时候,局部变量优先

    printf("%d\n",a);

    return 0;

} */


/* int a = 10;

int main()

{

    // {

    //     int a = 10;

    // }

    printf("%d\n",a);

    return 0;

} */


// 变量的使用

/* int main()

{

    //计算2个数的和

    int num1 = 0;

    int num2 = 0;

    int sum = 0;

    printf("输入两个操作数:");

    //输入数据-使用输入函数

    scanf("%d%d", &num1, &num2); //&:取地址符

    // int sum = 0;

    // C语言语法规定,变量要定义在当前代码块的最前面

    sum = num1 + num2;

    printf("sum = %d\n", sum);

    return 0;

} */


/* 变量的作用域和生命周期

   ·作用域(scope),程序设计概念,通常来说,一段程序代码中所用到的名字并不总是有效/可用的

   而限定这个名字的可用性的代码范围就是这个名字的作用域

   1.局部变量的作用域是变量所在的局部范围。

   2.全局变量的作用域是整个工程。

 */

/* int main()

{   //局部变量的作用域

    int num = 0;

    {

        printf("num = %d\n", num);

    }

    return 0;

} */

/* //全局变量

int global = 2022;

void test()

{

    printf("test()--%d\n", global);

}

int main()

{

    test();

    printf("%d\n", global);

    return 0;

} */


/* int main()

{

    //未声明的标识符

    // extern,声明外部符号的

    extern int g_val;

    printf("g_val = %d\n", g_val);

    return 0;

} */


/* 生命周期

   变量的生命周期指的是变量的创建到变量的销毁之间的一个时间段

   1.局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束。

   2.全局变量的生命周期是:整个程序的生命周期。

 */

int main()

{

    {

        int a = 10;

        printf("a = %d\n", a); // ok

    }

    // printf("a = %d\n", a); // error

    return 0;

}

sum.c

//全局变量-定义在代码块之外的变量

int g_val = 2022;