什么是C语言

人与人之间的沟通需要语言,而人与计算机之间沟通也需要语言,计算机只能识别这种由0和1组成的二进制,所以最开始人与计算机是用二进制构成的机器语言沟通的,但是由于其复杂,人们便用符号来定义二进制而形成不同的功能,由这些不同意义的符号组成的计算机语言称为汇编语言,后来由于汇编语言的不通用而被淘汰掉,就出现了现在的高级语言,例如面对对象的C++和Java,还有面对过程的C语言,这些都为计算机的高级语言,都是人与计算机沟通的语言。
C语言在发展过程中形成了不少的标准,例如C99标准、C11标准等,C11标准是C语言的最新标准。
C语言的编译器也有很多,主要有Clang、GCC、WIN-TC、SUBMILE、MSVC、Turbo C等,其中我用的是MSVC也就是Visual studio即人们常说的VS。

第一个C语言程序

写一个C语言程序,首先要创建一个工程,创建了工程之后才能创建文件并写上代码形成程序,那么如何创建一个C语言工程呢?
下面我将以WIN10系统VS2010版本为例,具体说一说如何给C语言创建一个工程。

打开VS:

初识C语言1
打开之后就进入了如下页面:
初识C语言1

创建工程:

初识C语言1
创建之后就进入了如下页面:
初识C语言1
创建好工程之后我们就开始要创建文件了,在C语言中,有两种文件,一种是头文件(.h文件)还有一种是源文件(.c文件)
我们是在源文件中写代码。那么如何创建源文件嘞?

创建源文件

初识C语言1
之后进入如下界面:
初识C语言1
再进行如下步骤来创建源文件:
初识C语言1
创建好之后就是如下界面:
初识C语言1

写C语言程序

创建好了文件,我们就可以写上自己的代码了
C语言的基本构架如下:

int main()
{
        return 0;
}

我们来输出一个“Hello”

int main()
{
        printf("Hello\n");
        return 0;
}

由于printf输出函数是C语言库中自带的函数,不是我们自己,我们使用别人的东西是需要和C语言库打一声招呼的:用如下方式打招呼:

#include <stdio.h>

stdio中std--standard标准,i--intput输入,o--output输出,所以stdio是C语言的标准输入输出文件。
在打一声招呼后需要使用输出函数后,printf函数才可以正常使用。
即输出“Hello”的完整程序如下:

#include<stdio.h>
int main()
{
        printf("Hello\n");//\n是转义字符,相当于“回车键(Enter键)”
        return 0;
}

在VS中键入上述程序,按Ctrl+(fn)+f5运行程序,结果是我的运行结果窗口却闪退了。。。黑人问号,查询网上资料得到了一种解决运行窗口闪退的方法。

解决运行窗口闪退

进行如下步骤即可解决运行窗口闪退:
初识C语言1
运行窗口闪退问题解决了,我们就可以得到如下运行结果:
初识C语言1
成功的在屏幕上输出了“Hello”
当然,这只是我的第一个C语言程序,输出的是“Hello”也可以输出其他的嘛,可以用printf函数来输出。

数据类型

我们生活中的数据有整数,有小数,还有英文,同样C语言中也将数据分为了很多种,例如:int型(整型数据),short (int)型(短整型),long (int)型(长整型),long long (int)型(长长整型),float型(浮点型),double型(双精度浮点型),char型(字符型)

数据类型的长度

计算机所占空间大小最基本的单位是bit,一个bit(比特)就是存储一个0或者1,而一般描述计算机储存位置大小用Byte作为单位。
下面我们来写一个程序看看各种类型数据的长度(所占空间大小)是多少

#include <stdio.h>
int main()
{
        int i;
        short s;
        long l;
        long long ll;
        float f;
        double d;
        char ch;
        printf("整型数据的长度为:%d\n",sizeof(i));//%d输出整型数据
        printf("短整型数据的长度为:%d\n",sizeof(s));
        printf("长整型数据的长度为:%d\n",sizeof(l));
        printf("长长整型数据的长度为:%d\n",sizeof(ll));
        printf("浮点型数据的长度为:%d\n",sizeof(f));
        printf("双精度浮点型数据的长度为:%d\n",sizeof(d));
        printf("字符型数据的长度为:%d\n",sizeof(ch));
        return 0;
}

运行结果如下:
初识C语言1
在写程序的过程中,我们可以根据需要选择不同类型的数据类型。

变量

在生活中,像身高、体重、年龄等都是可以变的,在C语言中将这些可以变化的量称之为变量。

定义变量

在C语言中变量是需要定义的,可以直接定义变量并赋值,输出变量用printf函数,输入用scanf函数。
例如,下面写一个程序:定义一个整型变量a、b,并给a赋值为3,b为键盘输入,输出变量a、b。

#include <stdio.h>
int main()
{
        int a=3;
        int b;
        printf("请输入b的值:\n");
        scanf("%d",&b);//scanf是输入函数,和printf一样是C语言库中自带的函数,&为取地址
        printf("a的值为%d\n",a);//%d输出整型数据
        printf("b的值为%d\n",b);
        return 0;
}

输出结果如下:
初识C语言1

变量的分类

变量分为全局变量和局部变量
全局变量是定义在块之外的变量,而局部变量是定义在块里面的变量。
例如:

#include <stdio.h>
int a=1;//a为全局变量
int main()
{
        int b=2;//b为局部变量
        return 0;
}

在上述程序中,a为函数体之外的变量,则为全局变量,b为函数体里面的变量,则为局部变量。

变量的作用域和生命周期

在C语言中变量是有一定的作用域和生命周期的。
例如:

#include <stdio.h>
int a=1;//全局变量
int b=2;//全局变量
int main()
{
    printf("a1的值为:%d",a);
    {
            int a=3;//局部变量
            printf("a2的值为:%d",a);
            printf("b的值为:%d",b);
    }
    return 0;
}

输出结果如下:
初识C语言1
在上述程序中,第一个a为全局变量,第二个a为局部变量,b为全局变量,运行后,全局变量全程都可以使用,都可以输出,(a1、b)当局部变量和全局变量同名时,局部变量优先使用(a1、a2)
局部变量的作用域是:变量所在的局部范围,生命周期是:进入作用域生命周期开始,出作用域生命周期结束。
全局变量的作用域是:整个工程,全局变量的作用周期是:整个程序的生命周期。