C语言基础
文章平均质量分 95
本专栏旨在为初学者提供一个扎实的C语言基础。我将逐步引导您掌握C语言的核心概念和编程技能。通过清晰而简洁的讲解,我们将探索C语言的基本语法、数据类型、控制结构、函数、指针和数组等关键主题。您将学习如何编写简单而强大的程序,并逐步扩展您的技能,为更复杂的编程挑战做好准备。
天地神仙
这个作者很懒,什么都没留下…
展开
-
【C语言】24-共用体类型、枚举类型、#define 与 typedef
有时想用同一段内存单元存放不同类型的变量,例如,把一个short类型变量、一个char类型变量和一个float类型变量放在同一个地址开始的内存单元中,以上3个变量在内存中占的字节数不同,但都从同一个地址开始,这种使几个不同的变量共享同一段内存的结构称为“共用体”类型的结构定义共用体类型变量的一般形式为union 共用体名 {成员表列 } 变量表列union Dataint i;char ch;float f;}a,b,c;char ch;float f。原创 2023-10-07 17:26:28 · 318 阅读 · 0 评论 -
【C语言】23-结构体类型
先声明结构体类型,再定义该类型的变量struct 结构体名字 变量名表列;上述语句定义了两个结构体变量,student1和student2并且为它们分配了内存空间,在结构体中,每一个成员变量的存储是连续的,类似于数组某些计算机会对结构体进行优化,例如计算机对内存管理是按字进行管理的,那么会按字进行对齐,例如某计算机是按字进行内存管理,1 个字 = 4 字节,那么上述结构体在内存中占用的空间如下:如上图所示,虽然name。原创 2023-10-06 14:00:51 · 267 阅读 · 0 评论 -
【C语言】21-指针-3
一个数组,若其元素均为指针类型数据,称为指针数组,也就是说,指针在这里插入代码片数组中的每一个元素都存放一个地址,相当于一个指针变量类型名*数组名[数组长度]int *a[4];就定义了一个具有 4 个int型指针变量的数组a类型名 ** 指针名;如下面的语句就定义了一个指向int型指针变量的指针int **p;原创 2023-09-29 10:23:22 · 213 阅读 · 0 评论 -
【C语言】20-指针-2
以上的三种方式,第一二种并无效率差别,但是第三种方式会比前两种要快很多,因为在打印时不需要计算数组元素的地址,这里有读者可能会疑惑,为什么第二种方式不使用数组名。来进行自加的操作呢?因为数组名是指针常量,它是不可以被更改的,所以无法进行自加等操作。有 10 个元素,打印出这 10 个元素。的值,也就是 3,后面的以此类推。阅读下面的程序,分析执行的结果。时,相当于执行了下面的语句。在初始化时,得到的是。的,所以会直接打印出。原创 2023-09-17 19:02:26 · 142 阅读 · 0 评论 -
【C语言】19-指针-1
专门用来存放某一个变量的地址(即指针)的变量,则它就称为指针变量,指针变量的值是地址类型名 * 指针变量名int *p;左边的int是在定义指针变量时必须指定的基类型,指针变量的基类型用来指定此指针变量可以指向的变量类型,例如上述代码就定义了一个int类型的指针变量p在定义指针变量时候可以对它进行初始化,这次需要使用到之间在学习scanf函数时学习到的int a=1;上述代码就在定义指针变量p时,将它的值初始化为变量a的地址指针变量前面的仅仅是用来表示该变量为指针变量,而指针变量的名字不包括。原创 2023-09-09 19:37:06 · 237 阅读 · 0 评论 -
【C语言】17-函数-3
当组成一个程序的各个源文件分别被编译之后,所有的目标文件以及那些从一个或多个函数库中引用的函数将链接在一起,形成可执行程序。然而,如果相同的标识符出现在几个不同的源文件中时,它们是表示同一个实体,还是表示不同的实体?标识符的链接属性决定如何处理在不同文件中出现的标识符。属于 internal 链接属性的标识符在同一个源文件内的所有声明中都指同一个实体,但位于不同源文件的多个声明则分属不同的实体。没有链接属性的标识符(none)总是被当作单独的个体,也就是说该标识符的多个声明被当作不同的独立实体。原创 2023-09-06 00:31:37 · 276 阅读 · 0 评论 -
【C语言】数据结构的基本概念与评价算法的指标
一个程序在执行时除需要存储空间来存放本身所用的指令、常数、变量和输入数据外,还需要一些数据进行操作的工作单元和存储一些为实现计算所需信息的辅助空间,若输入数据的空间只取决于问题本身,和算法无关,则只需分析除输入和程序之外的额外空间。索引存储:在存储元素信息的同时,还建立附加的索引表,索引表中的每项称为索引项,索引项的一般形式是(关键字,地址)另外增加和删除数据时也要修改索引表,因此会花费较多的时间。施加在数据上的运算包括运算的定义和实现,运算的定义是针对逻辑结构的,指出运算的功能;原创 2023-09-03 19:33:20 · 975 阅读 · 0 评论 -
【C语言】16-函数-2
所以在之前的例子中使用到的函数都是外部函数。原创 2023-08-25 17:49:40 · 542 阅读 · 0 评论 -
【C语言】15-函数-1
函数的定义包含了函数的声明,完成了函数的定义也就自动完成了函数的声明函数定义相较于函数声明最大的不同就是定义函数要执行的操作若只有函数的声明没有定义,那么编译器就只知道有这样的一个函数存在,但是这个函数具体要完成什么操作并不清楚,所以在编译时也会报错指定函数的名字,以便于按名调用指定函数的类型,也即是函数返回值的类型指定函数的参数名字和类型,以便于在调用函数时向它们传递数据指定函数应当完成什么操作,也就是函数的功能顾名思义,无参函数就是没有输入参数的函数。原创 2023-08-24 13:35:32 · 296 阅读 · 0 评论 -
【C语言】14-数组之字符数组
在之前的学习中了解到字符型数据是以字符的 ASCII 码值存储在存储单元中的,一般占 1 个字节,由于 ASCII 码也属于整数形式,因此在 C99 标准中,把字符类型归为了整型类型中的一种,而字符数组就可以理解为是一种特殊的整型类型的数组由于字符类型的数据应用较广泛,尤其是作为字符串形式使用,因此单独拿出一章节来讲解字符数组C 语言中没有字符串类型,也没有字符串变量,字符串是存放在字符型数组中的,这一点需要读者注意char 数组名[常量表达式]如使用char a[10]原创 2023-08-21 16:46:49 · 211 阅读 · 0 评论 -
【C语言】13-数组之二维数组
1. 如何定义二维数组2. 二维数组的初始化3. 如何引用二维数组元素4. 二维数组程序举例原创 2023-08-14 14:54:02 · 159 阅读 · 0 评论 -
【C语言】12-数组之一维数组
在之前的学习中,学习了整型、字符型、浮点型这些数据类型,在面对简单问题时,使用这些简单的数据类型就足够了,但是如果遇到数据量较大的情况,并且需要对数据进行一些处理时,使用以上的数据类型就不是很有效了。例如要对班级 50 名同学的成绩进行排序,假设成绩都为整数,那么我们需要编写 50 个整型变量才可以存储下 50 名同学的成绩,然后还要对它们进行排序,这就已经很复杂了,而数组就可以很好的解决这一问题数组是一组有序数据的集合,数组中各数据的排列是有一定规律的,下标代表数据在数组中的序号。原创 2023-08-13 20:39:00 · 214 阅读 · 0 评论 -
【C语言】11-三大结构之循环结构-2
编写一个程序,输出所有的水仙花数。打印出由用户指定层数的金字塔图案。原创 2023-08-10 17:49:34 · 252 阅读 · 0 评论 -
【C语言】10-三大结构之循环结构-1
下面将会用一个例子来让大家更好的体会如何控制循环次数。原创 2023-08-01 17:25:09 · 512 阅读 · 0 评论 -
【C语言】9-三大结构之选择结构-3
在以下情况下,switch当需要对一个变量进行多个离散值的比较时当有多个可能的条件并且每个条件只需要简单的等值比较时当代码中有多个连续的 if-else 语句时,可以使用 switch 语句来提高可读性而在以下情况下,if当需要进行范围判断或复杂的条件组合时当条件判断涉及到布尔运算、逻辑运算等较为复杂的情况时当需要执行更复杂的代码块,而不仅仅是简单的赋值或函数调用总之,switch语句和if语句各有其适用的场景,具体使用哪种语句取决于代码的需求和可读性。原创 2023-07-26 15:09:20 · 258 阅读 · 0 评论 -
【C语言】8-三大结构之选择结构-2
例如,学生的成绩分类,人口统计分类,工资统计分类等。)组成,必须一起使用,要求有三个操作对象,称为三目运算符,它也是 C 语言中唯一一个三目运算符。后有几句话都使用大括号并且给对应缩进的好处所在,这样的结构可以让我们快速定位配套的。语句也是可以的,只是使用条件运算符会使得程序更加简洁),上面的语句可以改写为。语句中包含一个或者多个if语句称为if语句的嵌套,需要注意。编写程序,输入一个 x 的值,要求输出相应的 y 的值。的值就作为整个条件表达式的值,若为“假”则求解。的值为真,则条件表达式的值就等于。原创 2023-07-23 23:32:54 · 314 阅读 · 0 评论 -
【C语言】7-三大结构之顺序与选择结构-1
1. 选择结构和条件判断2. if 语句3. 关系运算符和关系表达式4. 逻辑运算符和逻辑表达式5. 条件运算符和条件表达式6. 选择结构的嵌套7. switch 语句8. 综合举例原创 2023-07-21 00:22:12 · 208 阅读 · 0 评论 -
【C语言】6-C语句与数据的输入输出
1. 概论2. 用 printf 函数输出数据3. 用 scanf 函数输入数据原创 2023-07-21 00:14:52 · 218 阅读 · 0 评论 -
【C语言】5-C语言的运算符和表达式
本文先讲解算术运算符和赋值运算符,其余部分在后续陆续讲解。原创 2023-07-14 16:59:25 · 474 阅读 · 0 评论 -
【C语言】4-C语言的数据表现形式之数据类型
为什么在用计算机运算时要指定数据的类型呢?在数学中,数值是不分类型的,数值的运算是绝对准确的,数学是一门研究抽象问题的学科,数和数的运算都是抽象的。而在计算机中,数据是存放在存储单元中的,它是具体存在的,而且存储单元是由有限的字节构成的,每一个存储单元中存放数据的范围是有限的,不可能存放无穷大的数,也不可能存放循环小数,例如用 C 语言程序计算 1/3 得到的结果是 0.333333,而不是无穷位的小数所谓类型,就是对数据分配存储单元的安排,包括存储单元的长度(占多少字节)以及数据的存储形式。原创 2023-07-12 00:02:57 · 326 阅读 · 0 评论 -
【C语言】3-C语言的数据表现形式之常量与变量
在定义时指定该变量的名字和类型。注意区分变量名和变量值这两个不同的概念,变量名实际上是以一个名字代表的一个的存储地址。在对程序编译连接时由编译系统给每一个变量名分配对应的内存地址。从变量中取值,实际上是通过变量名找到相应的内存地址,从该存储单元中读取地址例如,现在有一个地址为 爱坤省- 基尼市-泰美街道-233号,在这个地址上有一家名字叫"我家鸽鸽"的店铺,而该店铺里有很多可爱的小黄鸡玩偶。原创 2023-07-11 23:14:28 · 367 阅读 · 0 评论 -
【C语言】2-C语言程序构建过程以及C语言的程序结构
1. C语言项目2. 编译过程原创 2023-07-07 14:10:33 · 183 阅读 · 0 评论 -
【C语言】1-Visual C++ 2010 的简单使用和第一个 C 语言程序
1. Visual C++ 2010 的简单使用2. 第一个C语言程序原创 2023-07-05 23:01:43 · 907 阅读 · 0 评论 -
【C语言】0-开发环境搭建
集成开发环境(IDE,Integrated Development Environment )是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。所有具备这一特性的软件或者软件套(组)都可以叫集成开发环境。原创 2023-07-05 00:03:10 · 199 阅读 · 0 评论