C语言基础知识概念总结
2024/10/25 7:27:49
来源:https://blog.csdn.net/MyLovelyJay/article/details/140586267
浏览:
次
关键词:C语言基础知识概念总结
一、基本语法
- 数据类型:
- 基本数据类型:
int
(整数)、float
(单精度浮点数)、double
(双精度浮点数)、char
(字符)等。 - 派生数据类型:数组、指针、结构体、共用体等。
- 变量与常量:
- 变量:在程序运行期间其值可以改变的量。声明变量需要指定数据类型和变量名,如
int num;
。 - 常量:在程序运行期间其值不能改变的量,包括数值常量(如
5
、3.14
)、字符常量(如 'a'
、'\n'
)和符号常量(使用 #define
预处理器指令定义,如 #define PI 3.14
)。
- 运算符和表达式:
- 算术运算符:
+
、-
、*
、/
、%
。 - 关系运算符:
==
、!=
、<
、>
、<=
、>=
。 - 逻辑运算符:
!
、&&
、||
。 - 赋值运算符:
=
及其扩展形式(如 +=
、-=
、*=
等)。 - 表达式:由操作数和运算符组成,如
a + b
、x > y
等。
二、控制结构
- 顺序结构:按照语句的书写顺序依次执行。
- 选择结构:
if - else
语句:根据条件执行不同的代码块。switch - case
语句:根据表达式的值选择执行不同的分支。
- 循环结构:
for
循环:用于已知循环次数的情况。while
循环:先判断条件再执行循环体,只要条件为真,就会执行循环体。do - while
循环:先执行一次循环体,然后再判断条件,只要条件为真,就会继续执行循环体。
三、数组
- 一维数组:是相同类型数据的有序集合,通过索引访问数组元素,如
int arr[5] = {1, 2, 3, 4, 5};
- 多维数组:例如二维数组可以看作是由多个一维数组组成,如
int matrix[3][4];
四、指针
- 指针是一个变量,它存储的是另一个变量的地址。可以通过指针间接访问其所指向的变量的值,如
int *ptr; ptr = #
(其中 num
是一个整数变量)。 - 指针与数组:数组名可以看作是一个指向数组首元素的指针。
- 指针运算:包括指针的加减、比较等操作,但需要注意运算的合法性和意义。
五、函数
- 函数是一段可以独立完成特定任务的代码块,通过函数名进行调用。函数可以有参数和返回值。
- 函数声明与定义:先声明函数(告诉编译器函数的名称、参数类型和返回值类型),然后在别处进行定义(实现函数的功能)。
- 函数参数:包括形式参数(在函数定义中声明的参数)和实际参数(在函数调用时传递给函数的参数),参数传递方式有值传递和指针传递(地址传递)。
- 函数的递归:函数在其函数体内部直接或间接地调用自身。
六、结构体与共用体
- 结构体:是将不同类型的数据组合在一起形成的一种复合数据类型,可以用来表示具有多个属性的对象。
- 共用体:允许在同一内存区域存储不同类型的数据,但同一时间只能存储其中一种类型的数据。
七、文件操作
- 文件指针:通过
FILE *
类型的指针来操作文件。 - 文件打开与关闭:使用
fopen()
函数打开文件,使用 fclose()
函数关闭文件。 - 文件读写:可以使用
fscanf()
、fprintf()
进行格式化读写,使用 fgetc()
、fputc()
进行字符读写,使用 fgets()
、fputs()
进行字符串读写,使用 fread()
、fwrite()
进行块读写。
八、预处理器
#include
指令:用于将指定的头文件包含到当前源文件中。#define
指令:用于定义宏,包括对象式宏(简单的文本替换)和函数式宏(具有参数的宏)。- 条件编译指令:如
#if
、#ifdef
、#ifndef
、#endif
等,用于根据条件决定是否编译某段代码。