- 博客(12)
- 收藏
- 关注
原创 整数和浮点数在内存中的存储
本文探讨了整数和浮点数在内存中的存储方式差异。通过一个代码示例引出问题:当整数9被强制转换为浮点数指针时,输出结果与预期不符。文章详细解析了整数的补码存储方式、大小端字节序,重点介绍了IEEE754浮点数标准(SEM三部分存储)。分析指出:整数9以全0指数位存储,转换为浮点数后成为极小值0.000000;而浮点数9.0的二进制表示(01000001000100...)若按整数解析则得到1091567616。这种存储方式的差异解释了程序运行结果的异常现象。
2025-10-25 20:12:52
537
原创 strlen函数的应用和三种模拟实现
本文介绍了C语言中strlen函数的功能及三种模拟实现方法。strlen函数用于计算字符串长度(不包括'\0'),返回无符号整型size_t。三种模拟实现方法分别是:1)计数器法,通过循环计数;2)指针相减法,利用指针差值计算长度;3)递归法,不创建临时变量,通过递归调用实现。每种方法都给出了具体代码示例,并强调了指针非空检查的重要性。文章最后总结了strlen函数的使用要点,为读者提供了实用的编程参考。
2025-10-17 18:34:58
740
1
原创 字符分类函数和字符转换函数
本文介绍了C语言中的字符分类函数和字符转换函数的使用方法。字符分类函数如islower()、isupper()等用于判断字符类型,需要包含ctype.h头文件。这些函数通过返回非零值表示条件成立。文章以islower()为例演示了小写字母判断,并展示了将字符串中小写转大写的实现方法。同时介绍了字符转换函数tolower()和toupper(),它们可以直接完成大小写转换,比手动ASCII码运算更简便。这些库函数能大大简化字符操作,提高编码效率。
2025-10-17 09:30:00
291
原创 C语言--指针详解(1)
本文系统介绍了C语言中指针的概念与应用。主要内容包括:1.内存与指针基础:解释内存单元、地址和指针的关系,以及常见数据单位的换算;2.指针变量与操作:详细讲解取地址(&)、解引用(*)操作符,指针变量的定义和使用;3.指针运算:包括指针加减整数、指针相减和关系运算;4.const修饰指针:分析const在指针声明中不同位置的含义;5.野指针问题:成因分析和避免方法;6.assert断言的使用;7.指针应用:通过strlen模拟实现和交换函数示例,对比传值调用与传址调用的区别。文章通过大量代码示例,深
2025-10-15 22:04:27
609
原创 c语言--冒泡排序
本文详细介绍了冒泡排序算法的实现及优化。冒泡排序通过相邻元素比较和交换实现升序排序。文章分步骤讲解了代码实现:主函数定义数组、输入函数获取数据、排序函数实现两两比较交换、输出函数打印结果。重点介绍了排序优化方法,通过flag标志判断是否已有序来减少不必要的比较次数,提高算法效率。最后给出了完整的优化后代码,展示了如何通过计数变量验证优化效果。该文为初学者提供了清晰的冒泡排序实现思路及其性能优化方案。
2025-09-26 13:31:27
1637
原创 c语言--操作符
有符号整数表示为符号位和数值位两部分,2进制序列中,最高位的1位为符号位,其余为数值位。符号位用0为正,1为负。原码:直接将数值按照正负数的形式翻译成二进制得到的就是原码。反码:将原码的符号位不变,其余位依次按位取反就可以得到反码。补码:反码+1就是补码。正数的原反补码是相同的。补码得到原码也可以使用:取反+1的操作。
2025-09-21 21:02:52
757
原创 C语言——数组
数组是一组元素的;数组中存放的是1个或者多个数据,不能是0个,这些数据必须是相同的类型。数组分为一维数组或者多维数组(二维以上)。
2025-07-18 22:33:50
2556
原创 C语言——分支和循环
if语句语法形式如下。表达式成立(为真,即为1),则语句1执行;表达式不成立(为假,即为0),则语句2执行。 举一个例子:输入一个整数,判断是否为奇数,如果是奇数就打印奇数,否则打印偶数。 if语句的嵌套:在if else语句中,else可以和另外一个if语句连用,构成多重判断。比如:要求输入一个整数,判断输入的整数是0,还是正数或者负数。2、关系操作符 关系运算符主要有6个,分别为: 关系表达式通常返回0或1,表示真假。比如1>2为假
2025-07-07 18:24:57
1601
原创 c语言数据类型和数据类型取值范围
c语言种,我们有内置类型和自定义类型,本文着重内置类型。即:整型类型(整数)、字符类型(字符)、浮点型类型(小数)、布尔类型。
2025-07-06 19:51:47
792
1
原创 常用的转义字符
制表符,光标移到下⼀个⽔平制表位,通常是下⼀个4/8的倍数。垂直分隔符,光标移到下⼀个垂直制表位,通常是下⼀⾏的同⼀列。警报,这会使得终端发出警报声或出现闪烁,或者两者同时发⽣。⽤于表⽰⼀个反斜杠,防⽌它被解释为⼀个转义序列符。表⽰1~3个⼋进制的数字。如:\130表⽰字符X。dd表⽰2个⼗六进制数字。如:\x30表⽰字符0。退格键,光标回退⼀个字符,但不删除字符。⽤于表⽰⼀个字符串内部的双引号。回⻋符,光标移到同⼀⾏的开头。
2025-07-05 18:24:05
191
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅