news 2026/6/26 10:40:54

【C语言】1.C语言常见概念

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【C语言】1.C语言常见概念

【C语言】1.C语言常见概念

  • 一、什么是 C 语言
  • 二、 C 语言发展历史
  • 三、 VS2022项目和源文件、头文件介绍
    • 3.1 文件分类
    • 3.2 项目规则
    • 3.3 C 语言程序运行流程
  • 四、 第一个C语言程序
    • 4.1 示例代码
    • 4.2 main 函数:程序唯一入口
    • 4.3 printf 函数与标准库函数
  • 五、C 语言关键字
  • 六、字符和ASCII编码
  • 五、字符串与结束标志 \0
  • 七、转义字符
  • 八、语句与语句分类
  • 九、注释详解

一、什么是 C 语言

人与人交流使用汉语、英语这类自然语言,而人和计算机沟通,需要使用计算机语言。C 语言就是应用极广的计算机编程语言,除此之外还有C++、Java、Python、Go 等语言。

二、 C 语言发展历史

三、 VS2022项目和源文件、头文件介绍

3.1 文件分类

  • .c:源文件,用来存放 C 语言业务代码,是程序的核心文件。
  • .h:头文件,用来存放函数声明、宏定义、类型定义,用于代码复用。

3.2 项目规则

一个项目中可以包含多个.c源文件,但是整个项目只能有 1 个 main 函数,否则程序会因为存在多个入口而编译报错。

3.3 C 语言程序运行流程

C 语言是编译型语言,文本格式的源码不能直接运行,需要两步处理:

编译:每个.c文件单独编译,生成.obj目标文件。
链接:把所有 obj 文件和系统库合并,最终生成.exe可执行程序。

四、 第一个C语言程序

4.1 示例代码

#include<stdio.h>intmain(){printf("hello C\n");return0;}

VS 运行快捷键
Ctrl + F5:不调试直接运行程序

4.2 main 函数:程序唯一入口

  1. main()是 C 程序的唯一入口,程序运行一定从 main 函数开始执行。
  2. 一个项目有且只能有一个 main 函数。
  3. int 表示函数返回值为整数,return 0 代表程序正常结束。
//标准格式:intmain(){// 代码return0;}

4.3 printf 函数与标准库函数

  1. printf 作用:向控制台输出文字、数字、字符,属于系统提供的库函数。
  2. 使用库函数必须引入对应的头文件,printf 依赖stdio.h,所以开头必须写#include <stdio.h>。
#include<stdio.h>intmain(){printf("%d\n",10);// %d 整型printf("%c\n",'a');// %c 单个字符printf("%lf\n",3.14);// %lf 小数printf("%s\n","CSDN");// %s 字符串return0;}

五、C 语言关键字

关键字也叫保留字,是 C 语言预先规定好的特殊单词,拥有固定语法含义。
我们自己定义变量名、函数名时,不能和关键字重名。


C99 新标准额外新增:_Bool、inline、restrict等关键字。

六、字符和ASCII编码

  1. 字符使用单引号包裹,例如 ‘5’、‘A’、‘#’。
  2. 计算机内部只存储数字,每一个字符都对应一个数字编码,也就是 ASCII 码。

常用 ASCII 码:

printf("%c",65);// 输出字符A

五、字符串与结束标志 \0

  1. 字符串使用双引号包裹,例如 “hello world”。
  2. 重点:双引号包裹的字符串末尾会自动隐藏一个字符\0。
  3. \0是空字符,ASCII 值为 0,是字符串结束标记。
  4. printf、字符串处理函数读到\0就会停止输出,如果没有\0,打印时会出现乱码。

七、转义字符

反斜杠\可以改变字符原本的含义,这类字符叫做转义字符,用来实现换行、打印引号等特殊操作。


示例:

printf("c:\\code\\test.c");// 输出路径 c:\code\test.c

八、语句与语句分类

C 语言所有代码都由语句构成,一共分为 5 类:

  1. 空语句:只有一个分号 ;,什么都不执行。
  2. 表达式语句:表达式末尾加分号,如 a = 10;。
  3. 函数调用语句:调用函数并以分号结尾,如 printf(“123”);。
  4. 复合语句(代码块):大括号{}包裹的多行代码。
  5. 控制语句:用来改变代码执行流程
    分支:if、switch
    循环:while、do while、for
    跳转:break、continue、goto、return

九、注释详解

注释是写给人看的文字,编译器会直接忽略注释内容,不会参与程序编译。合理写注释可以提升代码可读性。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/26 10:39:57

嵌入式Linux BSP发行说明深度解析:从硬件支持到多媒体实战

1. 项目概述&#xff1a;一份嵌入式Linux开发者的“藏宝图” 如果你正在基于NXP的i.MX系列处理器开发嵌入式Linux产品&#xff0c;那么一份详尽的BSP&#xff08;板级支持包&#xff09;发行说明&#xff0c;其价值不亚于一张精准的“藏宝图”。它不会手把手教你写代码&#xf…

作者头像 李华
网站建设 2026/6/26 10:39:11

AI赋能Burp Suite:构建智能渗透测试工作流与实战指南

1. 项目概述&#xff1a;当AI遇见渗透测试如果你刚接触网络安全&#xff0c;尤其是Web安全测试&#xff0c;那么“Burp Suite”这个名字对你来说&#xff0c;可能既熟悉又陌生。熟悉是因为它几乎是渗透测试工程师和漏洞赏金猎人手中的“瑞士军刀”&#xff0c;陌生则是因为它功…

作者头像 李华
网站建设 2026/6/26 10:37:34

嵌入式系统引导加载器深度解析:从PlanetCore配置到启动故障诊断

1. 项目概述&#xff1a;深入理解嵌入式系统的“第一行代码”在嵌入式系统的世界里&#xff0c;引导加载器&#xff08;Boot Loader&#xff09;扮演着系统启动时“第一行代码”的角色。它是在主操作系统或应用程序运行之前&#xff0c;由硬件自动加载并执行的一段小程序。它的…

作者头像 李华
网站建设 2026/6/26 10:36:57

eTPU通道13种工作模式深度解析:从硬件原理到嵌入式实时控制实战

1. 深入理解eTPU通道硬件&#xff1a;从基础概念到模式全景 在嵌入式实时控制领域&#xff0c;尤其是汽车发动机管理、工业电机驱动这些对时序精度要求苛刻的场景里&#xff0c;微控制器&#xff08;MCU&#xff09;内部的定时处理单元&#xff08;TPU&#xff09;或增强型定时…

作者头像 李华
网站建设 2026/6/26 10:34:08

网络处理器内核服务:事件定时器、上下文管理与同步机制深度解析

1. 项目概述&#xff1a;网络处理器内核服务的基石作用在嵌入式网络处理器的世界里&#xff0c;性能与确定性是永恒的追求。当数据包以线速涌入&#xff0c;传统的操作系统模型因其庞大的上下文切换开销和不确定的调度延迟&#xff0c;往往显得力不从心。这时&#xff0c;内核服…

作者头像 李华
网站建设 2026/6/26 10:31:19

Copier 总报错?一篇讲透排查、升级、治理和团队落地

如果你已经能跑 copier copy&#xff0c;但一到 check-update、update 就反复踩坑&#xff0c;这通常不是工具本身不稳定&#xff0c;而是缺少一套可复用的工程闭环。本文把最核心的 5 个问题合并成一篇&#xff1a;最小闭环怎么跑、升级为什么失败、报错怎么排查、为什么要打 …

作者头像 李华