自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C-class Week3.Day14

复习 预处理指令: C代码不能直接被真正的编译器所编译,需要一段程序对它进行翻译,负责翻译的程序叫做预处理器,翻译的过程叫做预处理,被翻译的代码叫做预处理指令,以#开头的都是预处理指令 gcc -E code.c gcc -E code.c -o code.i 1、文件包含 #include 把一个头文件导入到当前文件中 #include <> #include “” 系统指定的路径可以通过设置环境变量来修改; 可以指定编译参数-I /路径 指定头文件的路径 2、宏常量 ​ #def

2020-12-30 21:31:42 100

原创 C-class Week3.Day13

预处理指令: ​ 程序员所编写的代码并不是标准c代码,不能被编译器所编译。所以需要对代码进行预处理把代码翻译一下。 翻译的过程就叫做预处理,被翻译的代码叫做预处理指令以#开头的都是预处理指令。 gcc -E code.c 直接把预处理的结果显示在终端上 gcc -E code.c -o code.i 把预处理结果放在code.i中 预处理指令分类: ​ #include 文件包含 ​ 1、#include<xxx.h> 从系统指定目录下查找头文件,找到后导入。 ​ 2、#include

2020-12-29 16:20:30 439

原创 C-class Week3.Day12

复习 输出缓冲区 ​ 程序输出的数据并没有立即写入到文件,而是先存储到输出缓冲区,当满足一定条件时才会写入到文件中。 ​ 1、遇到换行 ​ 2、程序结束 ​ 3、遇到输出语句 ​ 4、缓冲区满4k ​ 5、手动刷新fflush 输入缓冲区 ​ 在终端上出入的数据此时由终端保管,当按下回车键时,数据由终端写入到程序中,交给了程序的缓冲区,scanf函数 再从输入缓冲区中读取数据,最后赋值给变量。 ​ 1、当想要从缓冲区中读取整型、浮点型数据时、此时如果缓冲区中的数据时字符型,就会导致输入失败。 ​ 解决:先

2020-12-29 16:17:50 92

原创 C-class Week2.Day11

复习 1、C语言中没有管理堆内存的语句,只能使用标准库中的函数 #include<stdlib.h> void *malloc(size_t size); 功能:从堆内存中申请size个字节的内存块 返回值:申请成功的内存块的首地址 malloc (sizeof(type)*num); 注意:void* 在c++编译器中不能自动转换为其他类型的指针,如果想要让代码在c++编译器中兼容就必须要强制转换 int *p = malloc(4);在c中没问题 int *p = (int*) mal

2020-12-25 19:01:12 72

原创 C-class Week2.Day10

堆: ​ 当首次使用malloc申请内存,系统就会分配一个33页的内存、33*1024 -2 是可以用的位置 最后四个字节不能用。 这33页由malloc管理,但是使用者也有权使用,只要在33页范围内都行。这种越界访问存在隐患会产生脏数据, 如果再向malloc申请,如果小于33页。则不向系统申请,在33页里面的寻找合适的空间。 ​ ​ 每个内存块之间、都会有一些空隙4-12个字节。这些空隙一些是为了数据对齐、其中一定会有四个字节用于malloc的 维护信息,这些维护信息决定了下次malloc分配内存的位置

2020-12-24 18:18:58 95 1

原创 C-class Week2.Day9 & test2 summary

指针 指针数组和数组指针: 指针数组: ​ 是由指针组成的数组,里面都是指针,它的成员都是指针变量。 ​ 类型 *arr[长度]; int *arr[10]; 数组指针: ​ 专门指向数组的指针 ​ 类型 (*arr)[长度]; #include<stdio.h> int main(int argc,const char* argv[]) { int arr[10]={0,1,2,3,4,5,6,7,8,9}; /*int* arrp[10];

2020-12-23 20:01:31 116

原创 C-class Week2.Day8

指针 什么是指针: ​ 指针是一种特殊的数据类型,使用它可以定义指针变量,指针变量中储存的是整型数据,代表了内存的编号 ​ 通过这个编号可以访问到对应的内存。 为什么使用指针: ​ 1、函数与函数之间是相互独立的,参数无法进行传递,又想要共享变量时 ​ 传参是单项值传递 ​ 使用数组还需要传递数组长度 ​ 全局变量,但是不推荐容易和第三方库冲突,个数不宜多,当多个函数都用使用时还是可以使用。 ​ 函数命名空间是相互独立的,但是地址空间是同一个地方,所以指针可以解决这个问题 ​ 2、因为函

2020-12-22 17:16:28 56

原创 C-class Week2.Day7

复习: ​ 1,函数声明 告诉编译器函数的格式,方便编译器检查调用者的参数、返回值 ​ 2,隐式声明 函数调用时没有声明就会产生,编辑器就会猜测函数的格式,函数的形参会根据调用者提供的实参来猜测 ​ 返回值会猜测为int类型。 ​ 3,函数定义 函数定义如果出现在函数调用之前,可以省略函数声明 ​ 4,函数传参 ​ 值传递:普通变量,局部变量,单项值传递,函数之间的变量无法共享 因为是局部变量 ​ 址传递:目前来说只有数组是址传递,导致数组的长度会丢失,需要额外增加一个参数传递数组长度,此时就共享了一个数组

2020-12-22 14:06:16 82

原创 C-class Week2.Day6

设计函数的准则: 可读性 ​ 1.一个函数最好只解决一个问题!这样可以降低出错率,提高(可读性)。 耦合性 ​ 2.最好不要依赖其他函数,(降低耦合性) 通用性 ​ 3.数据都是由调用者提供,结果返回给调用者。(可以提高通用性) 健壮性 ​ 4.要考虑调用者提供的非法数据,可以通过返回值的方式告诉调用者,或者把可能出现的 ​ 情况通过注释的方式写明白。(健壮性) ​ 进程映像: 程序: ​ 储存在磁盘上的 可执行文件(包括是二进制文件、脚本文件) 进程: ​ 正在系统中运行的程序 进程映像: ​ 指的是进程

2020-12-18 20:36:46 69 1

原创 C-class Week2.Day5

进制转换: ​ 为什么要二进制,八进制,十六进制? ​ 因为cpu只能识别高低两种电流,所以只能对二进制数据进行运算。二进制虽然可以直接被cpu识别,但是不方便书写 所以把二进制转换为了八进制是为了方便记录在文件中。 ​ 随着cpu的不断发展不断地增加,由于八位计算机逐步发展到64位计算机,因此八进制逐渐不能满足需求,所以发展出 了十六进制,由于历史原因八进制还不能退出历史舞台(例如rwz1234) ​ 十进制转换二进制,余二倒去或者加权 ​ 练习: ​ 1.输入一个m在输入一个n进制,

2020-12-16 21:01:00 322

原创 C-class Week2.Day4 && test summary

数组 ​ 什么是数组?变量的组合,是一种批量定义变量的方式 ​ 定义:类型 数组名[ ] ​ 使用:通过数组的下表使用;arr[n]; 下表范围从 0 到 n-1; ​ 遍历:for(int i=0;i<n;i++)… ​ 初始化: 类型 数组名[数量] = {a,b,c,d,e,…} ​ 1、数组与普通变量一样,默认值是随机的,为了安全起见要对数组进行初始化。 ​ 2、初始化数据过多时,编译器会产生警告,并且多出来的数据会丢弃。 ​ 初始化数据不足时,编译器自动补零。只能逐个赋值不能

2020-12-16 09:20:08 200

原创 C-class Week1.Day3

作业 1.打印一个九九乘法表三角形的~ 2.公鸡5块 母鸡3块 小鸡1块钱3只 100块买100只鸡 100块要用完 不一定要多有种类的鸡 会遇到一种m/3的情况: 用了if(m%3)的方法去除小数的问题,还可以直接把小鸡个数类型变成float就会自动去除 3.计算出100-1000之前所有的素数 在双重循环的内环变量需要遍历多次 例如j在i的循环下,如果在外面定义了j那么就会导致j不会遍历 break跳出一层for 4.输入一个日期(yyyy-mm-dd),计算公园1 年1月1号过了多少天? 例

2020-12-13 11:29:42 77

原创 C-class Week1.Day2

作业小结 ABC比大小 C语言中 算法比较快,但是调用内存会很慢,所以比较较多的时候,不见得会比交换值的快 判断闰年 if( !(year%4) && (year%100) || !(year%400) ) 判断月份几天 可以这样! int is_leap = if( !(year%4) && (year%100) || !(year%400) ); is_leap 代替是否加二月的那一天 出现游离的错误 会出现2-3个错误,因为中文符号一般对应2-3个字

2020-12-10 20:25:03 115

原创 C-class Week1.Day1

第一个C语言程序: #include<stdio.h> ​ 程序员所写的代码不是标准的C代码,需要一段程序进行翻译成标准的C代码,负责翻译的程序叫做预处理, 翻译的过程叫做预处理,被翻译的代码叫做预处理指令,换句话说以#号开头的都是预处理指令。 ​ #include<filename> 的功能就是把 后面的头文件导入当前的文件中 到相对应的位置直接复制拷贝到文件前面 ​ #include< > 直接从系统指定的目录下 去查找是否有此头文件,有则导入 无则报错 ​ #inc

2020-12-09 20:17:02 125

原创 Linux-class Week1.Day2

Ubuntu系统快捷键 ctrl + alt + t : 打开终端 ctrl + l : 清理屏幕 tab :自动补全 up/down 上下看历史 ctrl + alt+方向键 切换进程 过滤: grep ”关键字“ 文件名 ​ 找到含有关键词的一行或者词语 重定向、管道、通配符 重定向:把命令的执行结果写入到文件中 ​ cmd > filename 把命令的执行结果以清空的方式写入到文件中 工作方式清空文件>在写 如果文件不纯在则新建 ​ cmd >> filen

2020-12-08 18:35:06 132

原创 Linux-class Week1.Day1

linux介绍 肯汤普逊—旧电脑—玩游戏—装系统—自己写—找伙伴—c爸爸— —BCPL—写了一个unix—再写一个—new B—再写一个—C---接近语言 c+±–在c的基础上添加对象 java—爪哇—爪哇国—盛产咖啡—所以 python—一个马戏团的名字 unix—电信通信公司–银行—大公司—苹果内核 收费—且价格不菲—请他们的专业工程师—上飞机算钱 unix美国老大哥删减版本–minix类unix的教学用—受到启发开发了linux linux管理硬盘的能力很强,所以我们看到的只有一个分区 /—根目录 存

2020-12-07 19:07:16 62

空空如也

空空如也

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

TA关注的人

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