
C语言入门
文章平均质量分 68
C语言入门
小智学长 | 嵌入式
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
入门-C编程基础部分:1、环境搭建
飞书文档如果你想要设置 C 语言环境,您需要确保电脑上有以下两款可用的软件,文本编辑器和 C 编译器。文本编辑器推荐Window使用VScode,通过编辑器创建的文件通名。在开始编程之前,请确保您有一个文本编辑器。原创 2025-04-14 18:41:49 · 785 阅读 · 0 评论 -
入门-C编程基础部分:2、第一个程序
打开Vscode菜单栏的Terminal->new Terminal,编译hello.c,生成可执行文件,然后运行,您可以看到屏幕上显示 "Hello World"。如果搭建环境时,安装了该插件,在新建工程后,可以看到菜单栏下方,有这几个按键,我们逐个点击“编译”,“运行”即可,编译完成运行后,可以看到打印了日志。弹出的窗口中,输入hello.c文件名,这个文件名不要有空格,不要有中文字符。如果弹出此窗口,选择“是,我信任此作者”即可。然后在弹出的窗口中,选择我们刚刚创建的路径。原创 2025-04-14 18:52:08 · 397 阅读 · 0 评论 -
入门-C编程基础部分:3、程序结构
include <stdio.h> 是预处理器指令,告诉 C 编译器在实际编译之前要包含 stdio.h 文件。printf(...) 是 C 中另一个可用的函数,会在屏幕上显示消息 "Hello, World!也就是说,代码中的语句必须以分号结束。/*...*/ 将会被编译器忽略,这里放置程序的注释内容。它们被称为程序的注释。终止 main() 函数,并返回值 0。int main() 是主函数,程序从这里开始执行。开始的单行注释,这种注释可以单独占一行。这种格式的注释可以单行或多行。原创 2025-04-15 19:00:00 · 172 阅读 · 0 评论 -
入门-C编程基础部分:4、数据类型
float:2^23 = 8388608,一共七位,这意味着最多能有7位有效数字,但绝对能保证的为6位,也即float的精度为6~7位有效数字;于是,float的指数范围为-127~+128,而double的指数范围为-1023~+1024,并且指数位是按补码的形式来划分的。其中负指数决定了浮点数所能表达的绝对值最小的非零数,而正指数决定了浮点数所能表达的绝对值最大的数,也即决定了浮点数的取值范围。类型,虽然理论上可以表示 7 位有效数字,但为了确保所有情况下都能正确表示,通常只保证 6 位有效数字。原创 2025-04-15 19:00:00 · 884 阅读 · 0 评论 -
入门-C编程基础部分:5、变量
变量定义就是告诉编译器在何处创建变量的存储,以及如何创建变量的存储。变量的名称可以由字母、数字和下划线字符组成。大写字母和小写字母是不同的,因为 C 是大小写敏感的。必须是一个有效的 C 数据类型,可以是 char、short、int、float、double 或任何用户自定义的对象,带有静态存储持续时间的变量会被隐式初始化为 NULL(所有字节的值都是 0),其他所有变量的初始值是未定义的。C 中每个变量都有特定的类型,类型决定了变量存储的大小和布局。变量类型 变量名称/变量列表名称 变量的值。原创 2025-04-16 21:00:00 · 568 阅读 · 0 评论 -
入门-C编程基础部分:6、常量
常量可以是任何的基本数据类型,比如整数常量、浮点常量、字符常量,或字符串字面值,也有枚举常量。常量是固定值,在程序执行期间不会改变,可以让我们编程更加规范。请注意,把常量定义为大写字母形式,是一个很好的编程习惯。就像是常规的变量,只不过常量的值在定义后不能进行修改。关键词 常量名 常量值。原创 2025-04-16 21:00:00 · 253 阅读 · 0 评论 -
入门-C编程基础部分:7、运算符
例如 x = 7 + 3 * 2,在这里,x 被赋值为 13,而不是 20,因为运算符 * 具有比 + 更高的优先级,所以首先计算乘法 3*2,然后再加上 7。某些运算符比其他运算符有更高的优先级,例如,乘除运算符具有比加减运算符更高的优先级。由于a=60,则对应的二进制数是0011_1100,由于a是unsigned int类型,需要补为32bit,将一个十进制数转换为二进制数的思路是将该数不断除以2,直到商为0为止。下表显示了 C 语言支持的所有算术运算符。下表显示了 C 语言支持的所有关系运算符。原创 2025-04-17 07:00:00 · 933 阅读 · 0 评论 -
入门-C编程基础部分:8、判断
语句允许测试一个变量等于多个值时的情况。每个值称为一个 case,且被测试的变量会对每个。C 语言提供了以下类型的判断语句。点击链接查看每个语句的细节。/* 您可以有任意数量的 case 语句 *//* 如果布尔表达式为假将执行的语句 *//* 当布尔表达式 2 为真时执行 *//* 当布尔表达式 3 为真时执行 */default : /* 可选的 *//* 当上面条件都不为真时执行 */如果布尔表达式为真将执行的语句 */如果布尔表达式为真将执行的语句 */当布尔表达式 1 为真时执行 */原创 2025-04-17 07:00:00 · 861 阅读 · 0 评论 -
入门-C编程基础部分:9、循环
当条件为 false 时,退出循环,程序流将继续执行紧接着循环的下一条语句。一般情况下,语句是按顺序执行的:函数中的第一个语句先执行,接着是第二个语句,依此类推。循环的关键点是循环可能一次都不会执行。当条件为 false 时,会跳过循环主体,直接执行紧接着 while 循环的下一条语句。如果您使用的是嵌套循环(即一个循环内嵌套另一个循环),break 语句会停止执行最内层的循环,然后开始执行该块之后的下一行代码。语句出现在一个循环内时,循环会立即终止,且程序流将继续执行紧接着循环的下一条语句。原创 2025-04-18 07:00:00 · 209 阅读 · 0 评论 -
入门-C编程基础部分:10、函数
被调用的函数执行已定义的任务,当函数的返回语句被执行时,或到达函数的结束括号时,会把程序控制权交还给主程序。上面的实例表明了,与传值调用不同,引用调用在函数内改变了 a 和 b 的值,实际上也改变了函数外 a 和 b 的值。上面的实例表明了,虽然在函数内改变了 a 和 b 的值,但是实际上 a 和 b 的值没有发生变化。通过引用传递方式,形参为指向实参地址的指针,当对形参的指向操作时,就相当于对实参本身进行的操作。形式参数就像函数内的其他局部变量,在进入函数时被创建,退出函数时被销毁。原创 2025-04-18 07:30:00 · 782 阅读 · 0 评论 -
入门-C编程基础部分:11、变量作用域
在某个函数或块的内部声明的变量称为局部变量。在这里,所有的变量 a、b 和 c 是 main() 函数的局部变量。在程序中,局部变量和全局变量的名称可以相同,但是在函数内,如果两个名字相同,会使用局部变量值,全局变量不会被使用。全局变量是定义在函数外部,通常是在程序的顶部。全局变量在整个程序生命周期内都是有效的,在任意的函数内部能访问全局变量。任何一种编程中,作用域是程序中定义的变量所存在的区域,超过该区域变量就不能被访问。函数的参数,被当作该函数内的局部变量,如果与全局变量同名它们会优先使用。原创 2025-04-19 07:00:00 · 221 阅读 · 0 评论 -
入门-C编程基础部分:12、数组
数组的声明并不是声明一个个单独的变量,比如 runoob0、runoob1、...、runoob99,而是声明一个数组变量,比如 runoob,然后使用 runoob[0]、runoob[1]、...、runoob[99] 来代表一个个单独的变量。所有的数组都是以 0 作为它们第一个元素的索引,数组的最后一个索引是数组的总大小减去 1。您将创建一个数组,它与前一个实例中所创建的数组是完全相同的。元素的索引是放在方括号内,跟在数组名称的后边。如果您省略掉了数组的大小,数组的大小则为初始化时元素的个数。原创 2025-04-18 07:30:00 · 871 阅读 · 0 评论 -
入门-C编程基础部分:13、指针
在大多数的操作系统上,程序不允许访问地址为 0 的内存,因为该内存是操作系统保留的。所有实际数据类型,不管是整型、浮点型、字符型,还是其他的数据类型,对应指针的值的类型都是一样的,都是一个代表内存地址的长的十六进制数。通过指针,可以简化一些 C 编程任务的执行,想要成为一名优秀的 C 程序员,学习指针是很有必要的。在变量声明的时候,如果没有确切的地址可以赋值,为指针变量赋一个 NULL 值是一个良好的编程习惯。不同数据类型的指针之间唯一的不同是,指针所指向的变量或常量的数据类型不同。原创 2025-04-20 20:01:01 · 445 阅读 · 0 评论 -
入门-C编程基础部分:14、字符串
依据数组初始化规则,您可以把上面的语句写成以下语句,C 编译器会在初始化数组时,自动把。在 C 语言中,字符串实际上是使用空字符。由于在数组的末尾存储了空字符。下面的声明和初始化创建了一个。,所以字符数组的大小比单词。结尾的一维字符数组。原创 2025-04-20 20:03:21 · 225 阅读 · 0 评论 -
入门-C编程基础部分:15、结构体
结构体的成员可以包含其他结构体,也可以包含指向自己结构体类型的指针,而通常这种指针的应用是为了实现一些更高级的数据结构如链表和树等。现在,您可以在上述定义的指针变量中存储结构变量的地址。结构体中的数据成员可以是基本数据类型(如 int、float、char 等),也可以是其他结构体类型、指针类型等。您可以把结构作为函数参数,传参方式与其他类型的变量或指针类似。和其它类型变量一样,对结构体变量可以在定义时指定初始值。结构变量,定义在结构的末尾。是标准的变量定义,比如。,或者其他有效的变量定义。原创 2025-04-21 21:18:06 · 673 阅读 · 0 评论 -
入门-C编程基础部分:16、 预处理器
这个指令告诉 CPP 如果定义了 DEBUG,则执行处理语句,常用于编译选择,例如下发工程,如果我们只希望在调试时打印信息,正式发布不打印信息。参数列表是括在圆括号内,且必须紧跟在宏名称的后边。一个宏通常写在一个单行上。但是如果宏太长,一个单行容纳不下,则使用宏延续运算符(\)。是编译过程中一个单独的步骤,是一个文本替换工具而已。这个指令告诉编译器只有当 MESSAGE 未定义时,才定义 MESSAGE,常用于头文件,C语言一个强大的功能是可以使用参数化的宏来模拟函数。在使用带有参数的宏之前,必须使用。原创 2025-04-21 21:22:42 · 300 阅读 · 0 评论 -
入门-C编程基础部分:17、typedef
来为用户自定义的数据类型取一个新的名字。typedef和define都是替一个对象取一个别名,以此增强程序的可读性。在这个类型定义之后,标识符 uint8可作为类型。关键字,您可以使用它来为类型取一个。typedef 与 #define。常用于定义常量或替换文本,常用于定义类型别名。原创 2025-04-22 22:46:58 · 399 阅读 · 0 评论 -
入门-C编程基础部分:18、enum(枚举)
没有指定值的枚举元素,其值为前一元素加 1。也就说 spring 的值为 0,summer 的值为 3,autumn 的值为 4,winter 的值为 5。第一个枚举成员的默认值为整型的 0,后续枚举成员的值在前一个成员上加 1。我们在这个实例中把第一个枚举成员的值定义为 1,第二个就为 2,以此类推。枚举类型通常用于为程序中的一组相关的常量取名字,以便于程序的可读性和维护性。这样看起来是不是更简洁了。原创 2025-04-22 22:49:39 · 250 阅读 · 0 评论 -
入门-C编程基础部分:19、输入 & 输出
s char* 顺序打印字符串中的字符,直到遇到’\0’或已打印了由精度指定的字符数为止。x int 无符号十六进制数(没有前导0x或0X),10~15分别用abcdef。C 语言中的 I/O (输入/输出) 通常使用 printf() 和 scanf() 两个函数。scanf() 函数用于读取键盘输入, printf() 函数用于打印输出。u int 无符号十进制数。输入需要打印的数字后,点击回车即可。原创 2025-04-24 17:43:06 · 461 阅读 · 0 评论 -
入门-C编程基础部分:20、多文件与头文件
如果一个头文件被引用两次,编译器会处理两次头文件的内容,这将产生错误。此时,预处理器会跳过文件的整个内容,编译器会忽略它。当我们在写比较大的工程,例如上万行代码的,我们就需要考虑按功能模块划分为不同的源文件和头文件,方便代码编写、工程维护。它在系统目录的标准列表中搜索名为 file 的文件。它在包含当前文件的目录中搜索名为 file 的文件。有两种类型的头文件:自行编写的头文件和编译器自带的头文件。头文件的作用是方便其它源文件引用,引用头文件相当于复制头文件的内容。头文件,它是编译器自带的头文件。原创 2025-04-24 17:46:08 · 305 阅读 · 0 评论