文章目录
前言
在学习C语言之前,我们需要了解C语言的发展史
以及什么是跨平台语言?什么是移植性强的语言?
一、为什么叫做c语言?
在这里先讲一个故事。C语言为什么叫C语言呢?其实是因为先有高级语言ALGOL 60(简称A语言),后来它经过简化变为BCPL语言(改进后称为B语言),而C语言是在B语言的基础之上发展而来的,所以就称为C语言。
因此,世界上的第一个C语言编译器是用B语言编写的。目前,主流的编译器是微软公司的Visual Studio使用的masm编译器和Linux使用的gcc编译器(Mac计算机也使用这个编译器)。
二、跨平台性
跨平台概念是软件开发中一个重要的概念,即不依赖于操作系统,也不依赖硬件环境。一个操作系统下开发的应用,放到另一个操作系统下依然可以运行。
平台一词是相对于操作系统来讲的,现在普遍使用的有unix系统(第一款操作系统,不开源收费),windows系统(微软收费),linux系统(免费开源),以及苹果的mac os系统(通过改变unix系统内核)。
说到这里就要说一下我们写的程序了,c语言的跨平台性就不是很好,因为c程序在我们操作系统运行的时候都是汇编程序,例如在windows下是.exe文件,不同的芯片或者操作系统底层的指令集是不一样的,虽然c语言可以跨平台,但是原则是:“一次编写,次次编译”c的程序复制到不同的操作系统,或者芯片里面需要重新修改代码以及重新编译的。
而像java则是通过各个平台的虚拟机来运行程序的,简单来讲就是通过java虚拟机来实现跨平台性。(小白的理解,错误之处请大家指正)。
二、移植性
可移植性并不是指所写的程序不作修改就可以在任何计算机上运行,而是指当条件有变化时,程序无需作很多修改就可运行。
三、开发环境的搭建及代码运行
1.Microsoft Visual Studio 2017(简称VS 2017)
Microsoft Visual Studio 2017(简称VS 2017)是微软的一款集成开发环境(简称IDE)一般包括代码编辑器、编译器、调试器和图形用户界面工具。
方便初学者使用,而一些BTA里面的C语言工程师则是在linux命令窗口下直接编程的,我们现在还有没有这个能力。不过只要学习总是能学会的。
而微软的VS个人用户是免费使用的,作为初学者2012版或者2017版就足够用了,在网上大家可以找到安装包和注册密钥,以及安装教程,小编就不在这详细叙述了。
2.新建项目
VS里面都是以项目形式存在的,所谓项目就是在电脑本地建立一个文件夹,而我们编写的程序,以及可执行程序等等都会在这个文件夹下面,这就是项目,便于我们轻易找到程序代码,以及需要的可执行文件。
- 第一步点击文件(File),第二步选择新建,第三步点击项目。
- 选择visual c++
- 选择Win32控制应用台(有的没写)
- 程序名字(自己命名)
- 改变项目地址(我不喜欢放c盘,电脑会卡,自己选择一个盘创建一个文件夹可以用来放自己以后的代码)
- 解决方案名字自己写
- 点击确定进行创建
3.新建代码
创建之后,点击解决方案里的源文件右键,添加新建项,添加程序运行文件,一定要命名为.c后缀。
可能会有.cpp文件我们删除即可,vs内部是masm编译器(c和c++的混合编译器)只有我们以.c后缀命名时masm编译器才会以c的规则进行编译程序!
点击添加即可,可能有人会有疑问,为什么你的文件命名中,会有中文出现,那是因为vs对中文兼容,大家在vs中放心使用中文。
这就是创建之后的界面,下面我们就来敲入HelloWord的代码,来调试一下。
#include<stdio.h>//#include就是导入一个文件的意思,std是一个标准库,i是input ,o是output
//stdio.h就是标准的输入输出库,要用printf()函数就要用到#include<stdio.h>
#include<stdlib.h>//stdlib.h则是c语言的一种标准库函数,用来调用system()函数。
int main()//int 函数返回值类型则是整型,main()则是主函数,
//每一个程序的起始点就是从主函数开始,程序有且只有一个主函数
{ //{} 函数体 程序开始的地方
//printf 是stdio.h中系统提供的函数 表示在标准输出设备上打印字符串
printf("HelloWorld\n");//"" 称为字符串 ;一条语句的结束,\n斜杠表示换行的意思。
system("pause"); //system函数是C语言调用其他语言的一个接口
//pause实际上是Windows的一个批处理命令,
//pause是暂停的意思,pause命令的作用是让cmd窗口(又称控制台窗口)停留一下
//system("pause")使我们通过C语言调用执行了Windows的批处理命令pause。
return 0;//return 如果出现在其他函数中表示函数结束 如果出现在main 函数中表示程序结束
//0 表示函数的返回值 要和函数返回值类型对应
//;一条语句的结束
}
#include<stdio.h>
#include<stdlib.h>
int main()
{
printf("HelloWorld\n");
system("pause");
return 0;
}
这样一个程序就这样写完了,每一个语句有什么含义,我也写出来了,希望大家能看懂,最后我们来运行一下我们的程序,看看到底是怎样的!
我们的windows下的控制界面就停在了电脑屏幕上,这就是system(“pause”);函数的作用,然后我们回车退出!