- 3
- 0
- 约4.92千字
- 约 7页
- 2017-06-07 发布于重庆
- 举报
C语言补充链表位运算
链表
//对链表的删除结点操作
struct Student *del(struct Student *head,long num)
{
struct Student *p1,*p2;
if(head= =NULL)
{ printf(list null\n) goto end;}
p1=head;
while(num!=p1-num p1-next!=NULL) //p1指向的不是所要找的结点,并且后面还有结点
{p2=p1;p1=p1-next;} //p1后移一个结点
if(num= =p1-num) //找到了
{ if(p1= =head) head=p1-next; //若p1指向的是表结点,把第二个结点地址赋予head
else p2-next=p1-next;
printf(delete:%ld\n,num);
n--;
}
else printf(%ld not been found!\n,num);
end:return(head);
}
//对链表的插入结点操作
struct Student *insert(struct Student *head,struct Student *stud)
{struct Student *p0,*p1,*p2;
p1=head; //使p1指向第一个结点(首)
p0=stud; //p0指向要插入的结点
if(head= =NULL)//原来的链表是空表
{ head=p0;p0-next=null;}//使p0指向的结点作为头结点
else
while((p0-nump1-num)(p1-next!=NULL))
{ p2=p1;//使p2指向刚才p1指向的结点
p1=p1-next;}//p1后移一个结点
if(p0-num=p1-num)
{if(head= =p1) head=p0;//插到原来第一个结点之前
else p2-next=p0;//插到p2指向的结点之后
p0-next=p1;}
else
{ p1-next=p0;p0-next=NULL;}//插到最后的结点之后
n++;
return head;
}
位运算
前面介绍的各种运算都是以字节作为最基本位进行的。 但在很多系统程序中常要求在位(bit)一级进行运算或处理。C语言提供了位运算的功能,这使得C语言也能像汇编语言一样用来编写系统程序。
位运算符C语言提供了六种位运算符:
按位与
| 按位或
^ 按位异或
~ 取反
左移
右移
按位与运算
按位与运算符是双目运算符。其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1,否则为0。参与运算的数以补码方式出现。
例如:95可写算式如下:
(9的二进制补码)
(5的二进制补码)
(1的二进制补码)
可见95=1。
按位与运算通常用来对某些位清0或保留某些位。例如把a 的高八位清 0 ,保留低八位,可作a255运算( 255 的二进制数为0000000011111111)。
【例12.1】
main(){
int a=9,b=5,c;
c=ab;
printf(a=%d\nb=%d\nc=%d\n,a,b,c);
}
按位或运算
按位或运算符“|”是双目运算符。其功能是参与运算的两数各对应的二进位相或。只要对应的二个二进位有一个为1时,结果位就为1。参与运算的两个数均以补码出现。
例如:9|5可写算式如下:
(十进制为13)可见9|5=13
【例12.2】
main(){
int a=9,b=5,c;
c=a|b;
printf(a=%d\nb=%d\nc=%d\n,a,b,c);
}
按位异或运算
按位异或运算符“^”是双目运算符。其功能是参与运算的两数各对应的二进位相异或,当两对应的二进位相异时,结果为1。参与运算数仍以补码出现,例如9^5可写成算式如下:
(十进制为12)
【例12.3】
main(){
您可能关注的文档
- 黑白画教案.doc
- 黑盒测试方法课程练习题及答案.doc
- 黑盒测试用例设计方法例子.doc
- 黑莓的营养价值.docx
- 黑营养的秘密.docx
- 黑龙江垦区国有及国有控股企业重大事项管理暂行办法.doc
- 黑色行动2攻略.docx
- C语言总结完美版.doc
- C语言指令符号表.doc
- UL817摇摆测试.doc
- 2026年及未来5年内中国液体氩气行业投资前景及策略咨询研究报告.docx
- 2026年及未来5年内中国黄铜合页行业投资前景及策略咨询研究报告.docx
- 2026年及未来5年内中国竹工艺家具行业投资前景及策略咨询研究报告.docx
- 2025年中国微机数显自动分析仪市场调查研究报告.docx
- 2026年及未来5年内中国微尘白色粉笔行业投资前景及策略咨询研究报告.docx
- 2025年中国微电脑型压胶机市场调查研究报告.docx
- 2026年及未来5年内中国数字化等功游泳训练测试系统行业投资前景及策略咨询研究报告.docx
- 2025年中国圆形花瓶市场调查研究报告.docx
- 2026年及未来5年内中国植物纤维静淀过滤器行业投资前景及策略咨询研究报告.docx
- 2025年中国超音波手套机市场调查研究报告.docx
最近下载
- 农村电商(农产品电商)运营全套教学课件.pptx
- 四川省成都市第七中学2025-2026学年高一上学期11月半期考试英语(含答案).pdf
- (最新)ISO31073-2022风险管理术语(译2022-04)(推荐下载).pdf VIP
- (最新)村干部考试试题(含答案).docx VIP
- zippo图册年度机系列整合(更新至C25).docx VIP
- 多轴车铣复合加工运动转换方法:原理、实践与创新.docx
- 商务礼仪商务礼仪培训专用.ppt VIP
- 《铁路劳动安全》第04章预防机动车辆伤害.pptx VIP
- 化工制图第1章 制图基础.ppt VIP
- 化工制图AutoCAD应用基础-03章.pptx VIP
原创力文档

文档评论(0)