news 2026/6/10 19:47:29

第一讲:C语言的常见概念

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
第一讲:C语言的常见概念

一、初识C语言

1.C语言是什么

C语言是一种计算机语言,有它自己的语法规则。

2.C语言的历史

1969年,贝尔实验室的肯·汤普森与丹尼斯·里奇开发了Unix操作系统。Unix是用汇编写的,为了可移植性,汤普森在BCPL语言的基础上发明了B语言。
1972年,丹尼斯·里奇和布莱恩·柯林汉在B语言的基础上设计出了C语言
1973年,整个Unix系统使用C语言重新,C语言开始快速流传,并应用于各种操作系统和软件的开发。
1988年,美国国家标准协会(ANSI)正式将C语言标准化,标志着C语言开始稳定和规范化。
一直到今天C语言还是在广泛的使用,在计算机语言的排行榜霸占前三名。

3.编译和链接

C语言是一门编译型计算机语言,其通过编译器翻译和链接器的链接生成二进制的可执行文件,可执行文件才能执行。
C语言的运行是通过编译链接2个过程,其代码放在.c为后缀的文件中的。

一个工程一般都会有多个源文件组成。流程一般为:

  1. 每个源文件.c文件 → 编译器 → 目标文件.obj文件
  2. 多个目标文件和库文件(链接库) → 链接器 → 可执行程序.exe文件

4.编译器的对比

C语言是一门编译型的计算机语言,需要依赖编译器将计算机语言转换成机器能够执行的机器指令。
常见的C语言编译器有哪些呢?
比如:msvc、clang、gcc就是一些常见的编译器,也有一些**集成开发环境(IDE)**如:VS2026、XCode、CodeBlocks、DevC++、Clion等。

集成开发环境(IDE)用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。集成了代码的编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。

  • VS2026集成了MSVC(安装包较大,傻瓜式安装,无需多余配置,使用方便)
  • XCode集成了clang(苹果电脑上的开发工具)
  • CodeBlocks集成了gcc(比较小众,需配置环境,不推荐)
  • DevC++集成了gcc(小巧,过于简单,对代码风格养成不好,竞赛使用较多)
  • Clion默认使用CMake,编译器可配置(收费,暂时不推荐)

VS2026安装可参考:VS2026安装教程

5.第一个C语言程序

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

5.1 main函数

main函数是程序的主入口,在一个项目中有且仅可有一个,即使有多个.c源文件,也只能有一个main函数。
C语言默认返回0表示正常,返回非0表示异常返回。

6.printf()

6.1 printf() 是一个库函数

printf()的功能是:
在标准输出设备(一般指屏幕)上进行信息的打印(打印格式化内容信息)。
使用printf()函数需要包含头文件<stdio.h>

6.2 占位符

%d - 以十进制形式打印有符号整数(demical十进制)
%c - 打印字符(character)
%f - 打印单精度浮点数(float)
%lf- 打印双精度浮点数(double)

本节只学习几个基本的占位符,后续会学习更多相关的占位符。

6.3 库函数

为了不在重复实现常见的代码,提升开发效率,C语言标准规定了一些函数,这些函数在不同编译器厂家根据标准实现,提供给程序员使用。这些函数组成了一个函数库,被称为标准库,这些函数也被称为库函数
一个系列的库函数一般会声明在同一个头文件中,使用时需包含对应的头文件。库函数链接:库函数链接

6.4 关键字

C语言中有一批保留的名字的字符,这些符号被称为保留字或者关键字。

注意:

1.关键字有特殊的意义,保留给C语言使用的。
2.关键字不能自己创建。

C语言关键字全部介绍:关键字介绍

7.char 字符

键盘上可以敲出的各种字符,使用单引号''括起来的。
比如在屏幕上显示ASNI值为31~127之间的字符(前31个字符是无法在屏幕中显示出来的),程序如下:

#include<stdio.h>intmain(){for(inti=32;i<=127;i++){printf("%c ",i);}}

7.1 ASNII 编码

每个字符编一个二进制序列,叫做编码。
为了互相通信不造成混乱,美国国家标准协会(ASNI)出台了一个标准的ASCII标准。
参考:ASCII标准

7.2 掌握的知识点

1.字符A-Z的ASCII码值从65-90
2.字符a -z的ASCII码值从97-112
3.对应的大写字母+32= 小写字母的ASCII码值;
4.数字0-9对用的ASCII码值为48-57
5.换行符\n的ASCII码值为10
6.ASCII码值从0-31这32个字符是不可打印字符,无法打印在屏幕上观察。

7.3 字符串

使用双引号""括起来的一串字符串被称为字符串,如"abcdef"。

字符串的占位符为:%s;
字符串末尾隐藏默认放着一个 \0 字符;
\0 字符是字符串的结束标志;
\0的ASCII码值为0

// 字符串的两种打印方式intmain(){printf("%s\n","hello C");printf("hello C");return0;}

需要注意的下面两种情况的输出方式的区别:
字符数组后不加 \0 的情况,则输出时没有结束标志,则后续输出是未知的。

intmain(){chararr1[]="abc";chararr2[]={'a','b','c'};printf("%s\n",arr1);printf("%s\n",arr2);return0;}

8.转义字符

前面已近学习了几个转义字符,本节我们学习更多的转义字符。

intmain(){// 1.\? 书写连续多个问号,防止被解析为三字母词,现在新编译器已经无法验证了。printf("(are you ok??)");// 早起编译器可能输出 (are you ok]printf("(are you ok\?\?)")// 2.\' 表示字符常量 'printf("%c",'\'');// 3.\" 表示字符常量 "printf("%c","abc\"xyz\"def");// 4.\\ 表示字符常量 \printf("%c","c:\\test\\16\\data.text");// c:\test\16\data.text// 5. \a 表示警报,终端发出的警报声或出现闪烁,或两种同时发生printf("%a\n");// 6. \b 退格键,光标回退一个字符,但不删除可能会被覆盖printf("abc\bdef");// abcefprintf("abc\b\bdef");// acef// 7. \n 换行符// 8. \r 回车符,光标移到同一行的开头printf("abcdef\r");// 9. \t - 制表符,光标移到下一个水平制表符,通常是下一个4/8的倍数printf("a\tbc\tdef\tghiq\tnnnnn\tw\n");// 特殊的两种转义字符// 10.\ddd - d d d表示 1~3 位八进制的数字,如\130,十进制为88,表示字符'X'printf("%c\n",'\130');// X// 11.\xdd - d d 表示 1~2 位十六进制的数字,如\x30,十进制为48,表示字符'0'printf("%c\n",'\x30');// 0return0;}

注意:

1.数字0开头表示八进制数字,比如071表示十进制的数字57
2.字符x开头表示十六进制数字,比如0x30表示十进制的数字48

9 语句

后续章节再详细介绍,本节不做介绍!

有写的不好的地方请大家积极指正出来,谢谢!


【自勉】表格终会翻篇,技术方能立身,坚持下去,必有回响。

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

Word公式排版救星:MathType 7.4.8安装避坑与右编号公式实战指南

MathType 7.4.8高效排版指南&#xff1a;从零安装到专业公式右编号实战第一次在Word里插入带编号的数学公式时&#xff0c;相信很多人都有过这样的经历&#xff1a;好不容易写好的公式&#xff0c;编号却总是对不齐&#xff1b;想要修改格式&#xff0c;却发现菜单选项深藏不露…

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

S32K3安全机制实战:手把手教你用EIM模块注入ECC错误(附MCAL配置)

S32K3安全机制实战&#xff1a;EIM模块ECC错误注入与MCAL配置详解引言在汽车电子功能安全开发中&#xff0c;内存错误检测机制的验证是ASIL D认证的关键环节。S32K3系列MCU作为NXP面向汽车安全应用的主力产品&#xff0c;其内置的EIM(Error Injection Module)模块为工程师提供了…

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

SNP亮相2026思爱普中国峰会,助力企业加速数据价值兑现

6月3日思爱普中国峰会在北京顺利召开&#xff0c;吸引来自全国千余位伙伴和客户到场&#xff0c;共同聚焦当下企业最关心的话题&#xff1a;AI如何真正落地并创造业务价值。SAP 首次面向中国市场系统阐述了“自主运营企业”&#xff08;Autonomous Enterprise&#xff09;战略愿…

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

GPT-5.5深度实测:代码生成+多模态能力测评,新手开发适配度拉满

&#x1f4d6; 目录 一、我关注的几个核心能力点 1. 代码能不能直接跑起来&#xff1f;2. 图文理解够不够深入&#xff1f; 二、三个真实场景的完整测试 案例1&#xff1a;用Python批量整理Excel数据案例2&#xff1a;修复一个有问题的爬虫代码案例3&#xff1a;解一道几何题 …

作者头像 李华