- 博客(37)
- 收藏
- 关注
原创 数组的插入、选择、快速、归并、计数排序
最后,我们将计数数组中的元素按顺序输出到待排序数组中,从而得到排序后的数组。首先在序列中选择一个基准元素,然后将整个序列分成两部分,使得左边的序列元素都小于等于基准元素,右边的序列元素都大于基准元素。来记录左部分序列的末尾元素的下标,然后遍历序列中除了基准元素外的所有元素,将小于基准元素的元素交换到左部分序列的末尾。首先遍历整个数组,每次找到未排序的部分中最小的元素的下标,并将其与已排序的部分的末尾元素交换。变量中,将其前面的元素向右移动,直到找到一个位置,使得当前元素可以被插入到已排序的序列中。
2023-05-01 01:27:42
205
1
原创 数组的冒泡排序
冒泡排序是一种简单的排序算法,它的基本思想是通过比较相邻的元素,将较大的元素交换到后面,逐步将未排序部分的最大值交换到数组的末尾。循环遍历数组,每次比较相邻的元素并交换位置,从而逐步将最大值交换到数组的末尾。外层循环控制遍历的轮数,内层循环控制每一轮的比较次数。需要注意的是,冒泡排序的时间复杂度为 O(n^2),在处理大规模数据时效率较低。函数对数组进行排序。最后通过循环遍历数组并输出,以验证结果。函数用于对数组进行冒泡排序。该函数使用两个嵌套的。函数中,先定义了一个数组。在上述代码中,定义了一个。
2023-05-01 01:06:20
229
原创 数组的倒序排列
函数中修改了数组的元素,但由于数组名是数组首元素的指针,因此数组本身并没有改变,只是元素的顺序被修改了。分别指向数组的左右两端,通过交换它们指向的元素来实现倒序排列。最后通过循环遍历数组并输出,以验证结果。函数用于倒序排列数组。指向同一个位置时,循环结束。函数中,先定义了一个数组。在上述代码中,定义了一个。需要注意的是,虽然在。
2023-05-01 01:03:19
654
原创 求数组的最大值
要求一个数组的最大值,可以使用循环遍历数组,依次比较每个元素的大小,从而找到最大值。循环遍历数组的剩余元素,通过比较每个元素的大小来更新最大值。操作符可以避免手动输入数组长度的错误,同时也可以让代码更加通用。操作符计算出数组的长度,并定义了一个变量。用于保存最大值,初始化为数组的第一个元素。需要注意的是,在计算数组长度时,使用。在上述代码中,先定义了一个数组。就存储了数组中的最大值,通过。,并初始化了其元素。
2023-05-01 01:02:02
1737
原创 C语言的数组名
在 C 语言中,数组名是指代表数组的首元素的指针。因此,对数组名进行操作时,实际上是对数组的首元素进行操作。需要注意的是,虽然数组名可以看作是指针变量,但是数组名本身是常量,不能被赋值。修改了数组的第一个元素的值,从而实现了对数组的修改。的值,因此也指向了数组的首元素。可以获取数组的第一个元素的值。在上述代码中,指针变量。在上述代码中,通过指针。
2023-05-01 00:50:10
315
原创 C语言一维数组定义、初始化和使用
以上就是 C 语言中一维数组的定义、初始化和使用方法。需要注意的是,数组下标越界会导致程序崩溃或出现不可预知的错误,因此需要确保使用合法的下标来访问数组元素。在定义数组时可以给数组元素赋初值,也可以在定义后单独给数组元素赋值。访问数组元素需要使用数组下标,数组下标从 0 开始,最大值为数组长度减 1。2. 初始化一维数组。
2023-05-01 00:46:48
991
原创 数组的概述
一维数组是指只有一个维度的数组,它包含一组按顺序排列的相同类型的元素。可以通过下标来访问数组中的元素,数组下标从0开始,一直到数组长度减1。以上代码声明了一个包含2行3列的int类型二维数组,然后给数组中的每个元素赋值,并使用printf函数输出第一行第一列和第二行第三列的元素的值。以上代码声明了一个包含5个元素的int类型数组,然后给数组中的每个元素赋值,并使用printf函数输出第一个和第三个元素的值。多维数组是指包含多个维度的数组,它可以看作是一组按顺序排列的一维数组。
2023-05-01 00:36:56
58
原创 跳转语句break、continue、goto
需要注意的是,使用goto语句可能会导致程序的控制流程变得难以理解和维护,应该尽量避免使用。以上代码使用for循环输出0到9之间的整数,但在i等于5时使用goto语句跳转到标记语句“end”,输出“Loop ended.”。以上代码使用for循环输出0到9之间的整数,但在i等于5时使用continue语句跳过本次循环中的剩余语句,直接进入下一次循环。以上代码使用for循环输出0到9之间的整数,但在i等于5时使用break语句跳出循环。
2023-05-01 00:34:13
84
原创 if语句、switch语句、while语句、do-while语句和for循环语句,混合嵌套
如果是,则使用switch语句检查该数是否为偶数。如果是偶数,则使用while循环打印从1到该数之间的所有奇数;如果是奇数,则使用do-while循环打印从0到该数之间的所有偶数。接下来,使用for循环检查该数是否为质数,并打印相应的消息。如果输入的数小于或等于0,则程序将输出“Invalid input.”的消息。以下是一个简单的C语言程序示例,演示了if语句、switch语句、while语句、do-while语句和for循环语句的混合嵌套使用。
2023-05-01 00:26:37
548
原创 for循环语句嵌套
在上面的例子中,我们使用了两层嵌套的for循环语句,外层for循环用于控制等腰三角形的行数,内层for循环用于控制等腰三角形每行的空格数和星号数。在每一行中,第一个内层for循环用于输出该行前面的空格数,第二个内层for循环用于输出该行的星号数,然后通过printf函数的换行符\n来实现换行。在上面的例子中,我们使用了两层嵌套的for循环语句,外层for循环用于控制乘法表的行数,内层for循环用于控制乘法表的列数。在C语言中,for循环是一种常见的循环结构,可以通过嵌套使用来实现复杂的逻辑控制。
2023-05-01 00:16:49
506
原创 dowhile语句嵌套
在上面的例子中,我们使用了两层嵌套的dowhile语句,外层dowhile语句用于控制正方形的行数,内层dowhile语句用于控制正方形的列数。在每一行中,内层dowhile语句输出星号*,然后通过printf函数的换行符\n来实现换行。在C语言中,循环结构可以嵌套使用,即在循环体内部再使用循环语句。其中,dowhile语句是一种常见的循环结构,可以通过嵌套使用来实现复杂的逻辑控制。可以通过加入合适的判断条件来控制循环的执行次数,以保证程序的正确性和稳定性。
2023-04-30 11:37:45
644
原创 while语句嵌套
在上面的例子中,我们使用了两层嵌套的while语句,外层while语句用于控制乘法表的行数,内层while语句用于控制乘法表的列数。在每一行中,内层while语句输出该行的乘法表内容,然后通过printf函数的换行符\n来实现换行。最后,通过外层while语句控制输出的总行数。在C语言中,循环结构可以嵌套使用,即在循环体内部再使用循环语句。其中,while语句是一种常见的循环结构,可以通过嵌套使用来实现复杂的逻辑控制。可以通过加入合适的判断条件来控制循环的执行次数,以保证程序的正确性和稳定性。
2023-04-30 11:36:18
1496
原创 IF语句嵌套
外层if语句用于判断输入的整数是否小于等于1,如果是,则直接输出结果。如果输入的整数大于1,则执行内层if语句,用于判断该整数是否为质数。在判断过程中,我们使用了一个标志变量flag来记录是否存在该数的因子,如果存在,则说明该数不是质数,flag被赋值为1,同时跳出循环。在C语言中,if语句是一种常用的条件语句,用于根据某个条件来执行不同的代码块。if语句可以嵌套在其他if语句中,从而实现更复杂的条件判断。嵌套if语句可以实现更复杂的条件判断,但也需要注意避免嵌套过深,以免降低代码的可读性和可维护性。
2023-04-30 11:32:37
357
原创 for循环语句
在上面的例子中,我们使用for循环来计算1到10的和。在for循环的初始化语句中,我们将i的初始值设为1;在每次循环结束后,我们将i的值加1。在上面的代码中,initialization是初始化语句,condition是循环条件,increment/decrement是每次循环后更新计数器的语句,code block是要执行的代码块。在C语言中,for循环是一种常用的循环结构,它可以让程序按照指定的次数重复执行一段代码块。除了上面的基本用法,for循环还可以嵌套,用于实现更复杂的循环逻辑。
2023-04-30 11:29:40
102
原创 循环结构dowhile语句
在上面的例子中,我们使用do-while语句要求用户输入密码,如果输入的密码不正确,则继续要求用户输入,直到输入正确为止。在每次循环中,我们使用strcmp函数来比较输入的密码和正确的密码是否相同。在C语言中,do-while语句是一种循环结构,它可以让程序重复执行一段代码块,至少执行一次,然后检查给定的条件是否成立。在上面的代码中,code block是要执行的代码块,condition是一个逻辑表达式,如果它的值为真,则继续执行循环;
2023-04-30 11:24:44
293
原创 循环结构while语句
在上面的例子中,我们使用while语句来计算1到10的和。变量i用于迭代计算,变量sum用于累加结果。每次循环中,我们将i的值加到sum中,然后将i加1,直到i的值大于10为止。最后,我们输出sum的值,得到结果55。在上面的代码中,condition是一个逻辑表达式,如果它的值为真,则执行循环中的代码块。每次循环结束后,程序会再次检查condition的值,如果它仍为真,则继续执行循环中的代码块;在C语言中,while语句是一种循环结构,它可以让程序重复执行一段代码块,直到给定的条件不成立为止。
2023-04-30 11:21:50
76
原创 选择结构switch语句
在上面的代码中,expression是要进行判断的表达式,case后面的常量表示不同的情况,每个case语句后面都有一个代码块。如果expression的值等于某个常量,那么对应的代码块将被执行。如果expression的值与所有常量都不匹配,则执行default代码块(如果存在)。在C语言中,switch语句是一种选择结构,用于根据不同的情况执行不同的代码块。在上面的例子中,我们根据用户输入的数字来判断是星期几,并输出相应的信息。如果用户输入的数字不在1到7之间,则输出“Invalid input.”。
2023-04-30 11:18:33
73
原创 三目运算符
在上面的例子中,我们使用了三目运算符来比较num1和num2的大小,并将较大的数赋值给max变量。如果num1大于num2,则返回num1的值;否则返回num2的值。由于num2的值是20,所以在这个例子中,max的值将被赋为20。其中,expression是要进行判断的表达式,如果expression的值为真,则返回true_value;否则返回false_value。C语言中的三目运算符是一种简单的条件运算符,它可以用来替代简单的if-else语句。
2023-04-30 11:16:02
178
原创 选择结构IF语句
在这个程序中,用户输入一个整数值,程序使用IF语句来判断这个值是否为正数。如果是正数,则输出相应的信息;否则,不执行任何代码,直接输出"The program is done."的语句。选择结构IF语句是用来在程序中根据某个条件来执行不同的代码块。来指定需要执行的代码块,大括号内的语句将被视为整体。代码块,执行后面的代码。是要进行判断的条件,如果。
2023-04-30 00:24:21
54
原创 C语言类型转换
需要注意的是,在进行类型转换时,有可能会导致数据精度的损失,甚至会导致数据的截断。因此,在进行类型转换时,需要仔细考虑数据类型的选择和精度的损失问题。C语言中的类型转换可以将一个数据类型的值转换为另一个数据类型的值。
2023-04-30 00:15:57
48
原创 运算符优先级
注意的是,运算符的优先级不仅影响到计算顺序,还与表达式的结合性有关。例如,赋值运算符的优先级较低,但是具有右结合性,所以a = b = c会被解释为a = (b = c)。在编写表达式时,需要仔细考虑运算符的优先级和结合性,以确保表达式被正确计算。12. 赋值运算符 =、+=、-=、*=、/=、%=、=、&=、^= 和 |=2. 单目运算符 +、-、!、~、++、--、*(间接引用运算符)和 &(取地址运算符)6. 关系运算符 =7. 相等运算符 == 和!
2023-04-02 11:31:28
71
原创 比较运算符和逻辑运算符
这些比较运算符和逻辑运算符在C语言中广泛应用于控制程序的流程和判断条件,是程序设计中必须掌握的重要知识点。逻辑运算符用于将多个条件组合成一个更复杂的条件,以便控制程序的流程。比较运算符用于比较两个值之间的大小关系,结果为真或假。比较运算符和逻辑运算符都是用于控制程序的流程和判断条件的重要工具。
2023-04-02 11:14:32
375
原创 算数运算符和赋值运算符
例如,如果右侧的值是浮点型,但左侧的变量是整型,则在赋值时会进行隐式类型转换,导致精度损失。例如,乘法和除法运算符具有比加法和减法运算符更高的优先级,因此它们的运算会先于加法和减法运算执行。需要注意的是,在使用赋值运算符时,赋值运算符的优先级较低,因此需要注意运算的顺序。除了算数运算符,C语言还提供了赋值运算符,用于将右侧的值赋给左侧的变量。除法运算符(/):用于将两个数相除,但注意在整数运算时,两个整数相除得到的结果为整数。取余运算符(%):用于计算两个数相除的余数,但也只适用于整数运算。
2023-04-02 10:53:18
193
原创 格式化输入输出
其中,format是格式化字符串,可以包含多个格式控制符,用于指定输出的变量类型和格式。其中,str是目标字符数组,用于存储格式化后的字符串,format是格式化字符串,可以包含多个格式控制符,用于指定输出的变量类型和格式。其中,format是格式化字符串,可以包含多个格式控制符,用于指定读取的变量类型和格式。其中,str是源字符串,用于存储需要读取的数据,format是格式化字符串,可以包含多个格式控制符,用于指定读取的变量类型和格式。3. sprintf():用于将格式化的字符串写入到一个字符数组中。
2023-03-30 19:17:01
455
原创 C语言类型限定符
2. volatile:用于告知编译器,变量的值可能被程序以外的因素修改,从而防止编译器对变量进行优化。4. _Atomic:用于指定原子类型,即对该类型变量的访问具有原子性。3. restrict:用于告知编译器,某个指针是访问对象的唯一途径,从而让编译器进行一些针对性的优化。这些类型限定符可以用于改变变量的存储方式或者语义,从而增加程序的可读性、可维护性和可移植性。需要注意的是,类型限定符不是类型修饰符,类型限定符只是对变量进行特殊限定的关键字。类型限定符是用于指定变量的特殊限定的关键字。
2023-03-30 19:10:31
222
原创 补码意义和溢出
进行有符号整数的运算时,可能会出现溢出的情况。例如,对于一个有符号8位整数,其范围为-128到127,如果对127加1,则会发生溢出,结果变为-128。溢出时的行为是未定义的,即可能出现任意结果,也可能导致程序崩溃。因此,在进行有符号整数的运算时,需要注意溢出的情况,可以使用无符号整数或者更宽的数据类型来避免溢出。在上述示例中,将有符号8位整数a和b转换为无符号8位整数进行加法运算,避免了溢出。补码的表示方法是,正数的补码等于其二进制原码,负数的补码等于其二进制反码加1。
2023-03-30 18:59:53
2757
原创 二进制、八进制、十进制、十六进制
4. 十六进制(Hexadecimal):以16为基数,由0到9以及A到F(或a到f)组成。在C语言中,可以使用0x或0X前缀表示十六进制数。可以在不同进制之间进行转换,例如,可以使用sprintf()函数将一个整数转换为指定进制的字符串。同时,也可以使用sscanf()函数将一个指定进制的字符串转换为整数。3. 十进制(Decimal):以10为基数,由0到9组成。在C语言中,数字可以使用不同的进制表示,包括二进制、八进制、十进制和十六进制。2. 八进制(Octal):以8为基数,由0到7组成。
2023-03-30 18:46:47
196
原创 内存数值存储方式
大端序(Big Endian)是指将高位字节存储在内存的低地址处,而小端序(Little Endian)是指将低位字节存储在内存的低地址处。不同的数据类型使用不同的存储格式和长度,例如,整数通常使用二进制补码表示,浮点数使用IEEE 754标准表示,字符则使用ASCII码或Unicode编码表示。通常情况下,处理器的字节序与操作系统的字节序是一致的,因此大多数程序员无需关心字节序的问题。计算机中的内存是一个存储器件,用于存储程序和数据,它通常是由一组二进制存储单元(或称存储单元、内存单元)组成。
2023-03-30 18:13:33
387
原创 C语言浮点数
浮点数是一种基本数据类型,用于表示实数,即带有小数部分的数字。浮点数遵循IEEE 754标准,表示方法采用二进制科学计数法。浮点数由三部分组成:符号位、指数部分和尾数部分。其中,指数部分和尾数部分均采用二进制表示。进行浮点数运算时,C语言中的浮点数有一定的精度限制。由于二进制浮点数不能准确地表示所有的十进制分数,因此在进行浮点数运算时,可能会出现舍入误差。为了处理这种误差,C语言提供了一些库函数,如fabs()、sqrt()、sin()、cos()、exp()和log()等,用于执行各种数学计算。
2023-03-30 18:08:26
625
原创 ASCII码和转义字符
ASCII码是一种标准的字符编码方案,将字符映射为7位二进制数(0-127),用于表示英文字母、数字、标点符号等常见字符。在ASCII码中,每个字符都有唯一的数字编码,可以使用整数类型来存储和处理。例如,字符'A'的ASCII码值为65,字符'a'的ASCII码值为97。可以使用字符常量或字符变量来表示字符的ASCII码值。除了ASCII码,C语言还提供了一些转义字符,用于表示一些特殊的字符和控制字符。转义字符以反斜杠(\)开头,后跟一个或多个字符。
2023-03-30 18:04:46
753
原创 字符定义和输入输出
除了scanf()和printf()函数,还有其他一些标准库函数可以用于字符的输入输出,例如getchar()和putchar()函数。2.printf()函数:用于将字符输出到标准输出。要输出字符,请使用"%c"格式说明符。字符被定义为一个8位整数类型。字符变量可以用char关键字进行声明,并使用单引号来表示字符。可以使用标准输入输出库函数来读取和输出字符数据。
2023-03-30 18:01:49
511
原创 整形分类&有符号数、无符号数区别
long long类型:用于存储更大的整数,大小为8字节(64位),可以存储-9,223,372,036,854,775,808到9,223,372,036,854,775,807(有符号)或0到18,446,744,073,709,551,615(无符号)之间的整数。long类型:用于存储较大的整数,大小为4字节(32位)或8字节(64位),可以存储-2,147,483,648到2,147,483,647(有符号)或0到4,294,967,295(无符号)之间的整数。
2023-03-30 15:39:38
2308
原创 C语言变量类型
派生数据类型(Derived Types):包括指针类型、数组类型、结构体类型、共用体类型等类型,这些类型可以由基本数据类型组合而成,或者是基于其他派生数据类型定义的。结构体类型(Structure Types):可以组合不同类型的数据,结构体类型的变量可以用于存储结构体成员。共用体类型(Union Types):可以共享同一块内存空间,共用体类型的变量可以用于存储不同类型的数据。数组类型(Array Types):可以存储一组同类型的数据,数组类型的变量可以用于存储数组元素。
2023-03-30 15:24:30
2302
原创 C语言的常量和变量
字面量是指在程序中直接出现的固定值,例如整数常量(如123),实数常量(如3.14),字符常量(如'a'),字符串常量(如"hello world")等。常量可以是字面量(literal),也可以是定义的符号常量(symbolic constant)。使用#define定义常量可以使程序更加易于阅读和维护,也可以提高程序的执行效率,因为编译器可以对常量进行优化。使用变量可以使程序更加灵活和可扩展,因为变量可以在程序运行过程中动态地改变值。其中,数据类型是指变量可以存储的数据类型,变量名是给变量起的名字。
2023-03-29 18:49:39
84
原创 读懂一个Hello.c文件
这个程序会在终端上输出“Hello, world!这是一个非常基础的C程序,也是学习C语言的经典入门示例。打开文本编辑器,例如Notepad、Sublime Text或Visual Studio Code等。这将编译hello.c文件,并将可执行文件保存为名为hello的文件。输入:./hello,在终端上输出“Hello, world!将文件保存为hello.c,并确保文件类型为“C源文件”。输入命令进行编译:gcc -o hello hello.c。打开命令行终端,进入保存hello.c文件的目录。
2023-03-29 18:28:51
308
2
原创 C语言介绍
C语言是一种高效的、结构化的编程语言,被广泛应用于操作系统、嵌入式系统、游戏开发、编译器和应用程序的开发等领域。总的来说,学习C语言是一项非常有价值的事情,不仅可以为你的职业发展带来帮助,还能够帮助你理解计算机系统的底层运作,提高编程能力和思维能力。C语言是许多其他编程语言的基础,包括C++、Java和Python等,掌握C语言可以为学习其他编程语言打下坚实的基础。C语言具有高效、快速的执行速度和较低的系统开销,因此非常适合开发需要高性能的软件,如嵌入式系统和游戏等。
2023-03-29 17:53:30
169
1
空空如也
Ubuntu安装失败,提示找不到系统分区
2023-03-29
TA创建的收藏夹 TA关注的收藏夹
TA关注的人