初识C语言顾名思义就是对C语言的基础知识,对C语言有一个大概的了解,对每一个知识点就是简单的认识,不做详细讲解,后期会一一进行分享,可以期待一下
1.什么是C语言?
C语言是一门通用的计算机编程语言,广泛运用于底层开发,C语言的设计目标是提供一种能以简易的方式编译,处理低级存储器,产生少量的机器码,以为不需要任何运行环境支持便能运行的编程语言。尽管C语言提供了许多低级处理的功能,但是仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可以在许多电脑平台上进行编译,甚至包含一些嵌入式处理器以及超级电脑等作业平台,二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSIC,作为C语言最初的标准,目前2011年12月8日,国家标准化组织(ISO),和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。C语言是一门面向过程的计算机编程语言,与C++,Java等面向对象的编程语言有所不同。
在这里普及一下计算机语言的发展史:C语言是一门计算机语言,计算机语言是什么呢?用一句话来说,计算机语言就是人和计算机交流的语言,比如C,C++,Java,Python.计算机语言最早的时候是二进制语言,也是机器语言,电脑是个硬件,硬件需要通电,当时的人们把正电标记成1,把负电标记成0,那么由01序列组成的数字序列叫做二进制语言,科学家还编了个手册,每一个01序列都有不同的含义,可是这样需要很强的记忆力,而且也很难记忆,后面便发展了汇编语言,用一些简单的英文字母,符号串,来替代一些特定的二进制序列,这也大大提高了识别力和记忆性,后面又出现了高级计算机语言。有面向过程的编程语言,比如C语言,也有面向对象的编程语言,Python,C++,Java.
到了这里相信你已经对C语言的概念有了一个认识。那么我们继续。
2.第一个C语言程序
这里建议使用devC++或者visual studio 2013编译器进行编译代码。
创建项目
![](https://i-blog.csdnimg.cn/blog_migrate/fc1e6dd6fd573a7e9a84fe8d9923c8dd.png)
![](https://i-blog.csdnimg.cn/blog_migrate/2c1008c6b82e4d615614debb50e0025a.png)
命名即可创建项目完成
创建文件
![](https://i-blog.csdnimg.cn/blog_migrate/ad69e23f7559d4244a2e5ee46c7fbd15.png)
编写代码 库函数是C语言本身提供给我们的使用的函数,使用前需要引入#include<staio.h>
![](https://i-blog.csdnimg.cn/blog_migrate/d69a4159d363f9702f66359133ad6371.png)
#include被称为文件包含命令,其含义是把尖括号里指定的文件添加到本程序中,使其称为本程序的一部分。#include的作用是把尖括号内的文件原封不动复制到本程序中。stdio.h的全称为“standard input&output",意为标准的输入输出头文件。在C语言中,函数必须再声明之后才可以进行调用,比如我们的经常使用的printf函数就是在stdio.h文件中声明的。这就是为什么我们在使用printf函数时,我们明明没有声明这个函数却可以直接在程序中使用。所以,如果我们在程序中没有使用#include<stdio.h>来引入标准输入输出头文件的话,那么由于编译器认为并没有声明printf函数,我们就不能使用printf以及其他在stdio.h中声明的函数了。只有在程序中写了include<stdio.h>后,把标准的输入输出头文件添加到了我们的程序中,这时我们才可以使用标准输入输出头文件的内置函数。
运行程序
![](https://i-blog.csdnimg.cn/blog_migrate/acb42b167b6d2834c92f9a401f9568ad.png)
3.数据类型
char //字符数据类型(一个字符)
short //短整形
int //整形
long //长整形
long long //更长的整形
float //单精度浮点型
double //双精度浮点型
![](https://i-blog.csdnimg.cn/blog_migrate/d15857e23ab9617b6d55f9ef89b33521.png)
![](https://i-blog.csdnimg.cn/blog_migrate/ec50ed96ab2ae9556e007c5a9f1d755c.png)
单精度型和双精度型的区别在于它们的精确程度不一样,也就是小数部分的有效位数不一样。单精度数(float型)在32位计算机中存储占用4字节,也就是32位,有效位数为7位,小数点后6位;双精度数(double型)在32位计算机中存储占用8字节,也就是64位,有效位数为16位,小数点后15位。比如3.1415926535897932384这个小数,如果定义成float型,那么只会留下小数点后6位,也就是3.141592(直接取前面小数点后面6个数,不会四舍五入),如果定义成double型,那么只会留下小数点后15位,也就是3.141592653589793。
![](https://i-blog.csdnimg.cn/blog_migrate/32618d0bd36726a4b965d5c671401cff.png)
特别地
C语言中没有字符串类型,字符串类型是通过指针来间接实现的。
打印出每种类型的大小
![](https://i-blog.csdnimg.cn/blog_migrate/d78778815e5fb45c294d150d900946ca.png)
long,一般代表机器字长,也就是一次能处理的数据最大宽度,一般和寄存器的位宽是等价的。在32位的处理器中,寄存器的位宽一般是32bit,即4个字节,所以,long的长度是4个字节在64位的处理器中,寄存器的位宽一般是64bit,即8个字节,所以,long的长度是8个字节。
计算机中的单位:
计算机的最小的单位是比特(bite)只能用来存放1或者是0就是只能用来存放一个二进制数,接下来就是字节,一个字节等于8个比特位。后面就是Kb,Mb,Gb,Tb,Pb,有1Kb=1024Mb,以此类推。
4.变量,常量
生活中有些值是不变的(比如:圆周率,性别,身份证号码,血型等等),而有些值是可变的(比如:年龄,体重等等)不变的值,在C语言中叫做常量,变的值在C语言中叫做变量。
关于变量
定义变量的方法
![](https://i-blog.csdnimg.cn/blog_migrate/14b76c6ee3543cbef2b3d2d45b058ff1.png)
2.变量的分类:局部变量和全局变量。
![](https://i-blog.csdnimg.cn/blog_migrate/b28663cb4d45150db58dcfa1b716179a.png)
当局部变量和全局变量同名时,局部变量优先使用。
![](https://i-blog.csdnimg.cn/blog_migrate/77c4b3fdccd053a49683e8cac539922c.png)
3.变量的使用
![](https://i-blog.csdnimg.cn/blog_migrate/c5e418beaab1fb28dbe50cb30894e666.png)
4.变量的作用域和生命周期
作用域:是程序设计概念,通常来说,一段程序代码中所用到的名字并不总是有效的/可用的。而限定这个名字的可用性的代码范围就是这个名字的作用域。
局部变量的作用域就是变量所在的局部范围
全局变量的作用域就是整个程序所在的范围,就是整个工程
生命周期:变量的生命周期指的是从变量的创建到变量的销毁之间的一个时间段。
局部变量的生命周期:进入作用域生命周期开始,出作用域生命周期结束。
全局变量的生命周期:整个程序的生命周期
关于常量
字面常量
const修饰的常变量
#define定义的标识符变量
枚举变量
1.const修饰的常变量
![](https://i-blog.csdnimg.cn/blog_migrate/05278d4c4ed4454604c1f8a4a7691c3a.png)
![](https://i-blog.csdnimg.cn/blog_migrate/5c560a402e4fd41069da837be0dbc388.png)
![](https://i-blog.csdnimg.cn/blog_migrate/e9339b3c1dbb54396a6802e8879bd59b.png)
注:
const在C语言上只是规定了在num这个变量的值不能再被改变,但是本质上还是一个变量,所以具有常变量属性。
2.字面常量
![](https://i-blog.csdnimg.cn/blog_migrate/68a133884100cd1b3cba0553aa944525.png)
3.#define定义的标识符常量
![](https://i-blog.csdnimg.cn/blog_migrate/f9278fa5c63b2175b0c5aea3dad39dae.png)
4.枚举变量