人与人之间的沟通须要语言,而人与计算机之间沟通也须要语言,计算机只能识别这种由0和1组成的二进制,因此最开始人与计算机是用二进制构成的机器语言沟通的,可是因为其复杂,人们便用符号来定义二进制而造成不一样的功能,由这些不一样意义的符号组成的计算机语言称为汇编语言,后来因为汇编语言的不通用而被淘汰掉,就出现了如今的高级语言,例如面对对象的C++和Java,还有面对过程的C语言,这些都为计算机的高级语言,都是人与计算机沟通的语言。
C语言在发展过程当中造成了很多的标准,例如C99标准、C11标准等,C11标准是C语言的最新标准。
C语言的编译器也有不少,主要有Clang、GCC、WIN-TC、SUBMILE、MSVC、Turbo C等,其中我用的是MSVC也就是Visual studio即人们常说的VS。ide
写一个C语言程序,首先要建立一个工程,建立了工程以后才能建立文件并写上代码造成程序,那么如何建立一个C语言工程呢?
下面我将以WIN10系统VS2010版本为例,具体说一说如何给C语言建立一个工程。函数
打开以后就进入了以下页面:3d
建立以后就进入了以下页面:
建立好工程以后咱们就开始要建立文件了,在C语言中,有两种文件,一种是头文件(.h文件)还有一种是源文件(.c文件)
咱们是在源文件中写代码。那么如何建立源文件嘞?code
以后进入以下界面:
再进行以下步骤来建立源文件:
建立好以后就是以下界面:对象
建立好了文件,咱们就能够写上本身的代码了
C语言的基本构架以下:blog
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运行程序,结果是个人运行结果窗口却闪退了。。。黑人问号,查询网上资料获得了一种解决运行窗口闪退的方法。it
进行以下步骤便可解决运行窗口闪退:
运行窗口闪退问题解决了,咱们就能够获得以下运行结果:
成功的在屏幕上输出了“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语言中将这些能够变化的量称之为变量。
在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; }
输出结果以下:
变量分为全局变量和局部变量
全局变量是定义在块以外的变量,而局部变量是定义在块里面的变量。
例如:
#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; }
输出结果以下:在上述程序中,第一个a为全局变量,第二个a为局部变量,b为全局变量,运行后,全局变量全程均可以使用,均可以输出,(a一、b)当局部变量和全局变量同名时,局部变量优先使用(a一、a2)局部变量的做用域是:变量所在的局部范围,生命周期是:进入做用域生命周期开始,出做用域生命周期结束。全局变量的做用域是:整个工程,全局变量的做用周期是:整个程序的生命周期。