C语言速览——1、VS2019配置与C程序、数据类型、常量与变量

目录

一、VS2019配置与C程序——经典的Hello World

         1、VS2019配置

2、最经典第一个C程序

二、C语言中的数据类型

三、常量与变量

1、变量的意义

2、定义变量及修改其值      

3、变量的分类

3.1、局部变量与全局变量的区别

3.2全局变量与局部变量的注意事项

4、变量的使用

5、常量


一、VS2019配置与C程序——经典的Hello World

1、VS2019配置

          为了让我们写的代码跑起来,我们需要一个编译器并配置好运行环境,我这里用的是VS2019社区版,如果你也想用,可以点击下方链接来下载感谢您下载 Visual Studio - Visual Studiohttps://visualstudio.microsoft.com/zh-hans/thank-you-downloading-visual-studio/?sku=Community&rel=17        安装好之后,需要配置一下环境,只需勾选C++桌面开发即可

       

        环境配置好以后,打开编译器,(颜色等配置根据个人喜好来选择即可)。选择创建新项目,之后可按下图操作

 

        

         这样,我们就创建好了一个项目。然后,继续创建源文件

         

        这样,我们就创建好了一个项目,并在其下创建了一个源文件,一个程序的实现通常都是在一个项目中创建多个源文件、头文件等来实现的。

2、最经典第一个C程序

        下面,我们来写第一个C语言程序

         第一个最经典的C语言程序非打印Hello World莫属,实现该程序的代码如下:

#include<stdio.h>

int main()
{
    printf("Hello World!");
    getchar();
    return 0;
}

        将其运行,我们可以看到这样一个画面

        ​​​​ 

        下面,我们来解释一下这段代码

#include<stdio.h>

        首先,程序在形成之前,会对#include <stdio.h>这一行的代码进行处理

        这行代码的意思是,将stdio.h文件中的所有内容全部包含到当前的文件中。stdio.h是一个标准输入输出的头文件,里面包含了诸多C语言的库函数。关于这一点,在后续的章节中会有深入的讲解,这里只做简单的介绍

int main()

        然后,一个C程序的执行都是要从主函数,即从main函数开始,主函数在一个项目中必须有且只有一个。

        一个函数实现的语法是:      

返回值类型 函数名(参数)
{
    //函数功能;
}

        而在这一行代码中,int表示该函数的返回值类型是整形(integer,即整数),其后的main为函数名,()中为空表示函数无参数。

    printf("Hello World!");
    getchar();
    return 0;

        printf是包含于stdio.h文件的诸多库函数中的一个,其作用是将其中内容打印到显示器上,在本例中即打印Hello World。

        getchar() 此行代码在此仅用作使程序暂停,使我们能够观察到打印的内容

        return 0 表示这个函数最后返回0,(主函数一般都要返回0)

二、C语言中的数据类型

        数据类型分为内置数据类型和自定义数据类型

        C语言本身为我们提供了诸多内置数据类型,如

        不同的数据类型所占的内存空间大小不同,能够表达的数值范围也不同

        关于空间大小单位,由小到大依次为

        Bit—Byte(字节)—KB—MB—GB—TB

        8bit为1字节,1024字节为1kb,1024kb为1mb...

        存在这么多的类型,其实是为了更加丰富的表达生活中的各种数值

        那么这些数据类型要怎么使用呢,我们往下看

三、常量与变量

        常量,即不变量,如圆周率、人的血型等,其值不可更改

        变量,即可变量,如年龄,体重等,其值是可更改的

1、变量的意义

        在一个程序中,数据是存储于内存中的,但我们不知道哪块内存区域存储了什么样的数据。通过创建变量,我们可以在内存中开辟一块区域(具体位置通常由编译器决定),来存放我们想要的数据,而当我们想修改数据时,可以通过这一变量找到开辟出的内存,对里面的数据进行修改

2、定义变量及修改其值      

        在C语言中,定义一个变量的语法为:

        数据类型 变量名;   

        如:

int val;

double weight = 1.0;

char ch = 'a';

weight = 2.0  // 修改weight中的值

        在这里,表达式左边的val、weight、ch都是变量名称,名称可以由用户自己定义。weight、ch两个变量都已经进行了初始化(即赋初始值),而val没有,在这种情况下,编译器会为其赋上一个随机值(不同编译器赋值方法不同)

        建议在定义变量的同时对其进行初始化

3、变量的分类

        变量分为局部变量与全局变量

3.1、局部变量与全局变量的区别

        1、二者的定义位置与默认赋值方法不同

//全局变量,创建于函数体之外
int g_val = 1000; 


//未初始化的全局变量,编译器默认对其赋值为1
int m;   

int main()
{
    //局部变量,创建于函数体之内
    int value = 100;  


    //未初始化的局部变量,编译器默认对其赋随机值
    int i;
    return 0;
}

         2、二者作用域与生命周期不同

        作用域是值变量可以被使用的代码范围,生命周期是指变量从创建到销毁的这一过程,函数内的局部变量在函数结束后销毁。

#include<stdio.h>

int g_val; //全局变量g_val,其作用域为整个项目,生命周期从程序运行时开始到程序结束时结束

int main()
{
    {
        //变量i的作用域为离他最近的{}包含的代码块内
        int i = 0;  
    }

    //此时会报错,因为此处超出了i的作用域,变量i不可用,但变量i的生命周期没有结束
    printf("%d", i); 

    //变量j的作用域为整个main函数
    int j = 0;  
    return 0;
}

3.2全局变量与局部变量的注意事项

        在局部变量的作用域内,不允许对这个变量重定义,即该变量名只能用一次

        而全局变量在整个工程中不允许重定义

int g = 0;
int g = 2;//错误,全局变量不允许重定义,即使在其他文件中也不行

int main()
{
    int i = 0;
    int i = 1; //错误,不允许在局部变量作用域内对其重定义
}

        但是由于全局变量与局部变量的作用域不同,允许定义的局部变量允许与全局变量同名

int val = 0;

int main()
{
    int val = 1;
    printf("%d", val);  //会打印出数字 1
}

        而当定义的局部变量与全局变量同名时,优先使用局部变量

4、变量的使用

        既然我们已经可以创建变量,变量又该如何使用呢,下面以求和为例进行简单阐述

#include <stdio.h>

int main()
{
    int n1 = 0; 
    int n2 = 0;
    int sum = 0;
    printf("请输入要求和的两个数字");
    scanf("%d%d", &n1, &n2);
    sum = n1 + n2;
    printf("两数和为:%d", sum);

    return 0;
}

        首先,我们创建了n1,n2,sum三个变量并对其初始化

        然后,用scanf函数对n1和n2进行赋值,scanf函数是包含于stdio.h的一种,用以读取从键盘上输入的数据,并赋值给相应的变量。前面的%d是指要输入整形来对变量赋值,其总个数取决于后面要赋值的变量数。&n1,&n2是指将第一个输入的值赋给n1,第二个输入的值赋给n2,&n1、&n2的书写先后顺序决定了二者的赋值先后顺序

        之后,计算二者之和并赋值给sum

        最后打印结果,printf中的%d表示要打印一个整形,sum表示要打印的具体整形数字,若要打印多个整形,写法与scanf基本相同,如:

int i = 0;

int j = 1;

printf("i = %d  j = %d", i, j);

5、常量

        C语言中的常量大体有字面常量、const修饰的常变量、#define定义的标识符、枚举常量

//#define定义的标识符
//这里将MAX标识符定义为1000,之后编译器编译时,遇到MAX就会替换成数字1000
#define MAX 1000 


//枚举常量(当前仅需简单了解即可)
enum person
{
    man,
    woman
};

int main()
{
    // 字面常量
    1;
    3.1334;
    "abc";

    //const修饰的常变量
    const int i = 0;
    //此时i中的数据不可被修改,但i本质仍未变量
    i = 1; 
}

        如果您觉得不错,请点个赞吧

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值