网站首页 > 技术文章 正文
C语言是一种高效、灵活的编程语言,广泛应用于系统编程、嵌入式开发等领域。以下是C语言的核心语法点,适合初学者快速掌握。
1.数据类型
C语言提供了多种基本数据类型,用于存储不同类型的数据。
数据类型 | 描述 | 示例 |
int | 整型(通常4字节) | int a = 10; |
float | 单精度浮点型(4字节) | float b = 3.14; |
double | 双精度浮点型(8字节) | double c = 3.14159; |
char | 字符型(1字节) | char d = 'A'; |
void | 无类型 | 用于函数返回值或指针 |
2.变量与常量
(1)变量
变量是存储数据的容器,必须先声明后使用。
语法:
数据类型 变量名;
示例:
int age = 25;
float salary = 5000.50;
(2)常量
常量是不可修改的值,使用 const 关键字定义。
语法:
const 数据类型 常量名 = 值;
示例:
const float PI = 3.14159;
3.运算符
C语言支持多种运算符,包括算术运算符、关系运算符、逻辑运算符等。
运算符类型 | 运算符 | 示例 | ||
算术运算符 | +、-、*、/、% | int result = a + b; | ||
关系运算符 | ==、!=、>、< | if (a > b) { ... } | ||
逻辑运算符 | &&、||、! | if (a && b) { ... } | ||
赋值运算符 | =、+=、-= | a += 5; | ||
位运算符 | &、|、^、~、>>、<< | int c = a & b; |
4.控制语句
(1)条件语句
- if 语句:
if (条件) {
// 条件为真时执行
}
- if-else 语句:
if (条件) {
// 条件为真时执行
} else {
// 条件为假时执行
}
- switch 语句:
switch (表达式) {
case 值1:
// 执行代码
break;
case 值2:
// 执行代码
break;
default:
// 默认执行代码
}
(2)循环语句
- for 循环:
for (初始化; 条件; 更新) {
// 循环体
}
- while 循环:
while (条件) {
// 循环体
}
- do-while 循环:
do {
// 循环体
} while (条件);
5.函数
函数是C语言的基本模块,用于封装可重用的代码。
语法:
返回值类型 函数名(参数列表) {
// 函数体
return 返回值;
}
示例:
int add(int a, int b) {
return a + b;
}
6.数组
数组是存储相同类型数据的集合。
语法:
数据类型 数组名[大小];
示例:
int numbers[5] = {1, 2, 3, 4, 5};
7.指针
指针是存储变量地址的变量。
语法:
数据类型 *指针名;
示例:
int a = 10;
int *p = &a; // p 指向 a 的地址
8.结构体
结构体是用户自定义的数据类型,用于组合不同类型的数据。
语法:
struct 结构体名 {
数据类型 成员1;
数据类型 成员2;
...
};
示例:
struct Student {
int id;
char name[50];
float score;
};
9.文件操作
C语言提供了一组标准库函数用于文件操作。
函数 | 描述 |
fopen | 打开文件 |
fclose | 关闭文件 |
fread | 读取文件 |
fwrite | 写入文件 |
fscanf | 格式化读取 |
fprintf | 格式化写入 |
示例:
FILE *file = fopen("example.txt", "r");
if (file != NULL) {
char buffer[100];
fgets(buffer, sizeof(buffer), file);
printf("%s", buffer);
fclose(file);
}
10.动态内存管理
C语言提供了动态内存分配函数。
函数 | 描述 |
malloc | 分配内存 |
free | 释放内存 |
calloc | 分配并初始化内存 |
realloc | 重新分配内存 |
示例:
int *arr = (int *)malloc(5 * sizeof(int));
if (arr != NULL) {
for (int i = 0; i < 5; i++) {
arr[i] = i + 1;
}
free(arr);
}
11.预处理器指令
预处理器指令在编译前处理。
指令 | 描述 |
#include | 包含头文件 |
#define | 定义宏 |
#ifdef | 条件编译 |
#pragma | 编译器指令 |
示例:
#define PI 3.14159
#include <stdio.h>
总结
C语言的核心语法点包括数据类型、变量与常量、运算符、控制语句、函数、数组、指针、结构体、文件操作、动态内存管理和预处理器指令。掌握这些知识点是学习C语言的基础,也是进一步深入系统编程和嵌入式开发的关键。
猜你喜欢
- 2025-07-21 C程序设计之:1-1/2+1/3-... + 1/n 的和
- 2025-07-21 C语言__FILE__、__LINE__等预定义跟踪调试
- 2025-07-21 浙江男子为装修700万豪宅,买了套20万家具,收到后心都凉了
- 2025-07-21 C语言while循环要点(c语言的while循环)
- 2025-07-21 C语言-4种运算符(c语言运算符?)
- 2025-07-21 大话C语言:比较运算符(c语言比较语句)
- 2025-07-21 C语言进阶教程:数据结构-树(二叉树、平衡树)的概念与基本操作
- 2025-07-21 C语言实现“简单输出整数”,基础编程由此开始(函数篇第一节)
- 2025-07-21 C 语言技能提升:玩转运算符与表达式,提升自己的逻辑运算掌控力
- 2025-07-21 C语言中的位运算符(c语言 位或运算)
- 1515℃桌面软件开发新体验!用 Blazor Hybrid 打造简洁高效的视频处理工具
- 577℃Dify工具使用全场景:dify-sandbox沙盒的原理(源码篇·第2期)
- 514℃MySQL service启动脚本浅析(r12笔记第59天)
- 487℃服务器异常重启,导致mysql启动失败,问题解决过程记录
- 486℃启用MySQL查询缓存(mysql8.0查询缓存)
- 470℃「赵强老师」MySQL的闪回(赵强iso是哪个大学毕业的)
- 450℃mysql服务怎么启动和关闭?(mysql服务怎么启动和关闭)
- 448℃MySQL server PID file could not be found!失败
- 最近发表
-
- 宝塔面板Nginx如何提高网站访问速度?
- 接口调试工具ApiPost中form-data/x-www-form-urlencoded/raw区别
- 高并发场景下,Nginx性能如何提升10倍?
- 高并发场景下,Nginx如何抗住千万级流量?
- 浏览器中在线预览pdf文件,pdf.mjs插件实现web预览pdf
- 为什么你的网站加载慢?90%的人忽略了这2个设置。
- 别再无脑复制Nginx配置了!掌握这10个"性能核弹"级参数
- 你的Nginx配置,可能就是你网站最慢的一环,注意这几个优化参数
- 深入浅出HTTP压缩技术(http2压缩)
- C程序设计之:1-1/2+1/3-... + 1/n 的和
- 标签列表
-
- cmd/c (90)
- c++中::是什么意思 (83)
- 主键只能有一个吗 (66)
- c#console.writeline不显示 (75)
- pythoncase语句 (81)
- es6includes (73)
- windowsscripthost (67)
- apt-getinstall-y (86)
- node_modules怎么生成 (76)
- c++int转char (75)
- static函数和普通函数 (76)
- el-date-picker开始日期早于结束日期 (70)
- js判断是否是json字符串 (67)
- checkout-b (67)
- c语言min函数头文件 (68)
- asynccallback (71)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- & (66)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)