【C修炼计划】卷壹 · 初识C语言

卷壹 · 初识C语言

一 · C语言的起源


C语言的前生是B语言(BCPL,一种早期的高级语言)。下图描述了C语言的发展历程。
请添加图片描述
ALGOL 60是程序设计语言发展史上的一个里程碑,它首次提出了很多现代程序设计思想,如:函数、递归、结构体等。

ALGOL 60的最大缺陷是缺乏标准输入、输出能力,使其无法兼容不同的设备,最终被淘汰。

CPL是英国剑桥大学研发的一种编程语言,它是在ALGOL 60语言基础上发展而来。CPL语言又催生了BCPL。

美国贝尔实验室在1970年对B语言进行了修改和补充,之后命名为B语言,并使用B语言编写了第一个UNIX操作系统。

1973年,贝尔实验室再次对B语言进行改进,改进后的语言命名为C语言,并成功使用C语言编写了UNIX内核。此内核极其稳定,且具有良好的可移植性,展现了C语言编写系统软件得天独厚的优势。

这个用C语言写的UNIX系统在一些研究机构、大学、政府机关慢慢流行起来,并带动了C语言的发展。

C语言广泛使用后,衍生了许多不同的版本。为了统一,美国国家标准局(ANSI)制定了C标准,于1990年春发布,被称为“ANSIC”标准或“C89”标准。

1990年,“ANSIC”标准被国际标准化组织(ISO)采纳为国际标准,称为“ISOC”标准,也称为“C90”标准。ANSIC(C89)和ISOC(C90)内容基本相同,主要在于制定的组织不同。请添加图片描述

二 · C语言的特性


七个优点:

特性一:简洁的语言
C语言仅包含9种控制语句,32个关键字。程序编写要求不严格,以小写字母为主。语句构成与硬件有关联的较少,且本身不提供与硬件相关的输入输出、文件管理等功能,故c语言拥有非常简洁的编译系统。

特性二:结构化的控制语句
C语言是一种结构化的语言,提供的控制语句具有结构化特征,如for语句、if...else语句和switch语句等。

特性三:丰富的数据类型
C语言包含的数据类型广泛,不仅包含有传统的字符型、整型、浮点型等数据类型,还有其他语言所不具备的数据类型,其中以指针类型使用最为灵活。

特性四:丰富的运算符
C语言包含34个运算符,它将赋值、括号等均视作运算符来操作,使程序的表达式类型和运算符类型非常丰富。

特性五:对物理地址的直接操作
C语言允许对硬件内存地址进行直接读写,并可直接操作硬件。

特性六:较好的可移植性
C语言是面向过程的编程语言,只需要关注所问题的本身,不需要花过多精力去了解相关硬件。针对不同环境,用C语言实现相同功能时的代码基本一致,能够方便地完成移植,极大的减少了程序移植的难度。

特性七:生成执行效率高的程序
C语言可以生成高质量和高效率的目标代码,故通常应用于对代码质量和执行效率要求较高的嵌入式系统程序的编写。

两个缺点:

特性八:较弱的封装能力
这一点使C语言在数据的安全性上有很大缺陷,这也是C和C++的一大区别。

特性九:不严格的语法限制
C语言对变量的类型约束不严格,对数组下标越界不作检查等。从应用的角度,C语言比其他高级语言较难掌握。

三 · C语言的应用范围


范围一:编写系统应用程序
C语言提供了底层编程接口,可以直接访问计算机硬件,因此开发底层软件的效率非常高。

范围二:嵌入式设备开发
C语言涉及51单片机、ARM、服务器开发、游戏、驱动程序、网页和爬虫等编程领域。

范围三:写游戏
C语言可以实现高效的图形渲染和游戏逻辑处理,满足不同类型游戏的需求。

范围四:写驱动程序
C语言可以写驱动程序,包括各种硬件驱动。

范围五:服务器开发
C语言可以用于服务器开发,现在的游戏服务器端大多都是C语言或者C++开发的。

范围六:视频图片流媒体处理
C语言可以用来进行视频图片流媒体处理,这是C语言开源库ffmpeglive555sdl等的主要应用。

范围七:编写不依赖计算机硬件的应用程序
C语言是一种不依赖计算机硬件的应用程序设计语言。

范围八:黑客编程
C语言可以进行黑客编程,通过配合汇编获取随机地址、调shellcode等方式,实现对计算机系统的攻击和控制。

范围九:开发其它编程语言
C语言是开发部分其它编程语言的基础。

四 · C语言程序结构


一个C程序就是由若干头文件和函数组成。
请添加图片描述
#include <stdio.h>就是一条预处理命令,它的作用是通知C语言编译系统在对C程序进行正式编译之前需做一些预处理工作。

函数就是实现代码逻辑的一个小的单元。

注:在最新的C标准中,main函数前的类型为int而不是void

此处可以查看我们的第一个实例:输出“Hello, World!”

以下选项哪个是C语言中的包含头文件写法:

  • A.include<stdio.h>
  • B.#include stdio.h
  • C.#include<stdio.h>
  • D.#include[stdio.h]

一个C程序有且只有一个主函数,即main函数。
请添加图片描述
C程序就是执行主函数里的代码,也可以说这个主函数就是C语言中的唯一入口。main前面的int就是主函数的类型。

printf()是格式输出函数,它的功能就是在屏幕上输出指定的信息。例如:

printf("点赞!!!!");

return是函数的返回值,根据函数类型的不同,返回的值也是不同的。

注意:C程序一定是从主函数开始执行的。

五 · C语言书写规范

在写C语言程序的时候为了书写清晰、便于阅读、便于理解、便于维护,在编写程序时应遵循以下规则:

  1. 一个说明或一个语句占一行,例如:包含头文件、一个可执行语句结束都需要换行;

  2. 函数体内的语句要有明显缩进,通常以按一下Tab键为一个缩进;

  3. 括号要成对写,如果需要删除的话也要成对删除;

  4. 当一句可执行语句结束的时候末尾需要有分号;

  5. 代码中所有符号均为英文半角符号。

以一个例子来看:请添加图片描述

注释是为了使别人能看懂你写的程序,也为了使你在若干年后还能看得懂你曾经写的程序而设定的。

注释是写给程序员看的,不是写给电脑看的。所以注释的内容,C语言编译器在编译时会被自动忽略。

C语言注释方法有两种:

  • 多行注释: /* 注释内容 */

  • 单行注释: //注释一行

以下是使用多行注释与单行注释的例子:

/*
点赞
收藏
转发
*/
#include<stdio.h>
int main(){
	printf("Good Good Study\n"); //好好学习 
	printf("Day Day Up\n"); //天天向上 
	return 0;
}

六 · C语言编译器安装

请添加图片描述

第一步:下载安装包
打开网页:https://sourceforge.net/projects/orwelldevcpp/
点击Download,等待5秒即可下载。
请添加图片描述
第二步:安装
下载完成后打开:
在这里插入图片描述

点击运行。

在这里插入图片描述

在这里插入图片描述

直接按OK(语言后面再选)。
在这里插入图片描述

用户协议,选择“I agree”。

在这里插入图片描述
选择Next。

在这里插入图片描述
输入安装路径之后,点击Install开始下载。

在这里插入图片描述
在这里插入图片描述
等待一会下载成功,点击Finish。
在这里插入图片描述
选择语言,中文或英文都可以,点击Next。

在这里插入图片描述

接下来编辑主题,可以按自己喜好选择,选择好后点击Next。

在这里插入图片描述
点击OK,打开编辑器。
在这里插入图片描述

在这里插入图片描述
点击文件->新建->源代码或快捷键Control+N,创建新文件并编写代码(文字太小可以按住Control再滑动滚轮)。
在这里插入图片描述

在这里插入图片描述
点击文件->保存或快捷键Control+S,保存到自己的位置,将后缀改成.c
在这里插入图片描述

在这里插入图片描述
点击运行->编译运行或快捷键F11(部分系统需要fn+F11),运行程序。
在这里插入图片描述
遇到错误就会报错,并将它认为错误的地方标识出来。
在这里插入图片描述
修改代码后保存,再次运行。
在这里插入图片描述
成功了。

附 · 参考资料


C语言起源、特性和发展历程(知乎):传送
C语言(百度百科):传送
c语言能干嘛(百度搜索智能精选):传送
C语言程序结构(慕课网)传送
HelloWorld(OpenJudge)传送

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值