C语言:基础知识

2024-06-04 4609阅读

C语言:基础知识 第1张

创作不易,友友们给个三连吧

一、C语⾔的基本概念与发展历史

1.1 人和计算机进行交流的语言

        通常,我们使用英语、中文等语言来进行两个人之间的交流。这意味着当我们想要和他人进行交流时,我们需要一种语言来表达自己的感受。同样的,当我们想要和计算机进行交流时,我们也需要一种语言,可以通过该语言向计算机提供信息,传达指令,我们称该语言为计算机语言。 

       然而C语言只不过是众多语言中的一种,像C++/Java/Go/Python都是计算机语⾔。

1.2 C语言的辉煌和历史

C 语⾔最初是作为 Unix 系统的开发⼯具⽽发明的。

类似的操作系统还有:windows、linux、macos(苹果)……

C语言:基础知识 第2张

 1.3“C生万物,编程之本”

C语言:基础知识 第3张

C语言:基础知识 第4张

C语言:基础知识 第5张

C语言的四大领域:

游戏:目前很多游戏客户端都是基于C++开发的,除了一些网页游戏可能不是,所以如果想从事游戏开发行业学好C++是没错的。

服务器端开发:很多互联网公司的后台服务器程序都是基于C++开发的,而且大部分是linux,unix等类似操作系统。如果你想从事这样的工作,需要熟悉linux操作系统及其在上面的开发,熟悉数据库开发,精通网络编程。

数字图像处理:现在市面上有很多VC++图像处理的书籍,可见在这个领域的应用软件开发也是占了很大比重,需要深入学习数字图像处理和模式识别等课程。

虚拟现实仿真:这个也是发展很快的计算机领域,目前各种数字地球,数字城市,虚拟地理环境什么的,出现了这方面的大量应用

        C语言出现时间较早,其他语言基本都是在C语言之后出现,或者在C语言的基础上进行创造,比如Java,C++是两门很有代表性的语言。

        并且 学习了之后,语言的通用性还是存在的,所以在学习其他的语言的时候,学习起来就相对会简单一点。

        TIOBE网站上可以查到每年编程语言的使用排名,其中c语言常见保持前3,

网址:https://www.tiobe.com/tiobe-index/

二、编译器的选择和使用方法

2.1 编译和链接

        C语⾔是⼀⻔编译型计算机语⾔,C语言源代码都是文本文件,文本文件本身无法执行,必须通过编译器翻译和链接器的链接,生成二进制的可执行文件,可执行文件才能执行。(计算机识别的是二进制指令) C语⾔代码是放在 .c 为后缀的⽂件中的,要得到最终运⾏的可执⾏程序,中间要经过编译和链接2个过程。

       ⼀个工程⼀般都会有多个源文件组成,如下图所示,演示了源程序经过编译器和链接器处理的过程。

.c→.obj→.exe

C语言:基础知识 第6张​⼀个工程⼀般都会有多个源文件组成,如下图所示,演示了源程序经过编译器和链接器处理的过程。

1. 每个源文件(.c)单独经过编译器处理⽣成对应的目标⽂件(.obj为后缀的⽂件)

2. 多个⽬标⽂件和库文件经过链接器处理⽣成对应的可执行程序(.exe⽂件)

 2.2 编译器对比和选择

         C语⾔是⼀⻔编译型的计算机语⾔,需要依赖编译器将计算机语⾔转换成机器能够执⾏的机器指令。

         那我们常⻅的C语⾔编译器都有哪些呢? ⽐如:msvc、clang、gcc 就是⼀些常⻅的编译器,当然也有⼀些集成开发环境如:VS2022、 XCode、CodeBlocks、DevC++、Clion等。

集成开发环境(IDE):⽤于提供程序开发环境的应⽤程序,⼀般包括代码编辑器、 编译器 、 调试器 和 图形⽤⼾界⾯ 等⼯具。 集成了代码编写功能、分析功能、编译功能、调试功能等⼀体化的开发软件服务套。

C语言:基础知识 第7张

• VS2022 集成了MSVC(安装报包较⼤⼀些,安装简单,⽆需多余配置,使⽤起来⾮常⽅便)

• XCode 集成了clang(苹果电脑上的开发⼯具)

• CodeBlocks 集成了gcc(这个⼯具⽐较⼩众,需要配置环境,不太推荐)

• DevC++ 集成了gcc(⼩巧,但是⼯具过于简单,对于代码⻛格的养成不好,⼀些竞赛使⽤)

• Clion 是默认使⽤CMake,编译器是可以配置的(⼯具是收费,所以暂时推荐⼤家使⽤)

• VSCode 具有强大的插件系统,可安装各种插件,来搭建c/c++的开发环境(不推荐新手使用)

新手推荐使用VS2022社区版本,免费并且使用方便。

 2.3 VS的优缺点和下载方法

优点:

• VS2022 是⼀个主流的集成开发环境,企业中使⽤较为普遍

• VS2022 包含了:编辑器+编译器+调试器,功能强⼤

• 直接安装即可使⽤,基本不⽤额外配置环境,上⼿容易

• 默认界⾯是中⽂的,初学者友好

缺点:

• 功能丰富,安装包⼤,占⽤空间多。

下载方法:https://visualstudio.microsoft.com/zh-hans/downloads/

安装教程:https://www.bilibili.com/video/BV11R4y1s7jz/

2.4 VS项目和源文件、头文件介绍

在项⽬中就可以添加源⽂件和头⽂件。

C语⾔把 .c 为后缀的⽂件称为源⽂件,把 .h 为后缀的⽂件称为头⽂件。

2.5 在VS上创建新项目

2.5.1 写代码的前的步骤

1、创建项目(代码是在项目中管理的)

2、创建.c文件

3、写C语言代码,邀严格按照C语言的语法来写!!

C语言:基础知识 第8张

C语言:基础知识 第9张

C语言:基础知识 第10张

2.5.2 项目名称

1、项目名称最好有自己的实际意义

2、项目名称最好不要使用后中文

3、不要使用特殊字符

2.5.3 项目存储路径 

1、代码的位置邀自己找一个熟悉的路径维护起来

2、这个代码的路径不要包括空格、特殊字符、中文字符

三、main函数

每个 C 语⾔程序不管有多少⾏代码,都是从 main 函数开始执⾏的, main 函数是程序的⼊⼝, main 函数也被叫做:主函数。 main 前⾯的 int 表⽰ main 函数执⾏结束的时候返回⼀个整型类 型的值。所以在 main 函数的最后写 return 0; 正好前后呼应。

• main函数是程序的入口

• main函数有且仅有⼀个

• 即使⼀个项⽬中有多个.c⽂件,但是只能有⼀个main函数(因为程序的入口只能有⼀个)

• main函数可以出现在任意位置,若在主函数中调用的哪些函数,则必须在main函数之前对所调用的函数进行声明,或者包含其被调用函数的头文件

• 一般约定返回0,在c语言中正常在返回0,异常会返回非0

int main()
{
printf("hello C\n");
return 0;
}

在VS2022上运⾏代码的快捷键: Ctrl+f5 

四、关键字介绍

      C语⾔中有⼀批保留的名字的符号,⽐如: int 、 if 、 return ,这些符号被称为保留字或者关键 字。

      • 关键字都有特殊的意义,是保留给C语言使用的

      • 程序员自己在创建标识符的时候是不能和关键字重复的

      • 关键字也是不能自己创建的。 C语言的32个关键字如下:

C语言:基础知识 第11张

注:在C99标准中加⼊了 inline 、 restrict 、 _Bool 、 _Comploex 、 _Imaginary 等关键字。 ⼀些关键字⼤家可以去了解⼀下,不过使⽤最多的还是上⾯的32个关键字。

注:https://zh.cppreference.com/w/c/keyword(C语⾔关键字的全部介绍)

注: difine不是关键字,他是编译器实现的用来定义宏的预处理指令,不是c语言中的内容。

五、字符和ASCII编码

         在键盘上可以敲出各种字符,如:a,q,@,#等,这些符号都被称为字符,C语⾔中字符是⽤单引号 括起来的,如:'a','b','@'。单个字符的打印可以使用%c来指定格式。

        我们知道在计算机中所有的数据都是以二进制的形式存储的,那这些字符在内存中分别以什么样的⼆进制存储的呢?如果我们每个⼈⾃⼰给这些字符中的每个字符编⼀个⼆进制序列,这就叫做编码,为了⽅便⼤家相互通信,不造成混乱,后来美国国家标准学会(ANSI)出台了⼀个标准 ASCII 编码,C语言中的字符就遵循了ASCII 编码的⽅式。

C语言:基础知识 第12张

参考:https://zh.cppreference.com/w/cpp/language/ascii

      我们不需要记住所有的ASCII码表中的数字,使⽤时查看就可以,不过我们最好能掌握⼏组特殊的数据:

 • 字符A~Z的ASCII码值从65~90

• 字符a~z的ASCII码值从97~122

• 对应的大小写字符(a和A)的ASCII码值的差值是32

• 数字字符0~9的ASCII码值从48~57 • 换⾏ \n 的ASCII值是:10

• 在这些字符中ASCII码值从0~31 这32个字符是不可打印字符,无法打印在屏幕上观察

• 字符其实也属于整型家族

比如:可打印字符展示(32-127)

#include 
int main()
{
 int i = 0;
 for (i = 32; i 

    免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

    目录[+]