[ 基本难度系数 ]:★★☆☆☆
一、C语言的基本结构
(1)、第一个程序:hello world
配置部署好 vsCode 之后,就可以直接在上面写代码了,新建一个新的C程序文件,向屏幕输出一串字符 “Hello World!”
下面,从整体上来分析一下这个最简单的C语言程序,将这个最简程序的各个部分剖析清楚,明白我们写下的每一个字符的具体含义。
(2)、第一个程序结构解析
1、头文件
#include <stdio.h> // 告诉编译器在.h文件中(声明)有这么一个符号,你需要去其相应的.c文件里去找其源文件(实现(定义))
// 告诉编译器在.h文件中(声明)有这么一个符号,你需要去其相应的.c文件里去找其源文件(实现(定义))
- C语言程序中,任何符号(包括变量和函数)的使用,都是需要提前声明的。
- 如果程序用到了系统库函数,那么就需要包含相应的系统头文件来进行声明。
上述代码中用到库函数printf,而这个函数的声明在头文件 stdio.h 中,因此在该程序中需要包含此头文件。
声明
- 概念:对源文件外定义的某个符号进行描述的过程,称为声明
- 作用:经过声明的符号,编译器才能正确识别和编译,否则编译器不认识,无法判定语法错误
- 符号:变量、函数等
- 示例:
// 声明一个变量符号number
extern int number = 100;
// 声明一个函数符号function
extern void function(int size, char *buf);
// 注意:前面的extern的关键字是可以不加的
2、主函数
- 主函数是必须有的,每一个C语言程序都有main函数,哪怕是空的。
- 主函数的名字是固定的,叫 main ,这个函数名不可被挪作他用。
- 主函数是程序的入口,也就是程序开始运行的地方。
- 主函数分解如下:
// int: 返回值类型,代表主函数最终的执行结果是一个整型数据
// main: main是函数名,这个名字不能变
// void: 是函数参数列表,可以省略,表示空的意思,就是没有参数的意思
int main(void)
{
........
}
在 Linux 环境下,主函数 main 根据程序最终是否需要接收外部命令行参数,实际上有两个版本:
// 不接收外部命令行参数的版本
int main(void)
{
...
}
// 接收外部命令行参数的版本
int main(int argc, char const *argv[])
{
...
}
3、printf函数(标准输出 --- 屏幕设备)
C语言被称为是一种面向过程的模块化语言,所谓的模块,指得是一个个功能明确、各司其职的封装函数,它们就像一块块积木,被合理有机地拼搭起来,形成复杂、健壮的程序。
在这之中,系统标准C库提供了非常多“模块”,printf 就是其中之一,它的功能就是:向终端输出一段指定格式的数据。
面向对象:我吃饭,我唱歌,我洗澡,我走路,我打架
面向过程:吃饭,唱歌,洗澡,走路,打架
// 向终端输出一段字符串
printf("Hello World!\n");
解析:
a、常见的格式控制符:
一、基础格式控制:
%d // 十进制整数,decimalism
%o // 八进制整数,octonary
%x // 十六进制整数,hexadecimal
%c // 字符,character
%s // 字符串,character string
%f // 单精度浮点数,float
%p // 输出地址、输出指针的值,pointer
二、格式控制拓展(后面讲):
.........