黑马程序员---iOS基础---C语言中的位运算,文件操作等问题

本文深入解析Java中的位运算符及应用,包括按位与、按位或、按位异或等,并介绍文件的基本概念与操作函数,如文件打开、关闭、字符输入输出、数据块读写等。

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------


1.位运算符和位运算

位运算是指按二进制位进行的运算。因为在系统软件中,常要处理二进制位的问题。

& 按位与 

| 按位或

^ 按位异或

~取反

》右移

《左移

只有取反是一目运算符,其他的均为二目运算符。

运算的值只能是整型或者字符型,不能是浮点型。


按位与是指:

参加运算的两个数据,按二进制位进行“与”运算。如果两个相应的二进制位都为1,则该位的结果值为1;否则为0。

同1为1

用途之一就是对存储单元的数清零。

其二是取指定的数位

如有一个整数a(2个字节),想要取其中的低字节,只需将a与8个1按位与即可

   0 0 1 0 1 1 0 0   1 0 1 0 1 1 0  0

&0 0 0 0 0 0 0 0   1 1 1 1 1 1 1  1

  0 00 0 0 0 0 0  1 0 1 0 1 1 0 0

其三是保留一位的方法:与一个数进行&运算,此数在该位取1


按位或:

两个相应的二进制位中只要有一个为1,该位的结果值为1

按位或运算常用来对一个数据的某些位定值为1。例如:如果想使一个数a的低4位改为1,只需将a与017进行按位或运算即可。


按位异或:

异或运算符∧也称XOR运算符。它的规则是:

若参加运算的两个二进制位同号则结果为0(假)   异号则结果为1(真)

  1. 可以使特定位翻转。
  2. 与0相^,保留原值。
  3. 交换两个值:

    a=a∧b;

    b=b∧a;

    a=a∧b;

~取反运算符就是按位取反1变0,0变1;

左移右移:

左移运算符是用来将一个数的各二进制位全部左移若干位。

高位左移后溢出,舍弃。 

右移运算符是表示将数各二进制位右移位,移到右端的低位被舍弃,对无符号数,高位补0。

右移一位相当于除以2

 右移n位相当于除以2n。 

对无符号数,右移时左边高位移入0;对于有符号的值,如果原来符号位为0(该数为正),则左边也是移入0。

如果符号位原来为1(即负数),则左边移入0还是1,要取决于所用的计算机系统。有的系统移入0,有的系统移入1。

移入0的称为“逻辑右移”,即简单右移;移入1的称为“算术右移”。 


位运算符与赋值运算符可以组成复合赋值运算符。

  例如: &=, |=,>>=, <<=, ∧=

  a& = b相当于 a =a & b


2.文件的基本概念与函数

所谓文件一般指存储在外部介质(如磁盘磁带)数据的集合.操作系统是以文件为单位对数据进行管理的.

FILE类型的数组:

FILE  f5;定义了一个结构体数组f,它有5个元素,

可以用来存放5个文件的信息。

文件型指针变量:

FILE  *fpfp是一个指向FILE类型结构体的


文件的打开(fopen函数)

函数调用:

FILE  *fp;

fp=fopen(文件名,使用文件方式);

  1. 需要打开的文件名,也就是准备访问的文件的名字;
  2. 使用文件的方式(“读”还是“写”等);
  3. 让哪一个指针变量指向被打开的文件。

文件的关闭(fclose函数)

函数调用:fclose(文件指针);

函数功能:

使文件指针变量不指向该文件,也就是文件指针变量与文件“脱钩”,此后不能再通过该指针对原来与其相联系的文件进行读写操作

返回值:

关闭成功返回值为0;否则返回EOF(-1)。


字符输入输出函数(fputs()和fgets())

fputs函数

函数调用:fputs ( ch,fp ) ;

函数功能:

将字符(ch的值)输出到fp所指向的文件中去。

返回值:如果输出成功,则返回值就是输出的字符;如果输出失败,则返回一个EOF.

fgets函数

函数调用:ch=fgets(fp);

函数功能:从指定的文件读入一个字符,该文件必须是以读或读写方式打开的。

返回值:

读取成功一个字符,赋给ch。如果遇到文件结束符,返回一个文件结束标志EOF 。


数据块读写函数(fread()和fwrite())

函数调用:

fread (buffer,size,count,fp);

fwrite(buffer,size,count,fp);

参数说明:

buffer:是一个指针。

对fread 来说,它是读入数据的存放地址。对fwrite来说,是要输出数据的地址(均指起始地址)。

size:  要读写的字节数。

count:要进行读写多少个size字节的数据项。

fp: 文件型指针。

C语言中提供了许多操作文件的函数。









评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值