自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 结构体练习

本文展示了5个C语言编程示例:1)演示自增运算符的运算顺序和变量值变化;2)计算整数二进制中1的个数;3)统计两个整数二进制位不同的个数;4)分离并打印整数的奇偶位二进制序列;5)根据年份和月份计算当月天数,考虑闰年情况。这些示例涵盖了C语言中的位运算、流程控制、函数调用等基础编程技巧,可用于理解变量操作、二进制处理和日期计算等常见编程问题。

2025-12-30 22:27:07 358

原创 结构体(下)

本文对比了结构体的两种传参方式:值传递和指针传递。示例代码展示了通过print1函数传递整个结构体对象和通过print2函数传递结构体指针的不同方法。分析指出,当结构体较大时,值传递会导致参数压栈的系统开销增加,影响性能。因此,建议在结构体传参时优先选择传递结构体地址的方式(指针传递),以提高程序执行效率。这种传参方式能有效减少内存开销,提升程序性能。

2025-12-30 22:24:25 141

原创 ##结构体

本文介绍了C语言中结构体的基础知识与应用。结构体是一种可以包含不同类型成员的复合数据类型,通过struct关键字定义。文章详细说明了结构体的声明方式、成员类型(标量、数组、指针或其他结构体),以及结构体变量的定义和初始化方法。示例代码展示了包含个人信息(姓名、电话、性别、身高)的结构体定义,并演示了嵌套结构体、结构体变量和指针的访问方式(使用.和->运算符)。通过具体案例,文章完整呈现了结构体的声明、创建、初始化和访问过程,为理解和使用C语言结构体提供了实用参考。

2025-12-25 19:30:03 272

原创 指针与数组续

本文介绍了C语言中指针与数组的关系以及二级指针的应用。主要内容包括:1)数组名表示数组首元素地址,可以通过指针变量访问数组元素;2)二级指针用于指向指针变量,通过**操作符可以修改原始变量的值;3)指针数组可以存储多个指针,便于处理多个数组。示例代码演示了如何使用指针遍历数组、通过二级指针修改变量值以及利用指针数组处理二维数组数据。这些概念是C语言指针操作的基础,对理解内存管理和数据结构实现具有重要意义。

2025-12-25 19:18:40 252

原创 指针和数组

/指针变量:是一个变量,存放的是地址。//arr 是首元素的地址。//数组:一组相同类型元素的集合。//通过指针来访问数组。

2025-12-24 21:15:40 138

原创 ##野指针

本文主要探讨野指针的概念、成因及防范措施。野指针是指指向未知内存位置的指针,主要成因包括指针未初始化、越界访问和指向已释放空间。防范措施强调初始化指针、避免越界、及时置空指针和检查有效性。此外,文章介绍了指针运算的三种形式:指针与整数运算、指针间减法(用于计算元素间距)以及指针关系运算(用于数组遍历)。通过实例代码展示了这些概念的具体应用,并指出指针运算的规范限制。

2025-12-24 21:13:17 698

原创 操作符练习&指针

本文摘要: 编程练习题:包含四个题目:(1)字母大小写转换;(2)判断字符是否为字母;(3)求三个分数的最高分;(4)找出所有五位数的变种水仙花数(Lily Number),这些题目展示了基础编程技巧和逻辑实现。 指针概念解析:详细介绍了指针的本质(内存地址)、指针变量(存储地址的变量)以及指针在不同平台(32位/64位)下的内存占用情况(4字节/8字节)。 指针类型详解:通过代码示例说明了指针类型如何决定解引用时访问的字节数和指针运算的步长,并比较了不同类型指针(int*, char*等)的特性差异。 技

2025-12-22 21:18:20 880

原创 续操作符详解

本文摘要:主要介绍了C语言中的各类操作符及其应用。内容包括按位取反(~)操作符、自增(++)操作符、指针操作、sizeof操作符、关系操作符、逻辑操作符、条件(三目)操作符、逗号表达式以及下标引用、函数调用和结构成员访问操作符。通过代码示例演示了各种操作符的使用方法和运行结果,如按位取反运算、前置/后置自增的区别、指针解引用、逻辑运算的短路特性等。特别强调了sizeof是操作符而非函数,以及关系运算符与字符串比较的区别。这些操作符是C语言编程的基础,理解其特性对编写正确高效的代码至关重要。

2025-12-18 22:04:19 1021

原创 #扫雷游戏

本文介绍了一个基于C语言实现的扫雷游戏程序。程序采用9x9的游戏区域,包含10个随机分布的雷。主要功能包括:初始化游戏棋盘、随机布置雷区、显示棋盘、统计周围雷数以及游戏主逻辑。玩家通过输入坐标排查雷区,踩雷则游戏结束,成功排查所有非雷区域则获胜。程序使用二维数组存储雷区信息,并提供了简单的菜单界面。通过模块化设计,将游戏功能分解为多个函数,实现了完整的扫雷游戏流程。

2025-12-17 22:08:45 329

原创 操作符详解

本文介绍了C语言中的基本操作符及其使用。算术操作符(+,-,*,/,%)中,/操作符会根据操作数类型执行整数或浮点除法,%要求整数操作数。移位操作符(<<,>>)操作二进制位,左移补0,右移补符号位或0。位操作符(&,|,^)进行按位运算,并演示了使用异或交换变量的方法。赋值操作符(=)可连续使用,复合赋值符(+=等)简化表达式。单目操作符包括逻辑反(!)、取地址(&)、sizeof等。文中通过代码示例展示了各种操作符的实际应用和运算结果。

2025-12-17 22:04:37 1328

原创 数组(练习)

本文通过6个练习讲解了C语言数组的基本操作:1) sizeof计算数组大小,2) 字符数组初始化差异(带\0和不带\0),3) 数组元素交换实现,4) 数组初始化、打印和逆置函数实现。重点区分了sizeof和strlen的区别,演示了数组操作的常见方法,包括使用双指针进行数组逆置。练习5和6完整展示了数组交换和功能封装的实现过程,输出结果验证了代码正确性。

2025-12-16 22:14:36 771

原创 练习(应用)

本文包含三个编程问题:1)计算数字a的重复叠加和,如2+22+222等,项数由用户控制;2)寻找1000以内的完数(如6=1+2+3);3)模拟小球从100米自由落体,计算第10次落地时的总路程和第10次反弹高度。这些问题涉及循环控制、数学计算和物理模拟等编程基础。

2025-12-15 17:29:15 389

原创 练习(递归)

本文展示了四个递归编程练习:1)Fun(2)递归调用返回16;2)字符串逆序递归实现,通过交换首尾字符并递归处理子串;3)DigitSum函数递归计算数字各位之和;4)Pow函数递归实现n的k次方,处理正负指数。每个练习都包含递归终止条件和递归调用,演示了递归在编程中的典型应用。

2025-12-12 12:52:37 1096

原创 ##三子棋

该程序实现了一个简单的3x3井字棋游戏,包含玩家与电脑的对战功能。主要功能包括:初始化棋盘、打印棋盘、玩家落子(X)、电脑随机落子(O)、胜负判断(检查行、列、对角线)以及平局判断。游戏通过循环交替玩家和电脑落子,直到分出胜负或棋盘填满。玩家输入1-3的坐标,电脑随机选择空位落子。程序结构清晰,包含初始化、显示、落子和判断胜负等模块,适合初学者学习二维数组和基本游戏逻辑的实现。

2025-12-11 17:53:11 271

原创 数组(二维数组和数组越界)

本文介绍了C语言中二维数组的相关概念和用法。主要内容包括:1.二维数组的创建和初始化方法,行列的声明规则;2.二维数组的使用方式,通过双重循环遍历数组元素;3.二维数组在内存中的连续存储特性;4.数组越界访问的风险和注意事项;5.数组作为函数参数传递时的两种形式(数组形式和指针形式);6.数组名的本质及其特殊用法(sizeof和&操作符);7.二维数组名的特殊含义及其与一维数组的区别。文中通过多个代码示例展示了二维数组的声明、初始化、访问和传参等基本操作。

2025-12-09 21:41:50 615

原创 for循环和函数练习 数组

本文介绍了C语言中for循环和函数的使用练习。主要内容包括:1) 使用for循环求10个整数的最大值;2) 打印9×9乘法表;3) 通过函数实现可定制行列数的乘法表打印功能;4) 数组的基础知识,包括创建、初始化、使用和内存存储方式。文章通过具体代码示例演示了数组下标访问、遍历、地址计算等操作,并强调了函数设计应遵循"高内聚低耦合"的原则。这些练习涵盖了C语言中循环结构、函数调用和数组操作等核心编程概念。

2025-12-05 19:09:47 309

原创 递归与迭代练习

本文介绍了递归算法的实现与应用,重点展示了阶乘和斐波那契数列的递归计算方法。阶乘函数通过n*factorial(n-1)的递归形式实现,斐波那契数列则采用Fib(n-1)+Fib(n-2)的递归方式。同时指出了递归的优缺点:虽然代码简洁清晰,但效率较低,建议对复杂问题优先考虑非递归实现。文中还提到可以使用static对象优化递归性能,减少对象创建开销并保存中间状态。最后强调要根据实际问题在代码可读性和执行效率之间做出权衡选择。

2025-12-04 21:49:52 173

原创 函数的声明和定义

本文介绍了C语言中函数的声明和定义。函数声明用于告知编译器函数名称、参数和返回类型,通常放在头文件中,需先声明后使用;函数定义则实现具体功能。通过加法函数示例展示了声明与定义的基本用法,并说明在实际开发中应将不同功能模块拆分到不同文件中(如add.h/add.c)。文章还演示了如何通过静态库(.lib文件)调用函数,体现了模块化编程的思想。

2025-12-03 22:14:36 392

原创 函数递归及例题

本文介绍了函数递归的概念与应用。递归是通过函数调用自身将复杂问题分解为相似的小问题,能显著减少代码量。递归需满足两个条件:存在终止条件和每次递归都更接近终止条件。文中通过两个示例演示递归:一是按顺序打印无符号整数的各位数字,二是递归实现字符串长度计算(strlen)。前者通过不断除以10分解数字,后者通过指针移动计数字符。递归方法相比循环更简洁,但需要注意终止条件以避免无限递归。

2025-12-03 22:05:18 246

原创 C语言练习及函数的嵌套

本文展示了三个C语言函数编程练习:1)判断闰年的函数实现,通过条件判断(year%4==0 && year%100!=0) || (year%400==0)来识别闰年;2)有序数组的二分查找算法,通过不断缩小查找范围实现高效搜索;3)使用指针参数实现数值递增的函数。此外还介绍了函数的嵌套调用和链式访问概念。这些练习涵盖了基本条件判断、数组操作、指针参数传递等核心编程技巧,适合C语言初学者巩固基础。

2025-12-01 22:24:19 642

空空如也

空空如也

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

TA关注的人

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