第一章 初窥天机之C语言概述

2024-02-04 22:48
文章标签 语言 概述 第一章 天机

本文主要是介绍第一章 初窥天机之C语言概述,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.1计算机的发展

计算机(computer)又俗称电脑,是现代一种用于高速计算的电子计算机器,可以进行数值计算,又可以进行逻辑计算,还具有存储记忆功能。是能够按照程序运行,自动、高速处理海量数据的现代化智能电子设备。

计算机的发明者是约翰·冯·诺依曼。计算机是20世纪最先进的科学发明之一,对人类社会的发展起到了巨大的推动作用。现在计算机已经遍及千家万户,各行各业,成为信息社会中不可或缺的工具。

计算工具的演化经历了由简单到复杂、从低级到高级的不同阶段。1889年,美国科学家赫尔曼·何乐礼研制出以电力为基础的电动制表机,用以储存计算资料。1930年,美国科学家范内瓦·布什造出世界上首台模拟电子计算机。1946年2月14日,由美国军方定制的世界上第一台电子计算机“电子数字积分计算机”。

  • 第1代:电子管数字机(1946—1958年)

硬件方面,逻辑元件采用的是真空电子管,主存储器采用汞延迟线、阴极射线示波管静电存储器、磁鼓、磁芯;外存储器采用的是磁带。软件方面采用的是机器语言、汇编语言。应用领域以军事和科学计算为主。

缺点是体积大、功耗高、可靠性差。速度慢(一般为每秒数千次至数万次)、价格昂贵,但为以后的计算机发展奠定了基础。

  • 第2代:晶体管数字机(1958—1964年)

硬件方面的操作系统、高级语言及其编译程序应用领域以科学计算和事务处理为主,并开始进入工业控制领域。特点是体积缩小、能耗降低、可靠性提高、运算速度提高(一般为每秒数10万次,可高达300万次)、性能比第1代计算机有很大的提高。

  • 第3代:集成电路数字机(1964—1970年)

硬件方面,逻辑元件采用中、小规模集成电路(MSI、SSI),主存储器仍采用磁芯。软件方面出现了分时操作系统以及结构化、规模化程序设计方法。特点是速度更快(一般为每秒数百万次至数千万次),而且可靠性有了显著提高,价格进一步下降,产品走向了通用化、系列化和标准化等。应用领域开始进入文字处理和图形图像处理领域。

  • 第4代:大规模集成电路机(1970年至今)

硬件方面,逻辑元件采用大规模和超大规模集成电路(LSI和VLSI)。软件方面出现了数据库管理系统、网络管理系统和面向对象语言等。1971年世界上第一台微处理器在美国硅谷诞生,开创了微型计算机的新时代。应用领域从科学计算、事务管理、过程控制逐步走向家庭。

以上内容大家可以从百度百科中找到对应更详细的相关知识。这里不再做详细的介绍。

1.2 C语言的背景

C语言是一门面向过程的计算机编程语言,与C++、Java等面向对象编程语言有所不同。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。C语言描述问题比汇编语言迅速、工作量小、可读性好、易于调试、修改和移植,而代码质量与汇编语言相当。C语言一般只比汇编语言代码生成的目标程序效率低10%~20%。因此,C语言可以编写系统软件。

C语言之所以命名为C,是因为 C语言源自Ken Thompson发明的B语言。

 

1.3 C语言编译器的讲解

C语言的编译器有很多种,比如:Turbo C、C-Free、VC++6.0、VS系列等。

Turbo C是美国Borland公司的产品,Borland公司是一家专门从事软件开发、研制的大公司。该公司在1987年首次推出Turbo C1.0产品,使用了全然一新的“集成开发环境”(Integrated Development Environment,简称IDE),即使用了一系列下拉式菜单,将文本编辑、程序编译、连接以及程序运行一体化,大大方便了程序的开发。1988年推出Turbo C1.5版本,在原来的基础上增加了图形库和文本窗口函数库等。1989年推出的Turbo C2.0版本,在原来的基础上增加了查错功能等,还可以对数学协处理器进行仿真。

C-Free是一款支持多种编译器的专业化C/C++集成开发环境(IDE),使用者可以轻松地编辑、编译、连接、运行、调试C/C++程序。C-Free目前主要有两个版本,收费的C-Free5.0专业版和免费的C-Free4.0标准版。具体的C-Free大家可以百度。

VC++6.0是Microsoft Visual C++ 6.0的简称。是微软推出的一款将“高级语言”翻译成“机器语言”的C++编译器。VC++ 6.0是一个功能强大的可视化软件开发工具。自1993年微软公司推出Visual C++ 1.0后,随着其新版本的不断问世,VC++ 6.0已经成为专业程序员进行软件开发的首选工具。所以我们整本书也是以VC++ 6.0作为编译器开发程序的。

VS系列包括:VS2005、VS2008、VS2010、VS2012、VS2013、VS2015等几个经典版本。VS全称Microsoft Visual Studio,如果是某一版本就会对应上相应的数字,比如:Microsoft Visual Studio 2010,简称VS 2010。Visual Studio是微软公司推出的开发环境,是目前最流行的Windows平台应用程序开发环境。建议大家学完本书后转向Visual Studio的使用。因为Visual Studio的功能实在强悍。我们也将会在附录A中介绍Visual Studio 2010的安装。请大家学完本书后尝试Visual Studio 2010的安装、使用与学习。

当然还有很多其他相关的编译器可以编译C语言的。这点大家可以自己探索。此处就不浪费章节多讲了。

1.4 VC++6.0的下载说明

好了,基础的我们已经说完了,现在我将给大家一个VC++6.0编译器的下载说明。

我们首先打开百度首页,如图1.1所示。

图 1.1 百度首页

然后我们在搜索栏中输入:VC++6.0中文版,就会出现很多的搜索结果如图1.2所示。我们暂时选择第一个,找到“下载地址”的图标,点击下载即可。为什么说暂选第一个呢?因为我们下载的是中文绿色版,比较小,缺少部分功能。暂时有些功能也并不是必须的,所以我们暂时选择30.34M的这个VC++6.0下载。

图1.2 VC++6.0搜索结果

当我们点击进入“下载地址”后会出现如图1.3所示,进入这个界面后我们往下拉动滚动条,找到如图1.4所示的界面。

图1.3 进入下载界面

 

图1.4 下载地址界面

我们点击如图1.4中显示的其中一个VC++6.0的下载地址即可下载。

1.5 VC++6.0 安装

我们下载后的VC++6.0文件夹如图1.5所示。我们右击该文件选择“解压到当前文件夹(X)”,解压后的文件夹如图1.6所示。解压之后会出现如图1.7所示的文件。

如图1.5 VC++6.0压缩包
如图1.6 VC++6.0解压方式

 

图1.7 解压包

我们双击进入C++6.0_Win7_XP85文件夹,会出现如图1.8所示的文件。我们双击vc6_cn_full进行安装。然后会出现如图1.9所示的VC安装界面。

图1.8 C++6.0_Win7_XP85文件夹
图1.9 VC安装界面

我们只需要一直点击“下一步”,不用修改任何信息,即可完成VC++6.0的安装。最后一步如图1.10所示为最后安装一步。

图1.10 安装最后一步

然后我们点击“完成”,VC++6.0表示安装成功,同时也会启动VC++6.0。启动后的VC++6.0如图1.11所示。有时候再启动是会出现兼容性的问题,我们只需要勾选上“不再显示此消息”,然后点击“运行程序”即可。往后出现相似的问题我们也可以这样处理。如图1.12所示兼容性问题。

图1.11 启动VC++6.0的程序运行
图1.12 软件兼容性问题

在图1.11中,我们去掉“启动时显示提示”,然后点击关闭即可。这样就不会每次都会出现这个烦人的提示了。到这里我们就完成了VC++6.0的安装。当大家学到一定的程度之后就会挑选适合自己的编译器了。我建议大家有一定基础之后最好使用VS系列相关的编译器。安装方式我也将会在附录A中给出,共大家参考。

1.6 VC++6.0的使用

我们在桌面上找到如图1.13所示的VC++6.0的图标,然后双击该图标,就会启动VC++6.0,或者在启动菜单中找到Microsoft Visual C++ 6.0进行启动。

图1.13 VC++6.0的启动图标

启动之后的界面如图1.14所示,界面上有许多按钮,我们此处暂时介绍最常用的几个按钮的使用,其他的大家希望大家自己去探索,正所谓“师傅领进门修行靠个人”。

图1.14 VC++6.0启动后的界面

我们点击图1.14第二栏中的图标,就会出现一个类似于记事本一样的编辑框。如图1.15所示。我们在编辑器中输入如下程序:

#include <stdio.h>

int main()

{

printf("Hello C");

return 0;

}

图1.15 文本编辑器

然后点击保存按钮,进行保存,也可以按下Ctrl+s组合键进行保存。保存的同时会出现一个保存位置的对话框,要你选着一个保存的位置,我们保存的是C盘下新建了一个名为“C”的文件夹,如图1.16所示。双击进入该文件夹。

图1.16 文本的保存

当我们进入名为“C”的文件夹后,我们给此文件命名为“1.c”,然后点击保存即可。需要注意的就是C语言的后缀就是小写字母‘c’,命名时最好用字母、数字或者下划线命名。由于大家刚学所以直接用数字命名即可。比如第一个程序命名为“1.c”,第二个程序命名为“2.c”这样的格式。等大家有了一定的基础后,命名也是可以在一定的规则下“随心所欲”。如图1.17所示为文本命名及保存操作截图。

图1.17 文本命名及保存操作截图

点击保存之后,我们C语言程序算是基本上完成了,我们依次点击编译,组件和运行。在点击编译时会出现一个对话框,就是问你是否创建一个默认的工作空间,直接点击按钮“是”就行。点击后就会出现如图1.18所示的结果。同时“运行”图标也会有不可选的灰色,编程可选的红色。

图1.18 点击编译之后的结果

编译之后,程序小面的框中出现了0个错误,0个警告。这就意味着我们的程序没有语法错误,生成的是名为“1.obj”的文件,就是常说的目标文件。接着我们就可以点击“组件”图标,程序就会把我们写的这些程序翻译成二进制代码。就会生成“1.exe”文件,就是可执行文件。如图1.19所示,感觉和图1.18类似,不过仔细观察下面的小框,就是组件框,会发现一个生成了“1.obj”文件,一个生成了“1.exe”文件。

图1.19 组件程序

最后我们点击“运行”图标运行程序。运行结果如图1.20所示。程序输出了“Hello C”后面的“Press any key to continue”就是在程序运行完成后,会自己添加这样一句话。

图1.20 运行结果

安装好程序之后,需要运行一个程序,

#include <stdio.h>
int mian()
{int a;a= 2;printf(“%d\n“, a);return 0;
}

并对这个程序进行简要的讲解。

铺垫一下基础知识。

然后程序的框架就是

#include <stdio.h>
int main()
{/*此处填写代码*/return 0;
}

1.7 C语言的注释

 

C语言中的注释共有两种:一种是以/*开始,以*/结束的块注释。另一种是以//开始,以换行符结束的单行注释。比如以程序的基本框架为例解释两种注释。

  • 以/*开始,以*/结束的块注释
#include <stdio.h>
int main()
{/*此处填写代码,此处注释为/*开始,*/结束的块注释。*/return 0;
}

 

  • 以//开始,以换行符结束的单行注释
#include <stdio.h>
int main()
{// 此处为单行注释return 0;
}

 

这篇关于第一章 初窥天机之C语言概述的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/679028

相关文章

C 语言中enum枚举的定义和使用小结

《C语言中enum枚举的定义和使用小结》在C语言里,enum(枚举)是一种用户自定义的数据类型,它能够让你创建一组具名的整数常量,下面我会从定义、使用、特性等方面详细介绍enum,感兴趣的朋友一起看... 目录1、引言2、基本定义3、定义枚举变量4、自定义枚举常量的值5、枚举与switch语句结合使用6、枚

Go 语言中的select语句详解及工作原理

《Go语言中的select语句详解及工作原理》在Go语言中,select语句是用于处理多个通道(channel)操作的一种控制结构,它类似于switch语句,本文给大家介绍Go语言中的select语... 目录Go 语言中的 select 是做什么的基本功能语法工作原理示例示例 1:监听多个通道示例 2:带

C语言函数递归实际应用举例详解

《C语言函数递归实际应用举例详解》程序调用自身的编程技巧称为递归,递归做为一种算法在程序设计语言中广泛应用,:本文主要介绍C语言函数递归实际应用举例的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录前言一、递归的概念与思想二、递归的限制条件 三、递归的实际应用举例(一)求 n 的阶乘(二)顺序打印

C语言中的数据类型强制转换

《C语言中的数据类型强制转换》:本文主要介绍C语言中的数据类型强制转换方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C语言数据类型强制转换自动转换强制转换类型总结C语言数据类型强制转换强制类型转换:是通过类型转换运算来实现的,主要的数据类型转换分为自动转换

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件

C语言实现两个变量值交换的三种方式

《C语言实现两个变量值交换的三种方式》两个变量值的交换是编程中最常见的问题之一,以下将介绍三种变量的交换方式,其中第一种方式是最常用也是最实用的,后两种方式一般只在特殊限制下使用,需要的朋友可以参考下... 目录1.使用临时变量(推荐)2.相加和相减的方式(值较大时可能丢失数据)3.按位异或运算1.使用临时

使用C语言实现交换整数的奇数位和偶数位

《使用C语言实现交换整数的奇数位和偶数位》在C语言中,要交换一个整数的二进制位中的奇数位和偶数位,重点需要理解位操作,当我们谈论二进制位的奇数位和偶数位时,我们是指从右到左数的位置,本文给大家介绍了使... 目录一、问题描述二、解决思路三、函数实现四、宏实现五、总结一、问题描述使用C语言代码实现:将一个整

C语言字符函数和字符串函数示例详解

《C语言字符函数和字符串函数示例详解》本文详细介绍了C语言中字符分类函数、字符转换函数及字符串操作函数的使用方法,并通过示例代码展示了如何实现这些功能,通过这些内容,读者可以深入理解并掌握C语言中的字... 目录一、字符分类函数二、字符转换函数三、strlen的使用和模拟实现3.1strlen函数3.2st

Go语言中最便捷的http请求包resty的使用详解

《Go语言中最便捷的http请求包resty的使用详解》go语言虽然自身就有net/http包,但是说实话用起来没那么好用,resty包是go语言中一个非常受欢迎的http请求处理包,下面我们一起来学... 目录安装一、一个简单的get二、带查询参数三、设置请求头、body四、设置表单数据五、处理响应六、超

C语言中的浮点数存储详解

《C语言中的浮点数存储详解》:本文主要介绍C语言中的浮点数存储详解,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、首先明确一个概念2、接下来,讲解C语言中浮点型数存储的规则2.1、可以将上述公式分为两部分来看2.2、问:十进制小数0.5该如何存储?2.3 浮点