- 博客(22)
- 收藏
- 关注
原创 文件IO
注意事项:1.在write函数中count应该写buf里的字符串实际有效长度,不能一味的sizeof(buf);在read函数中count的值可以比实际的有效长度长。2.在open函数中有创建的功能,此时要写mode的实参,例如0666,它的前导零是不能省略的,同时在创建目录和文件时,系统会默认的与umask相减,以便控制新建目标和文件有合理的权限。用read,write复制文件if(argc
2024-08-13 22:00:38
809
原创 结构体与共用体
形式1:先定义类型,然后定义变量形式2:定义类型的同时定义变量}d;形式3:定义类型的同时定义变量,可以省略结构体名struct}d;这种情况一般用在结构体类型只用一次。
2024-08-09 23:46:50
1271
原创 指针(3)
在学习二维数组中,一定要弄清楚指针的概念,同时明白一维数组的指针,明白二维数组的本质和数组的特点,这样能够更好的明白指针操作二维数组。
2024-08-08 20:31:38
1000
原创 指针(2)进阶
这句代码表示p指向了字符串常量区中的 "hello",因为是指向了字符串常量区,所以只能做读取操作,不能修改。此时const限定的是基类型,就是说不能通过 *p =其他类型的数据赋值的方式修改基类型数据;此时是基类型和指针变量都被限定为只读,既不能通过*p修改基类型数据,也不能修改指针变量p;void * 表示空类型的指针,它可以说是万能指针,因为它可以接受任意类型的指针;此时const限定是指针变量p ,表示将p限定为只读,不能做修改;它的实参可以是数组名,也可以是指针变量,也可以是字符串常量。
2024-08-07 23:35:42
773
原创 指针(1)
int * p 它首先表示的是一个指针类型,然后再表示指向int型数据的指针类型。当指针为0x1000时,指针指的是地址。注意:定义时候的*是修饰变量名的,表示的是定义一个指针类型的变量。实参—要修改谁,就把谁的地址传过去,要保证空间有效,不能是野指针;整型,浮点型,字符型,数据类型,指针类型,结构体类型,函数类型;作用:用来表示这个指针类型指向的内存空间存放的是什么类型的数据;*是指针运算符,也是单目运算符,它的运算对象只能是指针(地址);p-q表示比较差了多少元素(基类型),两个必须是同一类型的指针;
2024-08-06 20:12:41
1219
原创 预处理
语法:#define 标识符 字符串 = #denfine 宏名 宏值注意:(1)预处理命令都是以#开头的;(2)宏名命名规则和之前标识符命名规则一致,宏名一般写大写,以区别与普通变量名(3)预处理实际上是将“宏名”用宏值(预处理阶段的字符串)原样输出(文本替换);(4)应用:1.提高代码可读性;2.一改全改,方便代码修改(5)宏名的作用域注意:只是在预处理阶段发挥作用。作用范围:从定义处开始到#undef(#undef 宏名 取消宏名的定义)结束,如果没加#undef,会一直到程序结束。
2024-08-05 20:50:36
1158
原创 全局变量与局部变量
一维字符型数组,主要用来存放字符串数据,而字符串数据有结束标志('\0'),所以传参时不需要传长度。2.二维字符型数组,用来存储多字字符串,操作时往往操作多个字符串,而多个字符串没有所谓结束的标志,看的是数组长度(行数)。4.如果是不同的作用域,但是作用域之间存在嵌套关系,则内层作用域的同名标识符会屏蔽外层作用域的同名标识符(局部变量空间一般都在开栈上,如果不初始化局部变量,局部变量中的值是随机值(垃圾值);(外部的)表示变量或数据存在外部的,不在当前文件中,只能声明全局变量;
2024-08-03 20:18:30
970
原创 函数(2)
1.能拆成函数的尽量拆成函数2.函数设计时,可能考虑健壮性、扩展性健壮性是指某一个程序在面对输入错误或者意外条件等异常情况的时候,能够维持程序正常运行或者进行稍微适当的处理,能够处理多种情况扩展性是指中程序不改变其基础的情况下,能够适应新的需求,新的数据,新的用户。
2024-08-02 21:51:08
616
原创 函数(1)
把功能实现出来1.main函数之前2.main函数之后,需要中使用(函数调用)时,进行函数声明(函数头+分号)注:标准c语言中不支持将函数定义在main函数中。
2024-08-01 18:48:20
834
原创 字符型数组
函数原型:char *strcpy(char *dest, const char *src)函数原型:char *strcat(char *dest,const char *src);函数原型:int strcmp(const char *s1,const char *s2)例如:“hello”字符的长度是5个,所占的内存空间的字节数是6个。参数形式:可以是数组名/字符串常量。注意:1.C语言中,并不存在真正的二维数组,都是用一维数组模拟的。类型说明符:用来说明数组中存储数据的类型,与一维数组中的一样。
2024-07-31 21:57:50
639
原创 数组多种方法排序
第二次比较,[0]与a[1]比,如果a[0]大于a[1]时,a[0]与a[1]里的数值交换,反之不变,接着a[1]与a[2]比,如果a[1]大于a[2],a[1]与a[2]里的数值交换,反之不变,一直比较到a[5]与a[6]相比,如果a[5]大于a[6],a[5]与a[6]里的数值交换,反之不变,此时a[6]中是这组数组中第二大的数;之后再将a[3]中的值拿出重复之前的比较,挪位置,一直这样到a[4],然后打印出新的数组b将得到升序排列的数组。未初始化的部分也会被初始化为0;
2024-07-31 00:43:09
2282
原创 整型数组
语法:do语句:}while(表达式);语义:先执行do里的语句,然后判断表达式,如果判断真,继续执行语句,然后再次判断表达式,重复这个过程,直到表达式为假,do-while语句结束;如果判断为假do-while结束,程序继续往下流程图:对比while与do-while:while是先判断表达式,后执行语句,而do-while是先执行语句,后判断表达式注意:1.do-while循环至少会被执行以此;2.while与do-while的逻辑顺序不同,对比结果如上。
2024-07-29 21:39:59
823
原创 流程控制(选择结构与循环结构)
语义:如果表达式1为真,执行语句1,语句1执行结束,表示if语句结束,程序继续;表达式1为假,判断表达式2,表达式2为真,执行语句2,语句2执行结束,表示if语句结束,程序继续;这一个关系表达式结果反应的是一种关系的成立与否,这个表达式是有值的(以0代表假,以1代表真),也是有类型的(以True代表真,以false代表假0)语义:判断表达式,如果为真,执行语句,语句执行完之后,继续表达式判断直到表达式为假,while结束,程序继续。语义:判断表达式1,如果是真,则执行表达2,如果是假,则执行表达式3。
2024-07-28 23:08:29
2258
原创 输入输出函数
m:m所代表的是数字,表示打印出的输出数据的需要占的宽度,如果数据本身的宽度>m,此时按m的实际宽度输出;输入函数getchar存在输入缓存区,键盘在输入了一个字符时按下回车时,此时缓冲区是有着a和'\n'两个字符,当getchar获取字符时只获取了第一个字符a而留着'\n'在缓区中。同样具有缓存区的还有scanf函数,这一明显的体现在循环语句中,当输入一个非法字符时,匹配结束,但运用循环时,缓存区会一直有这个非法字符,导致一直重复运行,例如。占位符(用%开头的字符)是用来匹配后面的输出参数的,
2024-07-26 21:24:50
772
原创 运算符与表达式
因为有的系统从左到右求值,有的系统从右向左求值,i++先用后加手势没有统一规定值什么时候加的,所以建议将代码写成int p = i;-10 % 3=-1;const是constant(常变量:定义的是常量,但又有变量的属性),a其实还是一个变量,但是只能读不能修改。通俗的定义:以赋值符号=为界,=左边的就是左值,=右边就是右值。1.理解问题:首先通过理解问题的需求,能够知道需要什么变量,什么常量,什么数据,需要得到什么对应的数据;它是一个赋值运算,也是赋值表达式,同时它的结果也是a的值,类型也是a的类型。
2024-07-25 21:39:17
2099
原创 数据类型
二进制—>八进制(1位八进制对应3位二进制)二进制—>十进制 二进制—>十六进 制 (1位 十六进制对应4位二进制)char //tiny int —小整型 char也是一种整型类型(char和整型之间是通用的)//ch这个变量最终放的实际上数'a'对应的ascii值(整型)0 ——1 (最高位)(1)浮点型常量形式:1.23 1.23e-4 //科学计数法形式1.23*10^-4。八种 unsigned/signed(无符号和有符号) —— int。
2024-07-24 20:53:24
858
原创 认识虚拟机,初步学习vi
linux——用户名 ubuntu——主机名 :——提示符 ~——代表用户主目录 $——代表当前用户是一个普通用户。mv file1.txt file2.txt //将file1.txt改名为file2.txt(目录也是如此)mkdir -p 1/2/3 或 mkdir 1/2/3 -p //创建多级目录。ls -lh 目录名/文件名 //属性信息中文件大小以kmg这样的形式显示。ls + 目录名 //查看指定下目录(ls与目录名中间至少有一个空格)
2024-07-23 21:15:14
824
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅