- 博客(14)
- 收藏
- 关注
原创 C笔记(10)-操作符详解
/代码1:变量的定义int x;int y;}p1;//声明类型的同时定义变量p1//定义结构体变量p2//代码2:初始化。struct Stu //类型声明//名字int age;//年龄//初始化//指定顺序初始化//代码3int data;//结构体嵌套初始化//结构体嵌套初始化。
2024-10-04 21:02:45 709
原创 C笔记(21)-文件操作
磁盘(硬盘)上的⽂件是⽂件。但是在程序设计中,我们⼀般谈的⽂件有两种:程序⽂件、数据⽂件(从⽂件功能的⻆度来分类的)。2.1程序文件程序⽂件包括源程序⽂件(后缀为.c),⽬标⽂件(windows环境后缀为.obj),可执⾏程(windows 环境后缀为.exe)。2.2数据文件⽂件的内容不⼀定是程序,⽽是程序运⾏时读写的数据,⽐如程序运⾏需要从中读取数据的⽂件,或 者输出内容的⽂件本章讨论的是数据⽂件。
2024-09-26 14:46:55 820
原创 C笔记(20)-动态内存管理
C / C++程序内存分配的⼏个区域:1. 栈区(stack):在执⾏函数时,函数内局部变量的存储单元都可以在栈上创建,函数执⾏结束时这些存储单元⾃动被释放。栈内存分配运算内置于处理器的指令集中,效率很⾼,但是分配的内存容量有限。栈区主要存放运⾏函数⽽分配的局部变量、函数参数、返回数据、返回地址等。《函数栈帧的创建和销毁》2. 堆区(heap):⼀般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收。分配⽅式类似于链表。
2024-09-24 14:47:03 620
原创 C笔记(9)-函数递归
或者当一个问题过于复杂,难以使用迭代的方式实现时,递归的简洁性可以补偿他带来的运行时开销。如果函数调用中存在递归调用的话,每一次调用递归函数,都会开辟属于自己的栈桢空间。在C语言中每一次函数调用, 都要为本次函数调用,在内存的栈区申请一块内存空间来保存函数调用期间的各种局部变量的值。这个方法看起来比较简洁,但是在计算靠后的斐波那契数时,所花费的时间非常长。原因是,在递归的过程中会有重复计算。所以如果递归层次太深,就会浪费太多的栈桢空间,也可能引起栈溢出问题(stack overflow)。
2024-09-14 16:51:02 435
原创 C笔记(7)-扫雷游戏的实现
使用控制台实现经典的扫雷游戏游戏可以通过菜单实现继续玩或者退出游戏扫雷棋盘9*9默认随机布置10个雷可以排查雷:如果这个位置不是雷,就显示周围有几个雷;如果这个位置是雷,就炸死游戏结束;把10个雷之外所有非雷位置找出来,排雷成功,游戏结束。
2024-09-14 15:52:24 790
原创 C笔记(8)-VS实用调试技巧
Debug通常称为调试版本,包含调试信息,并不作任何优化,便于程序员调试程序;Release称为发布版本,它往往进行了各种优化,程序在代码大小和运行速度上都是最优的,以便用户使用。这个版本用于用户使用,无需包含调试信息。
2024-09-14 14:10:19 115
原创 C笔记(6)-函数
/函数声明int main()int y = 0;//函数调用printf("闰年\n");elseprintf("⾮闰年\n");return 0;//函数定义//判断⼀年是不是闰年return 1;
2024-09-12 14:38:09 401
原创 C笔记(3)-分支与循环
(多个操作符不宜连用)一条规则:else 总是和最接近的 if 匹配。输⼊⼀个正的整数,逆序打印这个整数的每⼀位。:逻辑取反运算符(改变单个表达式真假)输⼊⼀个正整数,计算这个整数是⼏位数?输⼊:1234,输出:4 3 2 1。&& :逻辑与运算符,就是并且的意思。|| :逻辑或运算符,就是或者的意思。输⼊:521,输出:1 2 5。输⼊:1234 输出:4。条件操作符又称三目操作符。输⼊:12 输出:2。
2024-09-11 16:58:23 265
原创 C笔记(2)-C语言数据类型和变量
字符型[signed] char //有符号的unsigned char //⽆符号的整型//短整型//整型int//⻓整型long [int]//更⻓的整型//C99中引⼊浮点型floatdouble布尔类型//c99中引入布尔类型,专门表示真假_Bool//布尔类型的使⽤得包含头⽂件 <stdbool.h>//布尔类型变量的取值是: true 或者 false//代码演示if (flag)stdio.h。
2024-09-11 15:45:05 697
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人