百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT技术 > 正文

C语言之核心语法

wptr33 2025-02-26 14:06 18 浏览

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 

总结

C语言的核心语法点包括数据类型、变量与常量、运算符、控制语句、函数、数组、指针、结构体、文件操作、动态内存管理和预处理器指令。掌握这些知识点是学习C语言的基础,也是进一步深入系统编程和嵌入式开发的关键。

相关推荐

MySQL进阶五之自动读写分离mysql-proxy

自动读写分离目前,大量现网用户的业务场景中存在读多写少、业务负载无法预测等情况,在有大量读请求的应用场景下,单个实例可能无法承受读取压力,甚至会对业务产生影响。为了实现读取能力的弹性扩展,分担数据库压...

Postgres vs MySQL_vs2022连接mysql数据库

...

3分钟短文 | Laravel SQL筛选两个日期之间的记录,怎么写?

引言今天说一个细分的需求,在模型中,或者使用laravel提供的EloquentORM功能,构造查询语句时,返回位于两个指定的日期之间的条目。应该怎么写?本文通过几个例子,为大家梳理一下。学习时...

一文由浅入深带你完全掌握MySQL的锁机制原理与应用

本文将跟大家聊聊InnoDB的锁。本文比较长,包括一条SQL是如何加锁的,一些加锁规则、如何分析和解决死锁问题等内容,建议耐心读完,肯定对大家有帮助的。为什么需要加锁呢?...

验证Mysql中联合索引的最左匹配原则

后端面试中一定是必问mysql的,在以往的面试中好几个面试官都反馈我Mysql基础不行,今天来着重复习一下自己的弱点知识。在Mysql调优中索引优化又是非常重要的方法,不管公司的大小只要后端项目中用到...

MySQL索引解析(联合索引/最左前缀/覆盖索引/索引下推)

目录1.索引基础...

你会看 MySQL 的执行计划(EXPLAIN)吗?

SQL执行太慢怎么办?我们通常会使用EXPLAIN命令来查看SQL的执行计划,然后根据执行计划找出问题所在并进行优化。用法简介...

MySQL 从入门到精通(四)之索引结构

索引概述索引(index),是帮助MySQL高效获取数据的数据结构(有序),在数据之外,数据库系统还维护者满足特定查询算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构...

mysql总结——面试中最常问到的知识点

mysql作为开源数据库中的榜一大哥,一直是面试官们考察的重中之重。今天,我们来总结一下mysql的知识点,供大家复习参照,看完这些知识点,再加上一些边角细节,基本上能够应付大多mysql相关面试了(...

mysql总结——面试中最常问到的知识点(2)

首先我们回顾一下上篇内容,主要复习了索引,事务,锁,以及SQL优化的工具。本篇文章接着写后面的内容。性能优化索引优化,SQL中索引的相关优化主要有以下几个方面:最好是全匹配。如果是联合索引的话,遵循最...

MySQL基础全知全解!超详细无废话!轻松上手~

本期内容提醒:全篇2300+字,篇幅较长,可搭配饭菜一同“食”用,全篇无废话(除了这句),干货满满,可收藏供后期反复观看。注:MySQL中语法不区分大小写,本篇中...

深入剖析 MySQL 中的锁机制原理_mysql 锁详解

在互联网软件开发领域,MySQL作为一款广泛应用的关系型数据库管理系统,其锁机制在保障数据一致性和实现并发控制方面扮演着举足轻重的角色。对于互联网软件开发人员而言,深入理解MySQL的锁机制原理...

Java 与 MySQL 性能优化:MySQL分区表设计与性能优化全解析

引言在数据库管理领域,随着数据量的不断增长,如何高效地管理和操作数据成为了一个关键问题。MySQL分区表作为一种有效的数据管理技术,能够将大型表划分为多个更小、更易管理的分区,从而提升数据库的性能和可...

MySQL基础篇:DQL数据查询操作_mysql 查

一、基础查询DQL基础查询语法SELECT字段列表FROM表名列表WHERE条件列表GROUPBY分组字段列表HAVING分组后条件列表ORDERBY排序字段列表LIMIT...

MySql:索引的基本使用_mysql索引的使用和原理

一、索引基础概念1.什么是索引?索引是数据库表的特殊数据结构(通常是B+树),用于...