
一、C语言概述
1.首先是发展史
之所以是C而不是A或B,其实也是迭代后的结果。
毕竟初期版本被淘汰后,迭代到了C,就开始了正式使用。
(至于具体的发展历史,还是看百科吧!)
2.C语言的优点
1)简洁紧凑、灵活方便。
毕竟刚开始,作为“标识符”,用来代替数字的“指令”还比较少。
2)运算符丰富
就“加减乘除”和括号之类的运算符而言,其实大部分语言都差不多,并且还有各种类和方法(函数)进行补充。
3)数据结构丰富
各种数据类型,因为面向对象的出现,也都差不多了吧?
4)C语言是结构式的语言
大部分的编程语言好像都是这种情况,所以越早提出越有发言权?
5)C语言限制不太严格,程序设计自由度大
毕竟算是最早出来的,有各种不完善。并且还是一对一的对接,自然要比绕好几层的灵活得多。
6)C语言允许直接访问物理地址,可以直接对硬件进行操作
毕竟可以不用依赖操作系统这个中间层嘛!
7)C语言程序生成代码质量高,程序执行效率高。
谁让绕的“层”比较少,不过仔细想想,其实也不少。
8)C语言使用范围广,可移植性好。
只要硬件规格和操作系统匹配,基本就可以使用。
(不过现在基本上所有语言都向着跨平台跨系统发展就是了。)
3.C语言的缺陷
1.封装性
数据封装性比较差,所以在数据安全上有重大问题。
所以就出来了C++的强化版?
2.安全性
因为语法限制不太严格,对变量的类型约束不严格,影响程序的安全性,对数组下标越界不作检查等。
而且容易逆向工程,所以被攻略会很容易?
二、C语言的开发环境。
由于书中是采用VC++,不过现在应该都使用VS了,所以这里也使用VS吧!
1.首先下载安装VS,这里是VS2019.
并且在安装组件包时,需要安装C++模块。

2.然后就是打开文件。
找到“空项目”,注意是C++的。

下一步:

创建,因为上面的“位置”和“解决方案名称”,需要自己定义。

“解决方案名称”:写的是什么,显示的就是什么。
找到源文件:

右键创建-》添加-》新建项

弹出下面的窗体。

选中C++文件,并且将“名称”的文件后缀改成.c

添加

然后输入代码:
#includemain() { printf("AAAA");}点击运行

运行结果:

1)如果“解决方案资源管理器”不慎被关闭,就在视图-》解决方案资源管理器中找到。

如图:快捷键是Ctrl+Alt+L

2)要想添加已有的头文件,或者编写头文件。
只要找到头文件

右键-》添加-》现有项

载入需要的文件

三、C语言工程文件
(由于书中是VC++的开发工具,所以下面的文件中有些涉及的是VC++而不是VS。)
1.DSP文件
工程文件的扩展名是.dsp。
该文件存放的是一个工程,即应用程序的有关信息。
每个工程都对应一个DSP文件。
2.DSW文件
为一个工作空间(WorkSpace)文件。
在工作区文件中可以包含多个工程,由工作区文件进行统一的协调和管理。
3.OPT文件(VC++的文件)
是VC开发环境自动生成的用于存放工作空间中各种选项文件。
它是工程关于开发环境的参数文件。
4.CLW文件(VC++的文件)
用来存放应用程序中用到的类和资源的信息。
这些信息是VC++中的ClassWizard工具管理和使用类的信息来源。
5.“.h”文件和“.c”文件
.h文件称为头文件。
它通常用于定义数据类型、声明变量、函数、结构和类。
.c文件是用于编写的源代码文件,是执行文件。
一般来说,.h文件和.c文件是一一对应配合使用的。
6.RC文件
在应用程序中经常要使用一些位图、菜单之类的资源定义文件。
在VC++中,以.rc为扩展名的文件称为资源文件,其中包含了应用程序用到的所以Windows资源。
要指出的一点是RC文件可以直接在VC++集成开发环境中以可视化的方法进行编辑和改写。
7.RC2文件
也是资源文件。
但这个文件中的资源不能在VC++的集成开发环境下直接进行编辑和修改,而是由用户自己根据需要手工地编辑这个文件。
使用RC资源文件的目的就是对程序中用到的大量资源进行统一管理。
8.NCB文件
NCB文件为无编译游览文件,由VC开发环境自动生成。
NCB是No Compile Browser的编写,其中存放了供ClassView、WizardBar和Component Gallery使用的信息。
9.PLG文件
为编译信息文件,即编译时的Error和Warning信息文件。
(由于我也不是很清楚这些文件,关于VS的编辑器也不是很懂,所以暂时选则走一步看一步吧!)
(而且也能感受到这本书有些老,不过自己也是在以自己的方式寻找摸索啊!)
四、C语言程序构成
1.程序结构
1)一个C语言源程序可以由一个或多个源文件组成。
2)每个源文件可由一个或多个函数组成。
3)一个源程序不论由多少个文件组成,都有一个且只能有一个主函数,即main()函数。
4)源程序中可以有预处理命令。
包括include命令、ifdef、ifndef命令、define命令。
预处理命令通常应放在源文件或源程序的最前面。
5)C语言区分大小写。
每一个说明,每一个语句都必须以分号结尾。
但预处理命令,函数头和花括号“}”之后不能加分号。
6)标识符,关键字之间必须至少加一个空格以示间隔。
若已有明显的间隔符,也可不再加空格来间隔。
7)C语言的多行注释用/**/,单行注释有//。
8)C语言程序从main()函数开始,函数的返回值默认为int型。
2.书写规则
1)一个说明或一条语句占一行。
2)用{}括起来的部分,通常表示了程序的某一层次结构。
3)低一层次的语句或说明可比高一层次的语句或说明缩进若干格后书写,以便看起来更加清晰,增加程序的可读性。
3.C语言的注释
注释是标识或者确定程序的编写目的、说明程序的含义,以及每个处理流程的处理目的。
同时便于程序员维护和交流。
注释即不属于声明,也不属于语句。主要是对声明、语句起解释作用。是给人们看的一些标注式的文字,不参与程序的执行。
好的注释可以使用程序更具可读性,便于程序员之间沟通,因此,在编程过程中应该重视注释的作用。
4.main()函数
函数是构成C语言的最小单位。
main()函数也称主函数,是程序的入口,在一个程序中有且只有一个主函数。
main()函数的一般形式:
类型标识符 main(参数列表)
{
函数体
}
例:
main() { printf("AAAA");}其中,类型标识符可以省略,默认为int型(整型)。
参数列表也可以省略,但小括号不可以省略。
5.预编译命令
C语言中的预处理命令是由ANSI C 统一规定的,但它不是C语言的本身组成部分,不能直接对它们进行编译,因为编译程序无法识别它们。
必须对程序进行通常的编译(包括词法和语法分析,代码生成,优化等)之前,先对程序中这些特殊的命令进行“预处理”,然后再由编译程序对它进行编译处理,得到可供执行的目标代码。
现在的编译系统都包括了预处理、编译和连接部分。
所以,预处理命令不是C语言的一部分,是在程序编译前由预处理程序完成的。
1)功能
一个源文件可以将另一个源文件的全部内容包含进来,即将另外的文件包含到本文件中。
在使用C语言的库函数时,要用预编译命令#include将有关的“头文件”包含到用户源文件中。
头文件包含库中函数说明、定义的常量等。
每个库一般都有相应的头文件。
2)格式
在#include命令中,文件名可以用双引号“”或尖括号<>括起来。
它们的区别是用尖括号<>时,系统到存放在用户当前目录中寻找要包含的文件,若找不到,再按照标准方式查找(按尖括号的方式查找)。
一般来说,如果是为了调用库函数而且用#include命令来包含相关的头文件,则用<>,以节省查找时间。
如果要包含的是用户自己编写的文件(这种文件一般都在当前目录中),一般用双引号“”,若文件不在当前目录中,双引号“”内可以给出文件路径。
3)举例
比如printf()、scanf()等函数属于标准输入/输出库,对应的头文件是stdio.h。
也就是说如果要使用printf()、scanf()等函数,应当在程序的开头输入#include。
又如system(“cls”)函数属于标准库,对应的头文件是stdlib.h,如果要使用system(“cls”)实现清屏作用,那么应当在程序的开头输入#include。
本文介绍了C语言的基本概览,包括其发展史、优点、缺点以及C语言的开发环境设置。通过使用Visual Studio (VS) 2019作为开发工具,演示了如何创建和运行简单的C语言程序。文章还提到了C语言程序的构成,如源文件、头文件、预编译命令等,并强调了注释和main()函数的重要性。
1万+

被折叠的 条评论
为什么被折叠?



