当前位置: 首页 > news >正文

【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

九、注释详解

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

http://www.jsqmd.com/news/1080845/

相关文章:

  • MCP16251/2同步升压芯片:高效低功耗DC-DC转换器设计指南
  • Python的__get__描述符的instance参数为None时的行为
  • 嵌入式USB中断与错误处理实战:以S08USBV1为例的寄存器级解析
  • 市面上知名的VI设计公司有哪些
  • 浏览器指纹追踪防御实战:Heimdallr方案配置与WebRTC泄露防护
  • Burp Suite Professional 从零到精通的Web安全测试实战指南
  • VMware Tanzu Kubernetes Grid(TKG)落地困局破解:5类典型网络插件冲突场景及官方未公开的绕过方案
  • 嵌入式GUI开发实战:从零掌握emWin对话框编程与优化技巧
  • MC9S08SF4 ADC模块配置与低功耗应用实战指南
  • VCP认证备考周期从120天压缩至28天,资深认证讲师亲测有效:3阶段冲刺法+真题拆解日历
  • VMware蓝屏故障排查实战(2024最新避坑清单):从ESXi底层驱动到Guest OS兼容性深度拆解
  • 深入解析MCU低功耗唤醒机制:以NXP LLWU模块为例的实战指南
  • Unreal Engine实时音频处理架构深度解析:RuntimeAudioImporter高性能异步音频导入引擎
  • 600V半桥栅极驱动器MCP14H2103/04:原理、设计与应用全解析
  • 高斯混合模型与EM算法:从原理到图像分割的实战应用
  • 漏洞挖掘实战指南:从攻击者视角到系统化安全测试
  • MuleSoft与大语言模型深度集成:企业级AI编排实战指南
  • 从零到一:编程语言如何成为安全漏洞挖掘的基石与实战路径
  • macOS菜单栏的终极解放:用Ice重新定义你的工作空间效率
  • 如何快速搭建个人专属Web邮箱系统:Roundcube Mail完整实战指南
  • 高性能B站视频解析引擎:分布式架构下的异步处理方案
  • MC9S12HY/HA ADC与CAN模块实战:从寄存器配置到系统调试
  • 从脚本小子到专业渗透测试师:体系化学习路线与Kali实战指南
  • Gemma-3n:2GB内存CPU原生大模型实战指南
  • 仅限内部团队使用的VMware蓝屏自动化诊断脚本(PowerShell+LogParser双引擎),5秒定位Faulting Module
  • 对抗训练中的非局部总变差正则化:原理、优化与工程实践
  • BurpSuite渗透测试实战:从零配置到漏洞扫描与验证
  • 从 RFC Server 属性看懂 SAP PI/PO Sender Channel 的稳定性设计
  • 恐龙快打手机版下载
  • 【限时开源】ESXi自动化部署框架v3.2:一键生成应答文件+硬件兼容性预检+HA预配置(GitHub Star超1.2k)