自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(719)
  • 资源 (10)
  • 收藏
  • 关注

原创 C 语言实例 - 两个浮点数相乘

以上实例中,我们首先声明了三个变量 num1、num2 和 product,分别用于存储输入的两个浮点数和它们的乘积。然后,我们使用 printf 和 scanf 函数与用户进行交互,分别接收用户输入的两个浮点数。接下来,我们将 num1 和 num2 相乘的结果赋值给 product 变量。注意,%.2f 格式说明符用于限定输出的浮点数为两位小数。最后,我们使用 printf 函数将计算结果打印输出。输入两个浮点数,计算乘积。

2024-04-23 19:20:06 86

原创 C 语言实例 - 两个整数相加

使用 scanf() 来接收输入, printf() 与 %d 格式化输出整数。

2024-04-22 15:50:14 146

原创 C 语言实例 - 输出双精度(double)数

【代码】C 语言实例 - 输出双精度(double)数。

2024-04-22 15:48:23 161

原创 C 语言实例 - 输出浮点数

【代码】C 语言实例 - 输出浮点数。

2024-04-19 09:33:36 223

原创 C 语言实例 - 输出单个字符

格式化输出一个字符。

2024-04-19 09:32:10 194

原创 C 语言实例 - 输出整数

【代码】C 语言实例 - 输出整数。

2024-04-18 11:04:56 169

原创 C 语言实例 - 输出 “Hello, World!“

使用 printf() 输出 “Hello, World!

2024-04-18 11:03:42 263

原创 C 排序算法

冒泡排序(英语:Bubble Sort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序(如从大到小、首字母从A到Z)错误就把他们交换过来。

2024-04-17 19:58:38 1135

原创 C 命令行参数

多个命令行参数之间用空格分隔,但是如果参数本身带有空格,那么传递参数的时候应把参数放置在双引号 “” 或单引号 ‘’ 内部。让我们重新编写上面的实例,有一个空间,那么你可以通过这样的观点,把它们放在双引号或单引号"“”"。是一个指向第一个命令行参数的指针,*argv[n] 是最后一个参数。如果没有提供任何参数,argc 将为 1,否则,如果传递了一个参数,是一个指针数组,指向传递给程序的每个参数。,它们对程序很重要,特别是当您想从外部控制程序,而不是在代码内对这些值进行硬编码时,就显得尤为重要了。

2024-04-17 19:48:16 347 1

原创 C 内存管理

C 语言为内存的分配和管理提供了几个函数。这些函数可以在 头文件中找到。在 C 语言中,内存是通过指针变量来管理的。指针是一个变量,它存储了一个内存地址,这个内存地址可以指向任何数据类型的变量,包括整数、浮点数、字符和数组等。C 语言提供了一些函数和运算符,使得程序员可以对内存进行操作,包括分配、释放、移动和复制等。在内存中动态地分配 num 个长度为 size 的连续空间,并将每一个字节都初始化为 0。所以它的结果是分配了 num注意:void * 类型表示未确定类型的指针。

2024-04-16 19:19:25 815

原创 C 可变参数

,省略号之前的那个参数是 int,代表了要传递的可变参数的总数。ap 是一个 va_list 类型的变量,last_arg 是最后一个固定参数的名称(也就是可变参数列表之前的参数)。ap 是一个 va_list 类型的变量,type 是下一个参数的类型。C 语言为这种情况提供了一个解决方案,它允许您定义一个函数,能根据具体的需求接受可变数量的参数。被调用两次,每次第一个参数都是表示被传的可变参数的总数。有时,您可能会碰到这样的情况,您希望函数带有可变数量的参数,而不是预定义数量的参数。

2024-04-16 19:15:33 452

原创 C语言 递归

递归指的是在函数的定义中使用函数自身的方法。举个例子:从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?“从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?‘从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?……’”流程图:C 语言支持递归,即一个函数可以调用其自身。但在使用递归时,程序员需要注意定义一个从函数退出的条件,否则会进入死循环。

2024-04-12 09:04:16 462

原创 C 错误处理

C 语言不提供对错误处理的直接支持,但是作为一种系统编程语言,它以返回值的形式允许您访问底层数据。在发生错误时,大多数的 C 或 UNIX 函数调用返回 1 或 NULL,同时会设置一个错误代码 errno,该错误代码是全局变量,表示在函数调用期间发生了错误。您可以在 errno.h 头文件中找到各种各样的错误代码。所以,C 程序员可以通过检查返回值,然后根据返回值决定采取哪种适当的动作。开发人员应该在程序初始化时,把 errno 设置为 0,这是一种良好的编程习惯。0 值表示程序中没有错误。

2024-04-12 09:01:19 576

原创 C 强制类型转换

强制类型转换是把变量从一种类型转换为另一种数据类型。例如,如果您想存储一个 long 类型的值到一个简单的整型中,您需要把 long 类型强制转换为 int 类型。这里要注意的是强制类型转换运算符的优先级大于除法,因此 sum 的值首先被转换为 double 型,然后除以 count,得到一个类型为 double 的值。类型转换可以是隐式的,由编译器自动执行,也可以是显式的,通过使用强制类型转换运算符来指定。在编程时,有需要类型转换的时候都用上强制类型转换运算符,是一种良好的编程习惯。

2024-04-11 13:57:16 581

原创 C 头文件

头文件是扩展名为的文件,包含了 C 函数声明和宏定义,被多个源文件中引用共享。有两种类型的头文件:程序员编写的头文件和编译器自带的头文件。在程序中要使用头文件,需要使用 C 预处理指令来引用它。前面我们已经看过头文件,它是编译器自带的头文件。引用头文件相当于复制头文件的内容,但是我们不会直接在源文件中复制头文件的内容,因为这么做很容易出错,特别在程序是由多个源文件组成的时候。

2024-04-11 13:47:59 508

原创 C 预处理器

ANSI C 定义了许多宏。在编程中您可以使用这些宏,但是不能直接修改这些预定义的宏。宏描述__DATE__当前日期,一个以 “MMM DD YYYY” 格式表示的字符常量。__TIME__当前时间,一个以 “HH:MM:SS” 格式表示的字符常量。__FILE__这会包含当前文件名,一个字符串常量。__LINE__这会包含当前行号,一个十进制常量。__STDC__当编译器以 ANSI 标准编译时,则定义为 1。

2024-04-10 16:50:07 1058

原创 C 文件读写

一个文件,无论它是文本文件还是二进制文件,都是代表了一系列的字节。C 语言不仅提供了访问顶层的函数,也提供了底层(OS)调用来处理存储设备上的文件。本章将讲解文件管理的重要调用。

2024-04-10 16:44:50 900

原创 C 输入 & 输出

当我们提到时,这意味着要向程序填充一些数据。输入可以是以文件的形式或从命令行中进行。C 语言提供了一系列内置的函数来读取给定的输入,并根据需要填充到程序中。当我们提到时,这意味着要在屏幕上、打印机上或任意文件中显示一些数据。C 语言提供了一系列内置的函数来输出数据到计算机屏幕上和保存数据到文本文件或二进制文件中。

2024-04-09 09:39:35 744

原创 C语言 typedef

C 语言提供了关键字,您可以使用它来为类型取一个新的名字。下面的实例为单字节数字定义了一个术语您也可以使用来为用户自定义的数据类型取一个新的名字。

2024-04-09 09:29:34 537 1

原创 C语言 位域

struct 位域结构名 {位域列表 };元素描述type只能为 int(整型),unsigned int(无符号整型),signed int(有符号整型) 三种类型,决定了如何解释位域的值。位域的名称。width位域中位的数量。宽度必须小于或等于指定类型的位宽度。带有预定义宽度的变量被称为位域。上面的结构定义指示 C 编译器,age 变量将只使用 3 位来存储这个值,如果您试图使用超过 3 位,则无法完成。

2024-04-08 11:54:43 1882

原创 C 共用体

为了定义共用体,您必须使用union语句,方式与定义结构类似。union 语句定义了一个新的数据类型,带有多个成员。...union tag是可选的,每个 member definition 是标准的变量定义,比如 int i;或者 float f;或者其他有效的变量定义。在共用体定义的末尾,最后一个分号之前,您可以指定一个或多个共用体变量,这是可选的。float f;} data;现在,Data 类型的变量可以存储一个整数、一个浮点数,或者一个字符串。

2024-04-08 11:48:54 507

原创 C 结构体

结构体定义由关键字struct和结构体名组成,结构体名可以根据需要自行定义。...tag是结构体标签。是标准的变量定义,比如 int i;或者 float f;,或者其他有效的变量定义。结构变量,定义在结构的末尾,最后一个分号之前,您可以指定一个或多个结构变量。} book;在一般情况下,这 3 部分至少要出现 2 个。//此声明声明了拥有3个成员的结构体,分别为整型的a,字符型的b和双精度的c//同时又声明了结构体变量s1//这个结构体并没有标明其标签structint a;

2024-04-03 15:24:10 896

原创 C 字符串

空字符(Null character)又称结束符,缩写 NUL,是一个数值为 0 的控制字符,\0 是转义字符,意思是告诉编译器,这不是字符 0,而是空字符。由于在数组的末尾存储了空字符 \0,所以字符数组的大小比单词 RUNOOB 的字符数多一个。字符放在字符串常量的末尾。C 编译器会在初始化数组时,自动把 \0 放在字符串的末尾。在 C 语言中,字符串实际上是使用空字符 \0 结尾的一维字符数组。因此,\0 是用于标记字符串的结束。您可以在 C 标准库中找到更多字符串相关的函数。

2024-04-03 15:12:47 506

原创 C 函数指针与回调函数

函数指针是指向函数的指针变量。通常我们说的指针变量是指向一个整型、字符型或数组等变量,而函数指针是指向函数。函数指针可以像一般函数一样,用于调用函数、传递参数。

2024-04-02 10:23:43 498

原创 C 从函数返回指针

我们已经了解了 C 语言中如何从函数返回数组,类似地,C 允许您从函数返回指针。另外,C 语言不支持在调用函数时返回局部变量的地址,除非定义局部变量为 static 变量。

2024-04-02 10:20:28 538

原创 C 传递指针给函数

C 语言允许您传递指针给函数,只需要简单地声明函数参数为指针类型即可。

2024-03-27 09:25:33 461

原创 C 指向指针的指针

指向指针的指针是一种多级间接寻址的形式,或者说是一个指针链。通常,一个指针包含一个变量的地址。当我们定义一个指向指针的指针时,第一个指针包含了第二个指针的地址,第二个指针指向包含实际值的位置。一个指向指针的指针变量必须如下声明,即在变量名前放置两个星号。

2024-03-27 09:15:32 306

原创 C 指针数组

再看一个简单实例,我们首先声明了一个包含三个整数指针的指针数组 ptrArray,然后,我们将这些指针分别指向不同的整数变量 num1、num2 和 num3,最后,我们使用指针数组访问这些整数变量的值。因此,ptr 中的每个元素,都是一个指向 int 值的指针。指针数组在C中非常有用,特别是在处理具有不定数量元素的数据结构时,如动态分配的字符串数组或动态创建的结构体数组。C 指针数组是一个数组,其中的每个元素都是指向某种数据类型的指针。指针数组存储了一组指针,每个指针可以指向不同的数据对象。

2024-03-26 09:23:03 426

原创 C 指针的算术运算

C 指针是一个用数值表示的地址。因此,您可以对指针执行算术运算。可以对指针进行四种算术运算:++、–、+、-。ptr ++在执行完上述的运算之后,ptr 将指向位置 1004,因为 ptr 每增加一次,它都将指向下一个整数位置,即当前位置往后移 4 字节。这个运算会在不影响内存位置中实际值的情况下,移动指针到下一个内存位置。如果 ptr 指向一个地址为 1000 的字符,上面的运算会导致指针指向位置 1001,因为下一个字符位置是在 1001。

2024-03-26 09:19:59 576

原创 C语言 指针

指针也就是内存地址,指针变量是用来存放内存地址的变量。就像其他变量或常量一样,您必须在使用指针存储其他变量地址之前,对其进行声明。在这里,type是指针的基类型,它必须是一个有效的 C 数据类型,var_name是指针变量的名称。用来声明指针的星号 * 与乘法中使用的星号是相同的。但是,在这个语句中,星号是用来指定一个变量是指针。int *ip;/* 一个整型的指针 */double *dp;/* 一个 double 型的指针 */float *fp;/* 一个浮点型的指针 */char *ch;

2024-03-25 09:16:46 1165

原创 C enum(枚举)

前面我们只是声明了枚举类型,接下来我们看看如何定义枚举变量。我们可以通过以下三种方式来定义枚举变量1、先定义枚举类型,再定义枚举变量enum DAY2、定义枚举类型的同时定义枚举变量enum DAY} day;3、省略枚举名称,直接定义枚举变量enum} day;return 0;3在C 语言中,枚举类型是被当做 int 或者 unsigned int 类型来处理的,所以按照 C 语言规范是没有办法遍历枚举类型的。

2024-03-25 09:03:30 512

原创 C 语言静态数组与动态数组

静态数组的生命周期与作用域相关,而动态数组的生命周期由程序员控制。在使用动态数组时,需要注意合理地分配和释放内存,以避免内存泄漏和访问无效内存的问题。

2024-03-23 10:33:59 502

原创 C 指向数组的指针

在上面的实例中,p 是一个指向 double 型的指针,这意味着它可以存储一个 double 类型的变量。一旦我们有了 p 中的地址,*p 将给出存储在 p 中相应地址的值,正如上面实例中所演示的。因此,*(balance + 4) 是一种访问 balance[4] 数据的合法方式。是一个指向 &balance[0] 的指针,即数组 balance 的第一个元素的地址。组名本身是一个常量指针,意味着它的值是不能被改变的,一旦确定,就不能再指向其他地方。一旦您把第一个元素的地址存储在 p 中,您就可以使用。

2024-03-23 10:30:17 279

原创 C 从函数返回数组

C 语言不允许返回一个完整的数组作为函数的参数。但是,您可以通过指定不带索引的数组名来返回一个指向数组的指针。另外,C 不支持在函数外返回局部变量的地址,除非定义局部变量为。

2024-03-22 10:53:36 257

原创 C 传递数组给函数

如果您想要在函数中传递一个一维数组作为参数,您必须以下面三种方式来声明函数形式参数,这三种声明方式的结果是一样的,因为每种方式都会告诉编译器将要接收一个整型指针。同样地,您也可以传递一个多维数组作为形式参数。

2024-03-22 10:51:52 602

原创 C 多维数组

C 语言支持多维数组。

2024-03-20 17:43:23 397

原创 C语言 数组

C 语言支持数组数据结构,它可以存储一个固定大小的相同类型元素的顺序集合。数组是用来存储一系列数据,但它往往被认为是一系列相同类型的变量。数组的声明并不是声明一个个单独的变量,比如 runoob0、runoob1、…、runoob99,而是声明一个数组变量,比如 runoob,然后使用 runoob[0]、runoob[1]、…、runoob[99] 来代表一个个单独的变量。所有的数组都是由连续的内存位置组成。最低的地址对应第一个元素,最高的地址对应最后一个元素。

2024-03-20 17:38:52 1918

原创 C 作用域规则

任何一种编程中,作用域是程序中定义的变量所存在的区域,超过该区域变量就不能被访问。让我们来看看什么是变量、变量和参数。

2024-03-19 09:38:04 603

原创 C 引用方式调用函数

上面的实例表明了,与传值调用不同,引用调用在函数内改变了 a 和 b 的值,实际上也改变了函数外 a 和 b 的值。通过引用传递方式,形参为指向实参地址的指针,当对形参的指向操作时,就相当于对实参本身进行的操作。传递指针可以让多个函数访问指针所引用的对象,而不用把对象声明为全局可访问。现在,让我们通过引用传值来调用函数。

2024-03-19 09:03:36 220

原创 C 传值方式调用函数

默认情况下,C 语言使用传值调用方法来传递参数。一般来说,这意味着函数内的代码不会改变用于调用函数的实际参数。上面的实例表明了,虽然在函数内改变了 a 和 b 的值,但是实际上 a 和 b 的值没有发生变化。方法,把参数的实际值复制给函数的形式参数。在这种情况下,修改函数内的形式参数不会影响实际参数。

2024-03-18 10:34:16 216

选项菜单(xml).mp4

选项菜单(xml).mp4

2021-10-20

选项菜单(java).mp4

选项菜单(java).mp4

2021-10-20

上下文菜单(xml).mp4

上下文菜单(xml).mp4

2021-10-20

上下文菜单(java).mp4

上下文菜单(java).mp4

2021-10-20

Linux web服务器的TLS 协议搭建.pdf

Linux web服务器的TLS 协议搭建

2021-07-07

Linux软件安装rpm包的管理.pdf

Linux软件安装rpm包的管理

2021-07-06

Linux进程管理和网络管理.pdf

Linux进程管理和网络管理

2021-07-04

03CSS自学资源.pdf

03CSS自学资源

2021-07-03

2Linux帮助查询和进程管理.pdf

Linux帮助查询和进程管理

2021-06-29

1Linux介绍与基本命令.pdf

Linux介绍与基本命令

2021-06-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除