C语言入门学习笔记001

#define _CRT_SECURE_NO_WARNINGS 1

//包含一个叫stdio.h的文件
//std-标准 srandard input output
#include <stdio.h>

int main()
    //主函数-程序入口-main函数有且仅有一个{
    //这里完成任务
    //在屏幕上输出hallo world
    //函数printf f-function
    //库函数-C语言本身提供给我们使用的函数
    //使用别人的东西-打招呼
    //#include

    printf("hallo XIA\n");
    return 0;
}
//int 是整型的意思
//main前面的int表示main函数调用返回一个整型值
#define _CRT_SECURE_NO_WARNINGS 1

//包含一个叫stdio.h的文件
//std-标准 srandard input output
#include <stdio.h>

int main()
{
    char ch = 'A';//内存
    printf("%c", ch);//%c 打印字符格式的数据
    return 0;
}
#define _CRT_SECURE_NO_WARNINGS 1

//包含一个叫stdio.h的文件
//std-标准 srandard input output
#include <stdio.h>
int main()
{
    int age = 20;
    printf("%d\n" , age);//%d打印十进制数值
    return 0;
}

各种%?的表示

short (int) = 短整型
int = 整型
long = 长整型 
%d=打印整型
%c=打印字符
%f=打印浮点型(小数) 
%p=以地址的形式打印
%x=打印十六进制
%o...... 

#define _CRT_SECURE_NO_WARNINGS 1

//包含一个叫stdio.h的文件
//std-标准 srandard input output
#include <stdio.h>
int main()
{
    float f = 5.0;
    printf("%f\n" , f);//%d打印十进制数值
    return 0;
}
#define _CRT_SECURE_NO_WARNINGS 1

//包含一个叫stdio.h的文件
//std-标准 srandard input output
#include <stdio.h>
int main()
{
    double d = 3.14;
    printf("%lf\n" , d);//%d打印十进制数值
    return 0;
}
#include <stdio.h>
int main()
{
    //年龄
    //20
    short age = 20;//向内存申请两个字节(16bit)用来存放20
    float weight = 95.6f;//向内存申请四个字节(32bit)存放小数
    return 0;
}

C语言规定
sizeof(long)>=sizeof(int) 

全局变量与局部变量

#define _CRT_SECURE_NO_WARNINGS 1

//包含一个叫stdio.h的文件
//std-标准 standard input output
#include <stdio.h>
int num2 = 20//全局变量——定义在代码块({})之外的变量
int main()
{
    int num1 = 10;//局部变量——定义在代码块({})内部的变量
    return 0;
}

全局变量与局部变量设定相同情况下

#include <stdio.h>
int a = 100;//全局变量——定义在代码块({})之外的变量
int main()
{
    int a = 10;
    printf("%d\n",a);
    return 0;
}

输出结果

10

进程已结束,退出代码为 0


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

当局部变量和全局变量相同时,局部变量优先(就近原则)

局部变量只能在局部内使用

示例

#include <stdio.h>
int main()
{
    {
        int a = 10;
    }
    printf("%d\n",a);
    return 0;
}

显示运行报错

全局变量可在全局使用

示例

#include <stdio.h>
int a = 10;
int main()
{
    printf("%d\n",a);
    return 0;
}

数字相加

错误示例

#include <stdio.h>
int main()
{
    //计算两个数的和
    int num1 = 1;
    int num2 = 0;
    scanf("%d%d", num1,num2)
    return 0;
}

需添加&——取地址符号

修改后

#include <stdio.h>
int main()
{
    //计算两个数的和
    int num1 = 1;
    int num2 = 0;
    scanf("%d%d", &num1,&num2);
    return 0;
}

增加打印流程

#include <stdio.h>
int main()
{
    //计算两个数的和
    int num1 = 1;
    int num2 = 0;
    scanf("%d%d", &num1,&num2);
    int sum = num1 + num2;
    printf("sum = %d\n" , sum);
    return 0;
}

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

修改后

#include <stdio.h>
int main()
{
    //计算两个数的和
    int num1 = 1;
    int num2 = 0;
    int sum = 0;
    scanf("%d%d", &num1,&num2);
    sum = num1 + num2;
    printf("sum = %d\n" , sum);
    return 0;
}

输出

10
20
sum = 30

进程已结束,退出代码为 0

变量的作用域和生命周期

1.局部变量

#include <stdio.h>
int main()
{
    int num = 0;
    printf("num = %d\n" , num);
    return 0;
}

此时num作用域正确,可以正常运行

错误示范:

#include <stdio.h>
int main()
{
    {
        int num = 0;
    }
    printf("num = %d\n" , num);
    return 0;
}

此时num作用域错误,局部变量无法拓展到上一级代码块

2.全局变量

#include <stdio.h>
int num = 100;
int main()
{
    printf("num = %d\n" , num);
    return 0;
}

此时num作为全局变量

————调用外部全局变量

创建文件num.c

int num = 2021;

重写main.c

#include <stdio.h>
int main()
{
    //未声明的标识符
    //声明
    extern int num;
    printf("num = %d\n" , num);
    return 0;
}

通过extern int num完成继承操作

生命周期

#include <stdio.h>
int main()
{
    {
        int num = 1
        printf("num = %d\n" , num);//ok
    }
    printf("num = %d\n" , num);//error
    return 0;
}

退出代码块({})后num生命周期结束

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

全局变量:整个程序的生命周期

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

长风望野

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值