第一讲:C语言的常见概念(一)

一、C语言的介绍

        人与人之间通过不同语言文字来实现沟通,譬如世界上常见的语言文字:汉语、英语等。自从计算机被发明后,人与计算机通过计算机语言来进行交流。目前已经有上千种计算机语言被发明,人们是通过编写计算机能够识别的程序,从而给计算机下达指令,让计算机按照人的想法来进行工作的。而C语言就是上千种计算机语言中的一种,常用的计算机语言还有C++\Python\Java等。

二、C语言的辉煌历史和广泛应用

        C语言最初是作为Unix系统的开发工具被发明出来的,由美国贝尔实验室的Dennis Ritchie在1972年设计并实现。C语言以其高效、灵活、简洁的语法而著称,它允许程序员对硬件资源有直接的访问能力,因此该语言非常适合系统级的编程和底层开发,例如操作系统、设备驱动程序、嵌入式系统等领域。

        在软件质量排行榜中,我们可以看到每个月各种代码的使用情况,它是实时更新的,点进去后大家会发现C语言稳居前列,截至此文章发布之时,C#以百分之十以上的占有率,在上千种计算机语言中排行前三,这足以说明C#的广泛应用。

编程语言的使用率

三、C语言的特点

3.1 C语言是面向过程的计算机语言

        C语言是一种结构化、面向过程的编程语言。

        首先对面向过程这个观念进行介绍:面向过程(Procedural Programming)是一种常见的编程范式,其核心思想是将解决问题的过程分解为一系列相互独立的、可重用的函数或过程,每个函数负责完成一个特定的任务,并通过函数间的调用来协同工作以达到解决问题的目的。

        在C语言的逐渐学习中,我们可以逐步体会到面向过程的含义。

3.2 C语言的特点

        1、简洁紧凑、灵活方便:C语言仅有32个关键字和9种控制语句,使用起来简洁灵活。这种设计使得C语言在表达各种概念时都能显得非常简洁,易于理解和学习。

        2、运算符丰富:C语言包含34种运算符,包括算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符和条件运算符等。这使得C语言在运算类型上极其丰富,表达式类型多样化,能灵活实现各种复杂的运算操作。

        3、数据结构丰富:C语言具有丰富的数据类型,包括整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。

        4、结构化编程:C语言是一种结构化的编程语言,它支持顺序、分支和循环三种基本结构,使得程序逻辑清晰。另外,C语言是支持模块化编程的,它可以将程序划分为多个独立的模块,使得程序更加简介易懂。

        5、直接访问硬件:C语言能进行位操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作。这使得C语言在嵌入式系统、操作系统、编译器等底层软件的开发中占据重要地位。

        6、可移植性好:C语言是一种跨平台的编程语言,其代码可以在多种操作系统和硬件平台上运行,只需对编译器进行适当的修改即可。这使得C语言在软件开发领域具有广泛的应用前景。

四、C语言的编译器选择

4.1 编译和链接

        C语言是一门编译性语言,C语言的代码都是文本文件,各位若想进行尝试,可以发现C语言源代码都是文本文件,可以用电脑自带的文本文档打开。而文本文档本身是无法执行的,也就是说C语言如果不通过编译器进行编译,它就只是单纯的文本文档。因此,C语言源代码必须通过编译器翻译和链接器的链接,生成二进制的可执行文件,可执行文件最终才能够执行。

        C语言代码是放在.c为后缀的文件的,要想得到最终运行的可执行的程序,中间要经过编译链接两个过程。

.c文件的展示

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

编译和链接过程

注:

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

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

        上述内容就是在windows电脑上C语言程序生成的exe可执行文件。

可执行程序

 4.2 编译器的对比

        在4.1中,我们曾介绍过C语言是一种编译型的计算机语言,需要依赖编译器将计算机语言转换成机器能够执行的机器指令。

        常见的C语言编译器有:msvc、clang、gcc等。当然也有集成式的开发环境,譬如VS2022、XCode、CodeBlocks、DevC++、Clion等。

*集成开发环境(IDE):是一种软件应用程序,它将代码编辑器、编译器/解释器、调试器和构建工具等多种软件开发工具整合在一起,为开发者提供一个统一且便捷的编程环境。在IDE中,开发者可以进行编写代码、测试运行、调试错误以及项目管理等一系列开发活动。

VS2022、XCode、Clion

*VS2022:微软公司开发的用于.NET框架应用开发的IDE,支持C#、VB.NET、C++等多种编程语言。

*XCode:苹果公司的开发工具,主要用于iOS和Mac OS应用开发,支持Objective-C、Swift等语言。

*Clion:是由JetBrains公司开发的一款专为C和C++开发者设计的强大跨平台集成开发环境。

整体考虑,建议大家使用Visual Studio(VS)的社区版本进行学习,免费、使用方便,且在工作中比较常见。CSDN、B站上有许多安装教程,任选其一进行安装即可。

4.3 VS2022的优缺点

优点:Visual Studio提供了一个全面集成的开发环境,包括代码编辑、调试、构建、版本控制、项目管理等功能在一个统一界面下,极大地提升了开发效率。在企业中使用较为普遍,安装后即可使用,无须额外配置,且默认界面是英文的,对于初学者比较友好。

缺点:VS由于功能强大且十分丰富,因此可能占用较大的内存和硬盘空间,特别是在大型项目或复杂场景下,启动和运行时对电脑的硬件要求较高。

4.4 VS项目的创建,源文件和头文件的介绍

        在VS上编写一个新代码的时候,我们是需要创建项目的,直接新建项目即可。

        在项目中,我们就可以创建源文件和头文件。

        在C语言中,把.c为后缀的文件称为源文件,把.h为后缀的文件称为头文件。

VS中创建的头文件和源文件
文件夹中的头文件和源文件代码

五、敲下你的第一个C语言代码

5.1 新建项目

        首先,打开VS,创建一个新项目。

        接下来,配置新项目:

        点击创建后,就可以进入VS编程的完整页面了。 

        若在点击创建后,未出现解决方案资源管理器页面,可以通过选择上端导航栏中第三个选项-视图-解决方案资源管理器来使其显现。

5.2 创建源文件和头文件 

5.3 在VS中创建你的第一个小代码

        在敲写你的第一个C语言代码时,你不必懂得此代码的含义,只需要自行敲写下来,并使其运行起来即可。

         下图为运行结果:

        上图为在VS2022中演示的创建项目和编写C语言代码的过程,并运行得到结果。

        注意,要运行代码的话,点击电脑上的Ctrl+F5,即可运行程序。如果你的电脑没有反应,没有效果,可以通过按Fn+Ctrl+F5来尝试运行。

*注意在编写代码过程中有中英文字符的区别,例如中英文的引号、括号、分号都是不同的,如果哦运行不成功,可以考虑下是否是中英文字符出现了问题。

  • 29
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
“新概念C语言”突破了以往任何一种语言教材的旧的模式,将教学内容分为入门篇和提高篇两个篇章。在入门篇中只引进程序设计必要的语法现象,达到快速入门。激发兴趣的目的。在入门篇和提高篇之间插一个强化上机实验周,巩固学习内容。在提高篇中完成完整的语法、算法、程序设计思想等教学目的的学习任务。由于学生对语言已具有了初步的了解并掌握了最基本的语法和程序设计思想,能设计较简单的程序,所以在提高篇的学习中,不论对灵活语法的学习和掌握,还是对程序设计思想的掌握都更加容易,从而可以较容易达到教学目标。 第一部分 入门篇 1 第1章 C语言的产生及其工作流程 3 1.1 C语言的产生 3 1.2 程序和程序设计 3 1.2.1 C程序 3 1.2.2 程序设计 4 习题 4 第2章 C程序设计的初步知识 5 2.1 简单C程序的构成和格式 5 2.2 常量、变量和标识符 6 2.2.1 标识符 6 2.2.2 常量 7 2.2.3 用定义一个符号名的方法来代表一个常量 7 2.2.4 变量 8 2.3 整型数据 8 2.3.1 整型常量 8 2.3.2 整型变量 8 2.4 实型数据 9 2.4.1 实型常量 9 2.4.2 实型变量 9 2.5 字符型数据 10 2.5.1 字符常量 10 2.5.2 字符串常量 11 2.5.3 字符变量 11 2.6 算术表达式 11 2.6.1 基本的算术运算符 11 2.6.2 运算符的优先级、结合性和算术表达式 12 2.6.3 强制类型转换表达式 13 2.7 赋值表达式 13 2.7.1 赋值运算符和赋值表达式 13 2.7.2 赋值运算中的类型转换 14 习题 15 第3章 顺序结构程序 16 3.1 复合语句和空语句 16 3.1.1 复合语句 16 3.1.2 空语句 16 3.2 程序举例 16 习题 17 第4章 选择结构 19 4.1 关系运算和逻辑运算 19 4.1.1 C语言中的逻辑值 19 4.1.2 关系运算符和关系表达式 19 4.1.3 逻辑运算符和逻辑表达式 20 4.2 if语句和用if语句构成的选择结构 21 习题 22 第5章 循环结构 25 5.1 for语句和用for语句构成的循环结构 25 5.1.1 for语句构成的循环结构 25 5.1.2 for循环的执行过程 25 5.1.3 有关for语句的说明 25 5.2 循环结构的嵌套 27 习题 28 第6章 函数 30 6.1 函数的定义和返回值 30 6.1.1 函数定义的语法 30 6.1.2 函数的返回值 30 6.2 函数的调用 32 6.2.1 函数的调用方式 32 6.2.2 函数调用时的语法要求 32 6.3 函数的说明 33 6.3.1 函数说明的形式 33 6.3.2 函数说明的位置 34 6.4 调用函数和被调用函数之间的数据传递 34 6.5 库函数 36 6.6 数据输入输出及常用库函数 37 6.6.1 printf函数(格式输出函数) 37 6.6.2 scanf函数(格式输入函数) 39 6.6.3 调用putchar和getchar函数输出和输入字符 40 6.7 程序举例 41 习题 43 第7章 数组 45 7.1 一维数组的定义和一维数组元素的引用 45 7.1.1 一维数组的定义 45 7.1.2 一维数组元素的引用 46 7.1.3 一维数组的初始化 46 7.1.4 一维数组的定义和数组元素引用举例 47 7.2 函数之间对一维数组和数组元素的引用 47 7.2.1 数组元素做实参 47 7.2.2 数组名做实参 49 7.3 一维数组应用举例 50 7.4 字符数组 53 7.4.1 字符数组的定义 53 7.4.2 字符数组的初始化 54 7.4.3 字符数组的引用 54 7.4.4 字符串与字符串结束标志 55 7.4.5 字符数组的输入输出 56 7.4.6 字符串处理函数 58 7.4.7 字符数组应用举例 60 习题 61 第8章 文件 63 8.1 C语言文件的概念 63 8.2 打开文件 64 8.3 关闭文件 65 8.4 调用getc(fgetc)和putc(fputc)等常用函数进行输入和输出 65 8.5 判断文件结束函数feof 68 习题 69 第二部分 提高篇 71 第9章 算法 73 9.1 算法 73 9.2 结构化程序设计和模块化结构 74 9.2.1 结

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值