初识C语言1
一. 初识C语言
语言是交流的工具 而人和计算机交流依靠的就是计算机语言:比如说C、C++、java、python、go… 这篇博客就带大家简单认识一下C语言的基础知识,让大家对C语言有一个大概了解
1.什么是C语言?
我们知道,计算机最底层是各种硬件,硬件之上是操作系统,想让硬件工作就需要操作系统,而操作系统就是通过调用驱动层和硬件交互。在操作系统之上我们可以安装很多应用软件(也叫上层软件),在操作系统之下一般叫做底层软件,c语言擅长的就是底层软件的开发,但这并不代表它不能进行上层开发。c语言在嵌入式,单片机开发中用的很多,进来两三年物联网的兴起又让c语言迎来了一次春天。
以下是对C语言的一些简单介绍
C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
C语言的标准:二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSI C,作为C语言最初的标准。C语言的标准有C89,C90,C99,C11…
最早期的代码都是以二进制形式来写的,对于程序员非常不友好。后来发展为了汇编语言,将二进制序列起一个名字,比如ADD,MOVE,JMP等,这就是助记符,由助记符组成的语言就是汇编语言。汇编语言之后又出现了B语言,在其之上又建立了C语言。 此时就出现了一些问题。大家都想用C语言,每个使用者对C语言进行了一些修改,互相之间不通用,不利于长期发展。于是C语言的国际标准就出现了,也就是ANSI C 又叫做C89 随着时间的发展标准也在不断迭代。当然,当前通用的还是C99之前的语法标准。
[1] 目前2011年12月8日,国际标准化组织(ISO) 和 国际电工委员会(IEC) 发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。
C语言是一门面向过程的计算机编程语言,与C++,Java等面向对象的编程语言有所不同。
其编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。如VS2019用的是MSVC编译器,linux使用gcc编译器 而苹果用的是clang…
2. 写一个简单的C语言程序
这里我使用的是VS2019集成开发环境 集成开发环境又叫IDE
一个集成开发环境包含编辑器 编译器(如MSVC)调试器
而要达到输出hello world的效果
首先要创建一个项目 项目的命名尽量不使用中文,不要使用特殊字符,不要使用空格(可以用下划线_)
新建好项目后 我们要在源文件中新建项 选c++文件 然后将cpp文件改为.c文件 添加即可
.c为后缀的是C语言的代码
.cpp为后缀的是c++的代码
#include <stdio.h>
int main()//主函数
{
//printf是一个库函数 由C语言标准库提供 可以直接使用 使用前需要包含<stdio.h>头文件
//功能:在屏幕上打印信息
//stdio就是标准输入输出 standard input/output
printf("hello world\n");在屏幕上打印 hello world
return 0;
}
- printf() 是一个打印函数 使用时需要包含头文件 <stdio.h>
- 运行代码时 需要对代码先编译 再链接 再运行 ctrl+F5一键完成这三个功能(或是fn+ctrl+f5) 或者点击开始执行(不调试)
-如果你是VS2013 那么显示代码的窗口可能一闪而过 可以在解决方案资源管理器中右击项目名 点击属性->连接器->系统->子系统 改成控制台即可 - 按F10 进入调试 按一次f10执行一条语句 我们会发现 c语言的代码 都是从main函数的第一行开始执行的 所以说main函数是程序的入口 所以我们的代码一定要有一个main函数
- 但是 一个工程中main函数有且仅有一个 但是可以有多个.c文件哦
3.main函数
int main ()
{
return 0;
}
这就是main函数的一个标准模板
- int 是该函数的返回类型 表示该函数的执行结果返回一个整形
- main是函数名
- ()括号里面传递函数执行所需要的参数 当然这里不需要对它传参所以不写
- {} 也就是花括号 里面是函数体
通过这样一个简单的过程 我们就可以在屏幕上看到hello world字符了
当然除了上面的标准定义外 main函数也可以写成
int main(int argc,char*argv[])
{
return 0;
}//定义1
int main