C语言常见概念入门指南

C语言常见概念 如果我们每个⼈⾃⼰给这些字符中的每个字符编⼀个⼆进制序列,这个叫做编码,为了⽅便⼤家相互通信,不造成混乱,后来美国国家标准学会(ANSI)出台了⼀个标准 ASCII 编码,C语⾔中的字符就遵循了 ASCII 编码的⽅式。在键盘上可以敲出各种字符,如:a,q,@,#等,这些符号都被称为字符,C语⾔中字符是⽤单引号括起来的,如:'a','b','@'。由此可知:c2中没有表明'\0'的位置,这就意味着打印完c2中的字符后,程序会继续执行,直到遇到一个随机的'\0',才会结束。 阅读详情

大家好,今天我们来聊聊C语言的基础概念。无论你是编程小白还是想巩固基础的老手,相信这篇文章都能帮你理清C语言的那些核心知识点。

1. C语言是什么?

人与人的交流用的是自然语言,比如中文、英语。那人跟计算机怎么交流呢?答案就是计算机语言。

计算机语言有很多种,C语言就是其中非常经典的一种。我们通过C语言写程序,告诉计算机该做什么。除了C语言,还有C++、Java、Go、Python等,都是常见的计算机语言。

2. C语言的历史与辉煌

C语言最初诞生于贝尔实验室,它的发明者——丹尼斯·里奇和肯·汤普逊,用C语言重写了Unix操作系统。从此,C语言就与操作系统紧密绑定,成为系统级编程的代表语言。

时至今日,C语言依然是编程语言排行榜(TIOBE Index)上的常青树,经久不衰。

TIOBE Index - TIOBE

3. 为什么选择VS2022作为编译器?

3.1 编译和链接是怎么回事?

C语言是编译型语言,我们写的代码是文本文件(.c文件),计算机不能直接执行。必须经过两个步骤:

  1. 编译:每个.c文件被编译器处理,生成对应的.obj目标文件。

  2. 链接:多个.obj文件和库文件被链接器合并,最终生成.exe可执行文件。

简单来说,就是从人能看懂的代码,变成机器能运行的指令。

3.2 常见的编译器有哪些?

  • MSVC(集成在VS2022中)。

  • clang(集成在XCode中)。

  • gcc(集成在CodeBlocks、DevC++中)。

3.3 为什么推荐VS2022?

优点:

  • 企业级开发工具,工作中常见。

  • 集成了编辑器、编译器、调试器,功能强大。

  • 安装简单,几乎不用配置。

  • 中文界面,对初学者友好。

缺点:

  • 安装包较大,占用空间多。

总的来说,如果你是初学者,VS2022的社区版是最好的选择,完全免费,用起来也顺手。

VS2022安装教程可以看这个视频:https://www.bilibili.com/video/BV11R4y1s7jz/https://www.bilibili.com/video/BV11R4y1s7jz/

4. VS项目和文件结构

在VS中写代码,要先创建项目。项目中可以添加两种文件:

  • 源文件:以 .c 结尾,存放代码。

  • 头文件:以 .h 结尾,存放声明、宏定义等。

5. 第一个C语言程序

#include <stdio.h>

int main()
{
    printf("hello C\n");
    return 0;
}

运行快捷键:Ctrl + F5

屏幕上会输出:hello C

6. main函数:程序的入口

  • 每个C程序必须有且只有一个 main 函数。

  • 程序从 main 开始执行。

  • int 表示 main 函数执行完会返回一个整数。

  • 最后的 return 0; 表示程序正常结束。

常见错误:

  • main 拼错。

  • 漏掉 main 后面的小括号。

  • 用了中文符号(比如中文分号;)。

  • 语句末尾忘记加分号。

7. printf和库函数

printf 是一个库函数,用来在屏幕上打印内容。

printf("hello C\n");           // 打印字符串
printf("%d\n", 100);           // 打印整数
printf("%c\n", 'q');           // 打印字符
printf("%lf\n", 3.14);         // 打印浮点数

这里的 %d、%c 是占位符,会被后面的值替换。

库函数是C标准规定好的函数,不同编译器厂商都会实现它们。使用库函数前,要包含对应的头文件,比如 printf 需要:

#include <stdio.h>

更多库函数可以参考:https://cplusplus.com/reference/library/。

8. 关键字:C语言的保留字

C语言中有32个关键字,它们是留给语言本身用的,程序员不能自己创建,也不能用作变量名、函数名。

auto        break       case        char
const       continue    default     do
double      else        enum        extern
float       for         goto        if
int         long        register    return
short       signed      sizeof      static
struct      switch      typedef     union
unsigned    void        volatile    while

C99标准又加入了一些,比如 inline、restrict 等,但最常用的还是上面这32个。

9. 字符和ASCII编码

字符就是用单引号括起来的符号,比如 'a'、'@'。计算机里存的是二进制,为了统一,美国搞了个ASCII编码表。

常用ASCII值:

  • 'A' ~ 'Z':65 ~ 90。

  • 'a' ~ 'z':97 ~ 122。

  • '0' ~ '9':48 ~ 57。

  • 换行 \n:10。

  • 0 ~ 31 是不可打印字符。

printf("%c\n", 'Q');    // 输出 Q
printf("%c\n", 81);     // 输出 Q,因为81是Q的ASCII码

10. 字符串和\0

字符串是用双引号括起来的,比如 "hello"。字符串末尾会自动隐藏一个 \0,它是字符串的结束标志。

char arr1[] = {'a', 'b', 'c'};       // 没有\0
char arr2[] = "abc";                  // 末尾有\0

如果打印 arr1,可能会在 abc 后面出现乱码,因为找不到结束标志。而 arr2 就能正常打印。

11. 转义字符:让字符“变个意思”

转义字符就是 \ 加上一个字符,让它表示别的意思。

常用转义字符:

转义字符含义
\n换行
\t制表符
\\反斜杠本身
\'单引号
\"双引号
\0空字符(字符串结束标志)
\ddd八进制表示的字符
\xdd十六进制表示的字符
printf("abc\ndef");          // 输出两行:abc 和 def
printf("c:\\test\\code.c");  // 输出 c:\test\code.c
printf("%c\n", '\130');       // 输出 X(130是八进制,转十进制88)
printf("%c\n", '\x30');       // 输出 0(x30是十六进制,转十进制48)

12. 语句的分类

C语言的代码由语句构成,主要分五类:

12.1 空语句

只有一个分号,啥也不干。

;

12.2 表达式语句

表达式后面加分号。

b = a + 5;

12.3 函数调用语句

调用函数后面加分号。

printf("hehe\n");

12.4 复合语句

用 {} 括起来的代码块。

{
    int i = 0;
    printf("%d", i);
}

12.5 控制语句

控制程序执行流程,比如:

  • 分支语句:if、switch。

  • 循环语句:for、while、do while。

  • 转向语句:break、continue、goto、return。

13. 注释:写给人的说明

注释是给人看的,编译器会忽略它。

13.1 两种注释方式

第一种:/* ... */

/* 这是一条注释 */
/* 可以跨行
   写多行注释 */

注意:不能嵌套,遇到第一个 */ 就结束。

第二种://

// 这是单行注释
int x = 1; // 行尾注释

这是C99标准新增的,更简单直观。

13.2 注释的细节

  • 编译时,注释会被替换成一个空格。

  • 双引号里面的 // 或 /* 只是普通字符,不会被视为注释。

printf("/* 这不是注释 */");  // 字符串内的符号,正常打印

C语言是一门基础但强大的语言,理解这些常见概念,是学好C语言的第一步。希望这篇文章对你有帮助,也欢迎你留言讨论!

c语言编程学习入门指南 现在的程序员,不掌握好几门语言都不好意思跟别人打招呼。这是当今社会程序员需要面对的一个事实。   对于很多C语言初学者,都会存在如下误区:学习一类语言就必须从事这个语言的工作,一条路走到黑,学习C语言后就一直会在C语言的路上。其实学习C语言并非一定要从事C语言有关的工作,C语言作为最简单,底层的语言到现在已经有几十年的时间, 很多程序语言基本上在一定方面跟C语言的语法类似,这种语言称为类C语言,... 阅读详情

相关推荐

PLUS模型土地利用变化模拟使用简介

因子包括自然因子如社会因子,通过计算整理得到新图层,并以tif文件输出到驱动因子的文件夹里,驱动因子文件夹里存放的是tif文件格式。线性回归使用提供的所有的LULC资源数据,可以选择往后预测的年数,选择好数据之后,可以得出预测的每一年的每一用地类型面积数据。在此过程之后,可以继续使用此CARS输入的数据继续模拟,也可返回二(3)中CARS模块,重新输入不同的年份预测。在此过程之后,可以继续使用此CARS输入的数据继续模拟,也可返回二(3)中CARS模块,重新输入不同的年份预测。

qq_42831270的博客 5811

C语言入门必看指南:从零开始的编程奇幻之旅(2024最新版)

基础语法 → 2. 流程控制 → 3. 函数 → 4. 数组 → 5. 指针 → 6. 结构体 → 7. 文件操作洛谷(www.luogu.com.cn)LeetCode初级题库浙江大学OJ平台记住,调试BUG的过程就是最好的老师!当你在黑暗中摸索时,每一个解决的错误都会让你的技术实力成倍增长。现在,就打开你的编译器,开始书写属于你的代码传奇吧!

laowangpython的博客 1069

【笔记】使用OrCAD对电路进行蒙特卡洛分析和最坏分析

使用OrCAD对电路进行蒙特卡洛分析和最坏分析

fang_dz999的博客 3150

计算机c语言入门.ppt,计算机c语言入门经典

计算机c语言入门经典C语言对编写需要进行硬件操作的场合,优于其它高级语言。小编为大家分享一些计算机c语言入门经典,欢迎参考!一、开始之前FAQ 那是什么为何有这篇FAQ编程为何物如果这就是编程,那语言是怎么回事我为啥要学编程听说编程很难,是真的么,那我能学会吗?我真的可以么还一定要有台电脑么好吧你说服我了,我打算开始,该怎么做那么,下一步怎么干我碰到问题了,谁能帮我我能看懂别人的程序,但自己做就觉...

weixin_39950824的博客 125

从编译到启动:RV1106嵌入式Linux系统构建的效率优化与深度实践

本文深入探讨RV1106嵌入式Linux系统构建的全流程优化策略,重点提升编译速度和驱动加载效率。通过并行编译配置、内核裁剪、驱动加载优化和硬件辅助加速等实践方法,显著缩短系统构建和启动时间,为嵌入式开发提供实用指导。

ttt77的博客 1033

Bochs源码分析 - 26:8259中断控制器介绍

前言 现在我们跟着《x86/x64体系探索及编程》来分析17章内容 -- 8259中断控制器。这个是涉及硬件的,很遗憾,除了大学期间使用STM32搞过一个计算器,其余就没多少硬件编程经验,我在淘宝上找了下大概是这个东东。 https://pdos.csail.mit.edu/6.828/2010/readings/hardware/8259A.pdf 上面是8259A的芯片手册,里面讲的还是挺详细的,虽然里面很多东西还是看不太懂,但是结合着《x86/...

WriteAnything_的博客 970

2.1.2 C语言ASCII编码与进制转换入门指南

全称:美国信息交换标准代码(简单理解:英文字母的数字身份证)作用:给每个字符(字母、数字、符号)分配一个唯一数字编号范围:0-127(基础版),0-255(扩展版)C语言中的ASCII应用2// 自动转换为ASCII值7 printf("字符 '%c' 的ASCII值是 %d\n", ch, ascii_value);8 return 0;9 }10 // 输出:字符 'A' 的ASCII值是 65掌握ASCII编码和进制转换,就像学会了编程世界的"字母表"。

chenshenshen_的博客 919

Unity-TextMeshPro如何扩展材质实现字体Face+Outline流光效果

前言 TexeMeshPro 是Unity的一个Text文本插件,实现了比UGUI的Text,更好看的效果,跟高效的性能,所以深受大家的喜欢,但是再好的插件,也不是万能的,比如我们的策划有个新需求,要我们的VIP的名字比普通玩家有更好看的效果,例如:字体流光,外发光颜色扰动,字体贴图等等。那我们就需要去扩展TextMeshPRo的shader功能了。如下图所示 本文,我就带大家一起来扩展一下:如何扩展TextMeshProUGUI TextMesh原始面板 扩展功能后的面板 扩展TextMeshPro

TxNet 9687

C 语言开发者的 LVGL 入门指南:从基础到实战

LVGL作为轻量级嵌入式GUI库,凭借其16KB的内存占用和64KB的Flash需求成为资源受限设备的理想选择。该库提供60+预制控件和跨平台兼容性,支持从8位单片机到多核处理器,采用C语言实现降低学习门槛。开发流程涵盖环境搭建、对象模型理解、事件处理及样式定制,并通过仪表盘案例演示了动画实现与性能优化技巧。典型问题解决方案涉及内存管理、显示校准等核心挑战,配合SquareLineStudio工具可提升开发效率。建议开发者通过官方教程入门,逐步实践复杂界面开发,以适应物联网设备对友好人机交互日益增长的需求。

weixin_60265904的博客 4086

Windows系统下载安装 Git 的详细教程

本文详细介绍了Windows系统下载安装Git的完整流程,包括从Git官方网站和阿里镜像下载安装包,逐步讲解安装向导中的各个设置选项,如安装路径、默认编辑器、行尾转换、终端模拟器等,并提供了每个步骤的截图和说明。安装完成后,博客还介绍了如何验证安装是否成功,以及如何配置Git的用户名和邮箱,确保可以正常使用Git进行版本控制。

加斯顿工程师的博客 807

基于RK3588的YOLOv11目标检测NPU加速系统设计与实现——模型转换(RKNN)、量化与板端部署全流程(含环境搭建与疑难解析)

而RK3588芯片则是一款性能强劲的边缘计算芯片,将YOLOv11部署在RK3588上,可实现本地化的智能检测应用,比如工业质检中的产品缺陷识别、安防领域的异常行为监测等。比如,优化模型的推理速度,可通过调整模型的输入尺寸、使用更高效的推理框架等方式实现;可以使用RK提供的量化工具来完成这一过程,按照工具的使用说明,对ONNX模型进行量化,生成适用于RK3588的模型文件。现在,你已经掌握了从环境搭建到模型部署的全流程,赶快动手实践,让YOLOv11在RK3588上绽放智能光彩,打造属于你的AI应用吧!

m0_71589036的博客 46

C语言入门避坑指南:从HelloWorld到实战的9个关键细节(新手必看!)

刚接触C语言的朋友们,是不是经常遇到这样的场景:满心欢喜写完代码,一运行就蹦出几十行报错信息(当场自闭有没有?遇到问题别怕,多写多试就对了(记得经常备份代码哦)!(亲身经历:当年在"D:\学习资料\C语言"目录下编译,报错提示像天书一样…A:用fgets(buf, sizeof(buf), stdin)更安全。新手最纠结的问题之一:到底该用哪个编译器?(别一上来就啃《C陷阱与缺陷》,会怀疑人生的!(需要项目源码的私信我,这里不方便放链接~)Q:代码在A电脑能运行,B电脑报错?Q:为什么程序一闪而过?

D3bugRealm的博客 1060

特征拼接(Feature Concatenation)技术全景解析

特征拼接是深度学习中的核心特征融合技术,通过在指定维度连接不同来源的特征张量,创造性地解决了多源、多尺度特征融合的关键挑战。这种简单却强大的操作已成为现代神经网络架构设计的基石。

浩瀚之水的专栏 1642

c语言的常见概念

为了让程序员不要重复实现常见的代码并提升他们的工作效率,c语言标准规定了一组函数,这些函数组成了一个函数库,被称之为。

2402_88306537的博客 1942

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

掌握 C 语言常见概念,从零开始编程之路!

C语言是一种广泛使用的计算机编程语言,由Dennis Ritchie于20世纪70年代在贝尔实验室开发。作为编译型语言,它需要通过编译器将源代码转换为可执行文件。C语言具有简洁高效的语法,既贴近硬件又支持复杂逻辑表达,在系统编程、嵌入式开发等领域应用广泛。文章介绍了C语言的基本概念、历史背景、编译器选择、程序结构(如main函数)、常用函数(如printf)、关键字、字符编码、字符串处理、转义字符、语句分类以及注释的重要性。作为许多现代编程语言的基础,C语言至今仍是计算机专业学习的核心内容,其高效性和灵活性

NGEFF的博客 1865

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

【C语言入门】C语言入门:探索编程世界的基础概念

在数字化时代的浪潮中,编程已经成为一项不可或缺的技能。C语言,作为计算机编程的基石之一,以其高效、灵活和强大的特性,吸引着无数初学者和开发者。无论你是对计算机科学充满好奇的学生,还是希望提升个人技能的职场人士,掌握C语言都将为你打开一扇通往编程世界的大门。

EterNity_TiMe_的计算机学习之路 2496

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

【初识C语言】C语言的常见概念

等等。这些符号被称为保留字或者关键字。关键字都有特殊的意义,是保留给C语⾔使⽤的程序员⾃⼰在创建标识符的时候是不能和关键字重复的关键字也是不能⾃⼰创建的。C语言的32个关键字如下:externstatic注:在C99标准中加⼊了inline 、restrict 、_Bool 、_Complex 、_Imaginary 等关键字。⼀些关键字⼤家可以去了解⼀下,不过使⽤最多的还是上⾯的32个关键字。(C语⾔关键字的全部介绍)

2401_88325505的博客 2378

【思维导图】C语言—常见概念

友友们,今天我们进入一个新的专栏——!思维导图帮助我们复习知识的同时建构出一个清晰的框架,我往后会不断更新各个专栏的思维导图,关注我,一起加油!今天我们回顾C语言中的常见概念,以问题的形式复习知识,贯彻费曼学习法思维。

稻草人 1576

C语言常见的概念

如果我们每个⼈⾃⼰给这些字符中的每个字符编⼀个⼆进制序列,这个叫做编码,为了⽅便⼤家相互通信,不造成混乱,后来美国国家标准学会(ANSI)出台了⼀个标准 ASCII 编码,C语⾔中的字符就遵循了 ASCII 编码的⽅式。C语⾔是⼀⻔编译型计算机语⾔,C语⾔源代码都是⽂本⽂件,⽂本⽂件本⾝⽆法执⾏,必须通过编译器翻译和链接器的链接,⽣成⼆进制的可执⾏⽂件,可执⾏⽂件才能执⾏。在键盘上可以敲出各种字符,如:a,q,@,#等,这些符号都被称为字符,C语⾔中字符是⽤单引号括起来的,如:'a','b','@'。

2403_87518450的博客 1843

初识C语言———C语言基础入门

关键字typedef typedef顾名思义是类型定义,这里应该理解成类型重命名。 int main() { unsigned int num1 = 0; //创建无符号整形 return 0; } 但是我们使用unsigned int太长了,每次敲起来很麻烦,我们就可以用typedef typedef unsigned int uint; int main() { unsigned int num1 = 0; //无符号整形 uint num2 = 1; r..

m0_60172128的博客 1万+

【C语言】常见的C语言概念

人和人交流使用的是自然语言,就像是汉语、英语、日语。那人和计算机是怎么交流的呢?使用计算机语言。目前已知已经有上千种计算机语言,人们们是通过计算机语言写的程序,给计算机下达指令,让计算机工作的。C语言就是众多计算机语言中的⼀种,当然C++/Java/Go/Python都是计算机语言。在VS上写代码,我们是需要创建项目的,直接新建项目就可以了。在项目中就可以添加源文件和头文件。C语言把 .c 为后缀的文件称为源文件,把 .h 为后缀的文件称为头文件。

zxctsclrjjjcph的博客 5618

C语言的常见概念

1.创建新项目:项目名称要有意义且最好是英文,路径最好是自己规划好的地方。2.源文件和头文件:.c是源文件;.h是头文件。

2402_86630696的博客 2409

初识C语言——C语言的常见概念(下)

在上一章,我们认识了C语言的概念、历史、使用方法。在对C语言有了初步的了解之后,我们可以来写下我们的第一个C语言程序啦!😚 接下来,我将会给大家介绍,在编写C语言的时候常用的语句和函数。

xxpigpigpigxx的博客 1606

【C初阶】C语言的常见概念

注意保持空杯心态-- 一切从零开始。加油!

2301_82248162的博客 2000
上一篇: MySQL复合查询
下一篇: MySql 内外连接
FirstFrost --sy
博客等级 码龄3年 371粉丝 68原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值