C程序设计

一、C语言概述

1.1 基本概念

1.1.1 编程语言

想要学习程序编写,就必须要搞清楚一个概念,什么是编程语言
编程语言(programming language)可以简单的理解为一种计算机和人都能识别的语言。一种计算机语言让程序员能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动。
一些常见的编程语言包括:

  • C/C++:通用的编程语言,广泛用于系统开发和底层编程。
  • Java:面向对象的编程语言,用于开发跨平台的应用程序。
  • Python:通用的解释型脚本语言,易于学习和使用。
  • JavaScript:用于前端和后端web开发的脚本语言。
  • Ruby:简洁易读的脚本语言,适用于快速开发。
  • Swift:用于iOS和macOS应用程序开发的编程语言。
  • Go:由Google开发的高性能编程语言,用于并发和网络编程。
  • Rust:注重内存安全和并发的系统编程语言。
  • C#:微软开发的一种面向对象的编程语言,运行于.NET Framework之上,常用于Windows平台的桌面软件开发。
  • PHP:通常用于Web开发,特别适合于管理大量中小型网站的架构。
1.1.2 源文件和头文件

在C语言中,通常将程序分为源文件头文件

  • **源文件(source file)**包含了实际的可执行代码,它们是编译器直接编译和生成目标文件的文件。源文件的扩展名通常为.c。
  • **头文件(header file)**包含了函数、变量和类型的声明,用于在源文件中引用这些声明的内容。头文件通常包含在源文件中,以便在编译过程中可以验证函数调用、变量声明等的正确性,并且在连接过程中可以正确地解析符号引用。头文件的扩展名通常为.h。
1.1.3 标准库

在编写程序时,每实现一个功能,就需要自己编写一个函数来实现这个功能,但有些功能不需要自己编写,C语言中已经自带了。程序猿只需要调用这个C语言中自带的功能即可,这样就可以省的自己编写了。例如,将程序结果输出到屏幕上,我们就可以调用自带的函数**“printf()”**
C 语言自带的所有这些功能,统称为**“标准库”(standard library),因为它们是写入标准的,到底包括哪些功能,应该怎么使用的,都是规定好的,这样才能保证代码的规范和可移植。不同的功能定义在不同的头文件中,我们在使用该功能时,只要包含该头文件,就可以使用该功能。例如,printf()的头文件就是系统自带的stdio.h**。头文件的后缀通常是.h。
前面提到,需要使用该功能就需要包含对应的头文件,加载头文件使用**“#include”命令。这就是为什么在使用printf()之前必须包含stdio.h**的原因

1.1.4 编译器

对于程序员来说,程序编写完毕之后,还需要通过编译器进行编译,这样才能得到我们需要的可执行程序。C语言有多个编译器可供选择,每个编译器有自己的特点和用途。以下是一些常用的C语言编译器:
1.GCC (GNU Compiler Collection):GCC是一个开源的编译器套件,支持多种编程语言,包括C语言。它是许多操作系统和开发环境的默认编译器,具有广泛的平台支持和强大的优化能力。
2.Visual C++:Visual C++是微软公司提供的一个C语言编译器,包括在Visual Studio集成开发环境中。它提供了丰富的调试工具和Windows平台的特定功能,并与其他Microsoft技术和工具紧密集成。
3.MinGW(Minimalist GNU for Windows):MinGW 是基于 GNU 的工具链,包括 GCC (GNU Compiler Collection)、GNU Binutils 和 GNU Debugger。它提供了一套用于在 Windows 上开发和编译 C 和 C++ 程序的工具集。
以上只是一些常见的C语言编译器,还有其他编译器可供选择。在选择编译器时,需考虑平台兼容性、性能优化、调试工具和开发人员的个人偏好等因素。

1.1.5集成开发环境

编写的C语言代码就是成员和计算机之间相互交流的暗号,其实就是一些有特殊含义的文字,我们可以把这些文件直接写到电脑的文件中,然后通过编译器进行编译就可以生成一个可执行程序,也就是我们平时在Windows中常见的 xxx.exe文件。
但是对于初学者来说根本就不知道编译器如何使用,所以我们可以使用一些没有门槛的编程工具,这类工具用一个统称叫做IDEIDE是集成开发环境(Integrated Development Environment)的缩写。它是一种软件应用程序,旨在为开发者提供一个集成的工作环境,方便他们进行软件开发、编码和调试等任务。
C/C++ 程序猿常用的IDE有以下两种:
1.Visual Studio:由微软公司开发的集成开发环境(IDE),用于软件开发、应用程序的编码、调试和部署等任务。它支持多种编程语言,包括C/C++、C#、VB.NET、F#、Java、JavaScript、Python等。
2.Qt Creator:由Qt开发团队开发的集成开发环境(IDE),专门用于跨平台的应用程序开发。它是 Qt 框架的官方集成开发环境,为开发者提供了丰富的工具和功能,用于快速创建、调试和部署 Qt 应用程序。程序员也可以使用它用于 C/C++ 程序的开发。

二、第一个C程序 Hello World

#include <stdio.h> 
int main(void)					//主函数 main,没有参数,返回值为 int 类型
{ 
	printf("Hello World\n"); 	//打印结果
	return 0 ; 					//返回值 
}

接下来让我们逐行剖析一下上面的这段代码。

2.1 注释

注释是程序中的非执行文本,编译器会忽略它们。
在 C 和 C++ 中的注释有两种类型类型:

  • 单行注释:以双斜杠 // 开头的注释,从**//**开始一直到行尾都会被视为注释。例如:
//这是单行注释

2.多行注释: 以** /* 开始,以 */ **结束的注释块。可以跨越多行。例如:

/* 
	这是一个多行注释
	我不是代码, 我的作用是对代码进行解释
*/

2.2 #include 头文件包含

#include 是 C/C++ 中的预处理指令,用于包含头文件(header file)到当前源代码文件中。头文件通常包含了函数、变量和类的声明,以便在当前文件中可以使用这些声明的内容。
示例程序第1 行,#include <stdio.h> 代表包含stdio.h这个头文件,这个头文件是 C标准库给我们提供的,可以直接使用。
关于头文件的包含有两种方式:
1.#include <>:< > 表示系统直接按系统指定的目录检索。如果包含的头文件是标准库头文件,在包含的时候就将其写入到 <> 中
2.#include “”:”” 表示系统先在 “” 指定的路径(没写路径代表当前路径)查找头文件,如果找不到,再按系统指定的目录检索。如果包含的头文件是自定义头文件,在包含的时候就将其写入到 ""中

2.3 main函数

main() 函数(又称主函数)是在 C 和 C++ 程序中的一个特殊函数,在一个完整的 C/C++ 程序中该函数有且只能有一个。它是程序的起点和入口,也就是说程序是从 main 函数开始执行的
C语言中的函数分为四部分:

  • 函数名:函数的名字,一般都是根据函数功能起名
  • 参数列表:给函数传递的数据,参数全部被放到函数后边的()中
  • 函数体:参数列表()后边的 { } 中的内容就是函数体
  • 返回值:函数名前边的关键字对应的就是函数的返回值类型

三、C语言编译过程

C语言编译成可执行程序需经过4步:
1、**预处理:**宏定义展开、头文件展开、条件编译等,同时将代码中的注释删除。
2、**编译:**检查语法,将预处理后文件编译生成汇编文件
3、**汇编:**将汇编文件生成目标文件(二进制文件)
4、链接: C语言写的程序是需要依赖各种库的,所以编译之后还需要把库链接到最终的可执行程序中去

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值