前言:
一、C语言的程序结构示例:
先来看一个简单的示例,本篇的内容也都会以这个案例展开:
# include <stdio.h>
int main()
{
int x,y,z;
printf("Welcome to HaloDB!\n");
return 0;
}在上面的这个示例中,我们来简单的看下这段c程序都有哪些部分组成,首先是main 函数,每个C语言程序都会包含一个main主体函数,作为程序运行得入口程序。就好比我们进入到每个城市当中,城市都会有一个城市的入口。
函数名后的一对圆括号,以及在圆括号后面的一对大括号,和包含在大括号内的一组程序代码构成。这个圆括号中可以放置需要在程序启动时传入 main 函数的参数。可以是一个,或者多个参数。而在这之后的大括号中的部分,就是这个程序的主体部分。里面是可以执行的程序语句或者注释等相关内容。
注意:
按照 C 语言的国际标准,函数需要有返回值,并且通常情况下只能是int类型(数据类请参考上一章),当然也有一些人还在用void的写法,但是这并不是c语言的标准语法,不建议使用。
二、C语言中的include指令:
在C语言中,# include是一个预处理指令,用于在编译前将指定文件的内容插入到当前文件中。它通常用于包含头文件(.h 文件),以便在当前源文件中使用这些头文件中定义的函数、宏、类型和变量。# include <stdio.h> ,这个语句代表了我们要在程序中使用 STDIO 库中提供的函数,我们也会把 stdio.h 这样的文件称之为头文件。通常情况下都是包含函数的声明,方便自己以及他人重复使用已经实现的程序,通过这个预处理指令来指引编译器找到我们所需的引用内容。
两种形式
1、include 后面跟尖括号
#include <stdio.h>用于包含标准库头文件。
编译器会在系统预定义的标准库路径中查找该文件。
2、include 后面跟双引号
#include "myhalo.h"用于包含用户自定义的头文件。
编译器首先在当前文件所在目录中查找该文件,如果未找到,再到标准库路径中查找。
三、C语言中声明变量与定义:
在C语言中,变量声明和变量定义是两个相关但不同的概念。理解它们的区别和用法是编写正确、高效C程序的基础。
1. 变量声明(Declaration)
变量声明告诉编译器变量的类型和名称,但不会分配内存空间。它的作用是让编译器知道变量的存在,以便在后续代码中使用。
语法:
int a; // 声明一个整型变量a
float b; // 声明一个浮点型变量b
char c; // 声明一个字符型变量c声明的特点:
声明不会分配内存。
可以在多个地方声明同一个变量(使用
extern关键字)。通常用于头文件中,以便多个源文件共享变量。
示例:
extern int x; // 声明一个外部变量x,告诉编译器x在其他地方定义2. 变量定义(Definition)
在C语言中,变量定义不但声明了变量的类型和名称,而且在这个过程中会为变量分配内存空间。定义也是可以理解为变量真实创建的位置。
int a = 10; // 定义并初始化一个整型变量a
float b = 3.14; // 定义并初始化一个浮点型变量b
char c = 'A'; // 定义并初始化一个字符型变量c变量的特点:
定义会分配内存。
每个变量只能定义一次。
定义时可以初始化变量。
但是变量与声明并不是同一个概念,很多新手会弄混这两个概念,这里我做了一个表格用来说明变量与定义的关系与区别。

3、printf 函数
printf 是 C 语言中用于格式化输出的标准库函数,定义在 <stdio.h> 头文件中。它可以将数据按指定格式输出。return 函数是在程序执行到此结束程序并返回其所携带的参数数值。 语句一般是功能函数与分支结构的组合。程序会根据条件的变化来执行相应的操作,最终计算出我们需要的结果。
函数原型:
int printf(const char *format, ...);格式说明符:
格式说明符以 % 开头,后跟一个字符,指定数据的输出格式。常见说明符包括:
%d或%i: 输出有符号十进制整数。%u: 输出无符号十进制整数。%f: 输出浮点数。%c: 输出单个字符。%s: 输出字符串。%x或%X: 输出十六进制整数(小写或大写)。%o: 输出八进制整数。%p: 输出指针地址。%%: 输出百分号%。
#include <stdio.h>
int main() {
int a = 10;
float b = 3.14;
char c = 'A';
char str[] = "HaloDB,NB !";
printf("Integer: %d\n", a);
printf("Float: %f\n", b);
printf("Character: %c\n", c);
printf("String: %s\n", str);
printf("Hexadecimal: %x\n", a);
printf("Octal: %o\n", a);
printf("Pointer: %p\n", &a);
return 0;
}输出结果:
Integer: 10
Float: 3.140000
Character: A
String: HaloDB,NB !
Hexadecimal: a
Octal: 12
Pointer: 0x7ffee4b5c9d4函数注意事项:
格式匹配: 格式说明符必须与参数类型匹配,否则可能导致未定义行为。
返回值:
printf返回成功输出的字符数,出错时返回负值。缓冲区: 输出通常先写入缓冲区,缓冲区满或遇到换行符
\n时才会刷新到屏幕。
4、return函数
在 C 语言中,return 是一个关键字,用于从函数中返回值并结束函数的执行。它不仅可以返回值给调用者,还可以控制程序的流程。
return函数的作用:
返回值:将函数的结果返回给调用者。
结束函数:执行
return后,函数会立即终止,后续代码不会执行。
语法:
return [expression];expression:要返回的值(可选)。如果函数返回类型为void,则不需要表达式。如果函数有返回值类型(如
int、float等),expression的类型必须与函数声明的返回类型一致。
一般情况下,return的使用场景包括,返回值,提前结束函数,返回空这几种。
返回值
int add(int a, int b) {
return a + b; // 返回 a + b 的结果
}提前终止:
void checkNumber(int num) {
if (num < 0) {
printf("HaloDB NB.\n");
return; // 提前结束函数
}
printf("HaloDB NB.\n");
}返回空:
void printHello() {
printf("Hello, World!\n");
return; // 可省略,函数会自动返回
}注意:
如果函数声明了返回类型(如
int、float等),return必须返回相应类型的值。如果函数返回类型为
void,return后不能跟任何值。
C 语言中,函数只能返回一个值。如果需要返回多个值,可以使用指针或结构体。
最后:
虽然是慢工,但是不是什么细活,下期见。




