1、C 实例 -- Hello World

#include <stdio.h>                 //头文件
                                   //空白行
/* 我们的第一个 C 程序 */            //注释
int main()                         //函数
{                                  //函数体开始
   printf("Hello, World! \n");     //输出语句
   return 0;                       //结束并返回语句
}                                  //函数体结束

2、C 实例 -- Hello World 第一行

#include <stdio.h>                 //头文件

2.1、什么是源文件?

源文件是用于存储计算机程序代码的文本文件。

  • C 语言的源文件一般以 .c 为扩展名(如:上一个笔记里面的 hello.c 就是源文件)。
  • 源文件(.c)需要经过编译器编译,生成可执行文件(.exe)如:上一个笔记里面的 hello.exe 就是生成的可执行文件)。这一步会将源代码转换为计算机可以理解的机器语言

2.2、什么是头文件?

头文件包含 C 函数函数声明、宏定义和类型定义的文件,这些头文件提供了源文件中需要使用的接口,被多个源文件中引用共享。

  • 头文件是扩展名为 .h 的文件,h 就是 head (头)的简称。
  • 有两种类型的头文件:程序员编写的头文件和编译器自带的头文件。

2.3、引用头文件的格式 和 原理深入

使用 C 预处理指令 #include 来引用头文件

2.3.1、格式

  • \#include 是 C 语言预处理器指示符。
  • \#和 include 之间可以有多个空格。
  • \#也不一定要顶格,但是一定是第一个非空白字符,否则编译器会提示错误。

2.3.2、原理深入

2.3.2.1、#include 的作用

告诉编译器在编译前,要做些预先处理。将后面 <> 中的文件内容包含到当前文件内。所谓包含,是指将 <> 中列出的文件的内容复制到当前文件里

引用头文件相当于复制头文件的内容到源文件中。
2.3.2.2、同理可以理解

(1)printf 函数的声明位于 stdio.h 文件中;

(2)用 #include 把 stdio.h 头文件包含进来,自然就把 printf 函数的声明包含进来了。

2.3.2.3、引用头文件的原理演示

(1) 例如,如果您有一个头文件 header.h,如下:

  • header.h
char *test (void);

(2) 和一个使用了头文件的主程序 program.c,如下:

  • program.c
int x;
#include "header.h"

void main (void)
{
   printf("Hello, World! \n");
}

(3) 编译器会看到如下的代码信息,引用头文件相当于复制头文件的内容到源文件中

int x;
char *test (void);

void main (void)
{
   printf("Hello, World! \n");
}

2.4、引用头文件的两种形式

系统头文件用户头文件

2.4.1、系统库头文件

#include <file>

查找策略:

直接去标准路径下去查找头⽂件,如果找不到就提⽰编译错误。

标准路径:

如我本地的路径: C:\Users\hwc\AppData\Local\Programs\mingw64\x86_64-w64-mingw32\include

查看方式:

2.4.2、用户头文件

#include "file"

查找策略:

先在源⽂件所在⽬录下查找,如果该头⽂件未找到,编译器就像查找库函数头⽂件⼀样在标准路径查找头⽂件。如果找不到再提⽰编译错误。

对于库头⽂件也可以使⽤ “” 的形式?

可以的,但是这样做查找的效率就低些,而且这样也不容易区分是库⽂件还是本地⽂件了。

2.5、做一个试验

将中的第一行代码删除掉。就是去掉了“#include <stdio.h>”,再编译看出现什么现象?

编译器提示缺少 printf 的函数原型,说明 printf 没有被声明,程序找不到这个函数,报错!

注意: printf 函数的定义在头文件 stdio.h,所以想使用 printf 函数需要包含头文件 stdio.h!

2.6、标准库头文件

C 语言自带的函数称为库函数(Library Function)。库(Library)是编程中的一个基本概念,可以简单地认为它是一些列函数的集合,在磁盘上往往是一个文件夹。C 语言自带的库称为标准库(Standard Library),其他公司或个人开发的库称为第三方库(Third-Party Library)。

C 标准库头文件(Standard Library Header Files)提供了大量的函数、宏和类型定义,用于处理输入输出、字符串操作、数学计算、内存管理等常见的编程任务。

以下是一些常见的 C 标准库头文件及其功能简介:

头文件功能简介
<stdio.h>标准输入输出库,包含 printf、scanf 等函数
<stdlib.h>标准库函数,包含内存分配、程序控制等函数
<string.h>字符串操作函数,如 strlen、strcpy 等
<math.h>数学函数库,如 sin、cos、sqrt 等
<time.h>时间和日期函数,如 time、strftime 等
<ctype.h>字符处理函数,如 isalpha、isdigit 等
<limits.h>定义各种类型的限制值,如 INT_MAX 等
<float.h>定义浮点类型的限制值,如 FLT_MAX 等
<assert.h>断言宏 assert,用于调试检查
<errno.h>定义错误码变量 errno 及相关宏
<stddef.h>定义通用类型和宏,如 size_t、NULL 等
<signal.h>处理信号的函数和宏,如 signal 等
<setjmp.h>提供非本地跳转功能的宏和函数
<locale.h>地域化相关的函数和宏,如 setlocale 等

每日一更!

公众号:小菜狗编程笔记

飞书:小菜狗编程笔记

谢谢点赞关注哈!

本文由mdnice多平台发布


小菜狗编程笔记
1 声望0 粉丝

狗哥有鹅厂、锐捷等10多年的开发工作经验。我将分享一些1、Linux上uboot、驱动、内核、系统、应用方面的知识以及笔记. 2、C语言、Python、C++、Linux、前端学习笔记. 3、wx小程序开发笔记. 4、机器学习学习笔记.