- 博客(17)
- 收藏
- 关注
原创 C语言简介之 输出缓冲区、输入缓冲区
输出缓冲区: 程序并不会立即把输出的数据显示到屏幕上,而是先存储在输出缓冲区中,当满足一定条件时才显示出来 1、遇到\n 2、程序结束 #include <unistd.h> sleep(3); 3、遇到输入语句 4、当缓冲区满4k时 5、fflush(stdout) 手动刷新 缓存区机制可以提高数据的读写速度,并且可以让低速的输入输出设备与高速的CPU之间协调工作输入缓冲区: 程序
2021-08-13 20:24:40 2857
原创 C语言简介之 字符串,字符串输入输出,字符串存在形式及相关操作
字符: 在计算机中是以整型形式存储的,当需要显示时会根据ASCII表中对应的关系显示出相应的符号和图案 字符 ASCII值%c: ‘\0’ %d: 0 ‘0’ 48 ‘A’ 65 ‘a’ 97字符的输入: scanf("
2021-07-29 18:45:51 462
原创 C语言简介之 堆内存的使用、管理机制、要注意的问题,用堆内存定义二维数组
文章目录什么是堆内存:为什么使用堆内存:如何使用堆内存:malloc的内存管理机制:使用堆内存需要注意的问题:内存泄漏:内存碎片:堆内存定义二维数组:什么是堆内存: 是进程的一个内存段(test\data\bss\heap\stack),由程序员手动管理的。特点是足够大,缺点是使用比较麻烦为什么使用堆内存:1、随着程序的复杂数据量变多2、其它的内存段的申请和释放不受控制,堆内存的申请释放是由程序员控制如何使用堆内存:注意:C语言没有控制管理堆内存的语句,只能使用标准C库中的函数#inc
2021-07-27 19:55:30 292
原创 C语言简介之 函数递归,用递归实现汉诺塔移动,0~9全排列
函数递归: 函数自己调用自己的行为叫做递归,可能导致出现死循环的效果 递归可实现一种分治的算法思想,把一个复杂的大问题,分解成若干个相同的小问题,直到问题全部解决 1、设置出口 2、解决一个小问题 3、调用自己练习1:尝试使用递归计算第N项斐波那契数列 递归函数每次调用自己都会在栈内存产生一份自己的拷贝,直到到达出口,才一层层释放,因此递归非常耗费内存,与循环相比速度非常缓慢,能用循环解决的问题就不要使用递归递归优缺点: 1、耗费内存、速度慢 2、好理解、
2021-07-27 19:34:48 234
原创 C语言简介之指针、指针数组与数组指针,二级指针,函数指针
文章目录什么是指针:为什么要用指针:如何使用指针:使用指针需要注意的问题:指针运算:const与指针:指针数组与数组指针:指针与数组名:二级指针:函数指针:什么是指针: 指针是一种特殊的数据类型,使用它可以定义指针变量,指针变量中存储的是整型数据,代表了内存的编号, 通过这个编号可以访问对应的内存为什么要用指针:1、函数之间是相互独立的,但有时候需要共享变量 传参是单向值传递 全局变量容易命名冲突 使用数组还需要传递长度 命名空间是独立的,但是地址空间是同一个,
2021-07-27 19:12:44 234
原创 用C语言实现五子棋(光标移动)
简介本次五子棋使用的是光标控制移动,通过按空格键(键值32)来落子,实现游戏的。 我们额外用到的头文件有:#include<getch.h> 通过调用getch()函数来识别 上下左右以及空格的操作。#include<stdlib.h> 采用 system(“clear”);清理屏幕,实现视觉上的走动效果。#include<stdbool.h>stdbool.h 头文件对布尔类型进行了模拟返回 true false大致思路
2021-07-23 12:57:52 3380 2
原创 C语言简介之 进程映像,局部变量和全局变量,类型限定符
进程映象:程序: 存储在磁盘上的可执行文件(二进制文件、脚本文件)进程: 正在系统中运行的程序进程印象指的是系统中进程内存的分布情况内存结构名说明(存放的数据)代码段(text)存储二进制指令、常量,权限只读,强制修改会产生段错误数据段(data)初始化过的全局变量,初始化过的静态局部变量静态数据段(bss)未初始化过的全局变量,未初始化的静态局部变量,在程序运行前 会自动清理为0堆(heap)由程序员手动管理,优点:足够大栈(stack)局部变
2021-07-21 19:03:00 375
原创 C语言简介之进制转换,原码、反码、补码,位运算符,函数
文章目录进制转换:十进制转二进制:(转其他进制)二进制转十进制:二进制转八进制:二进制转十六进制:源码、反码、补码:位运算符: & ,|, ~, ^, <<, >>函数:函数分类:函数声明:函数定义:函数调用:函数传参:进制转换:为什么要使用二进制、八进制、十六进制? 因为现在的CPU只能识别高低两种电流,只能对二进制数数据进行计算二进制虽然可以直接被CPU识别计算,但是不方便书写、记录,所以把二进制的数据转换成八进制的数据是为了方便记录到文档中。随着CPU的
2021-07-20 18:01:42 1332
原创 用C语言实现经典的小游戏------推箱子
思考与准备 首先,与走迷宫一样,实现推箱子,我们可以采用 二维数组 的方式,通过改变人的坐标来实现走动的效果。 我们额外用到的头文件有:#include<getch.h> 通过调用getch()函数来识别 上下左右的操作。#include<stdlib.h> 采用 system(“clear”);清理屏幕,实现视觉上的走动效果。大致思路1、确定数字与子符的对应关系 路 0 墙壁 1
2021-07-18 16:25:14 1069 1
原创 用C语言实现走迷宫
思考与准备 首先,要实现老鼠走迷宫的效果,我们可以采用 二维数组 的方式,通过改变老鼠的坐标来实现走动的效果。 我们额外用到的头文件有:#include<getch.h> 通过调用getch()函数来识别 上下左右的操作。#include<stdlib.h> 采用 system(“clear”);清理屏幕,实现视觉上的走动效果。#include<time.h> time(NULL) ;功能:返回自1970-1-1 0:0
2021-07-18 15:54:50 4502 2
原创 2021-7-12 标准C语言基础知识(二)
文章目录一、常量二、格式化输入输出三、运算符(优先级从高到低)四、类型转换五、分支转换六、开关语句七、循环语句八、跳转语句九、数组一、常量什么是常量:程序运行期间不能变化的叫常量100 默认int100u unsigned int100lu unsigned long100llu unsigned long long100l long100ll long long
2021-07-12 19:58:42 131
原创 2021-07-10 标准C语言基础知识(一)
C语言简介BCPL->newB->C->UNIX->Minix->linux->gccC语言诞生于1970-1973年,在肯.汤普逊和丹尼斯.里奇(..之父)的主导下编写下完成,归属于美国的贝尔实验室。C语言专门为了编写操作系统而诞生的语言,所以天生适合硬件编程,以运行速度快而著称,也非常适合实现数据结构与算法。由于C语言出现的时间过早,C语言是存在非常多的缺陷,也没想到普通人也能使用C语言编程,因此就存在缺陷,但是前辈们总结了一些避免的经验《C语言的陷阱与
2021-07-10 10:28:17 114
原创 2021-07-08 vim的基本用法and三大模式下的操作
文章目录Ubuntu 使用小技巧vim文本编辑器:基本用法:三大模式:模式切换:正常模式的常用操作:光标移动:删除代码:复制代码:替换代码:撤销操作:进入插入模式的方法:插入模式下的操作:行底模式下的操作:对vim的学习:Ubuntu 使用小技巧命令说明ctrl+l清理屏幕tab自动补全文件名、目录名ctrl+alt+t快速调出终端ctrl+shfit+t终端下新建标签页ctrl+alt+方向键切换工作区alt+tab切换程序重定向、管
2021-07-08 20:13:36 104
原创 Linux系统介绍及部分命令
Linux系统介绍BCPL->newB->C语言->UNIX->Minix(类UNIX)操作系统->LinuxLinxu管理硬盘能力非常强大,所以我们看到只有一个分区/ 根目录,所有文件都存储在它下面~ 用户主目录. 当前目录… 上一级目录/bin 存储系统命令 /dev 存储设备文件(一切皆文件)/media 多媒体目录,u盘、光驱、挂载的目录/proc 记录了程序运行期件资源的使用情况/sbin 存储超级用户才
2021-07-08 13:07:31 85
原创 2021-07-06 C++环境开发搭建
基于Ubuntu的C++环境开发搭建资料准备安装过程资料准备宿主操作系统win7以上虚拟机工具VirtualBox 5.2.8/6.1.4虚拟机操作系统Ubuntu 14.04 LTS(长期支持版本)优点:快,占用资源少安装过程virtualBOX安装过程virtualBOX采用默认安装即可1.如果打不开->右键 ->属性->兼容性->兼容模式打钩2.如果还是打不开,完全卸载virtualBOX旧版本,重启电脑,安装6.1.43.如果出现回滚
2021-07-06 23:18:08 195 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人