版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
以下说法中正确的是:
。A:一个结构只能包含一种数据类型B:不同结构中的成员不能有相同的成员名C:两个结构变量不可以进行比较D:关键字typedef用于定义新的数据类型C结构体、链表综合习题设有以下说明,则值为210的表达式是:
。structs{inta;int*b;};intx0[]={110,120},x1[]={210,220};structsx[]={{100},{200}},*p=x;x[0].b=x0;x[1].b=x1;A:*p->bB.(++p)->aC.*(p++)->bD.*(++p)->bD结构体、链表综合习题struct{intx,y;}c[3]={{1,2},{2,3}};正确的语句是
。A:C[2]={3,4};B:C[2]=C[1];C:C[2]=C[1]-C[0];D:if(c[1]>c[0])c[2]=c[1];elsec[2]=c[0];B结构体、链表综合习题已知有如下的结构类型定义和变量声明:
structstudent{intnum;charname[10];}stu={1,”Mary”},*p=&stu;则下列语句错误的是_____A:printf(“%d”,stu.num);B:printf(“%d”,(&stu)->num);C:printf(“%d”,&stu->num);D:printf(“%d”,p->num);C结构体、链表综合习题已知有结构类型定义:typedef
structex{longintnum;charsex;
structex*next;}student;下列叙述错误的是___________。structex是结构类型student是结构类型的变量名C.ex可缺省D.student不可缺省B结构体、链表综合习题若要使表达式“P++”无语法错误,则变量P不能声明为___________。A.intP;B.doubleP;C.int*P;D.struct{intx;}P;D结构体、链表综合习题数组和链表都可以用于存储一组彼此有关联的数据,以下说法中不正确的是:
A:数组占用一块连续的存储区域,链表可能占用若干不连续的存储区域B:数组和链表所占用的存储区域均不能在程序运行期间动态地分配C:数组中的数据可以随机存取或顺序存取,链表中的数据只能顺序存取D:数组的长度是固定的,链表的长度是不固定的B结构体、链表综合习题值为6的表达式为
struct
st{intn;struct
st*next;}staticstruct
sta[3]={5,&a[1],7,&a[2],9,’\0’},*p;p=&a[0];A) p++->n B)p->n++C)(*p).n++ D)++p->n D结构体、链表综合习题对以下结构体变量example中成员x的引用正确的是
struct
{intx;
inty;}example,*p=&example;(*p).example.xB)(*p).xC)p->exampleD)p.example.xB结构体、链表综合习题结构体、链表综合习题对于下列程序段:
structSD{intx;floaty;};
structSDa[3]={{1001,3.5},{1002,4.5},{1003,4.0}},*p;p=a;则下面不正确的使用是__________。A.(++p)->xB.p++C.(*p).yD.p=&a[0].xD结构体、链表综合习题若有以下程序段:
structSD{intx;int*r;};
inta=1,b=2,c=3;
structSDs[3]={{1001,&a},{1002,&b},{1003,&c}};main(){structSD*p;p=s;……}则以下表达式中值为2的是_________。A.*(++p)->rB.*(p++)->rC.(*p).rD.(p++)->rA结构体、链表综合习题有以下结构体类型的说明和变量定义,并给出图示,则选项中不能把结点b连接到a之后的语句是__________。
datanextdatanextabpq
structND{chardata;
structND*next;}a,b,*p=&a,*q=&b;a.next=q;B.p.next=&b;C.p->next=&b;D.(*p).next=q;B结构体、链表综合习题设有定义如下:typedef
struct{intx,y;}POINT;typedef
enum{RED,YELLOW,BLUE,GREEN}COLOR;struct{POINTxy;COLORc;}pixel,*p=&pixel;以下对变量pixel的赋值操作中正确的是
。A:pixel={1,2,BLUE};B:scanf(“%d%d%d%d”,p->xy.x,p->xy.y,&pixel.c);C:p->xy.x=1;p->xy.y=2;p->c=BLUE;D:scanf(“%d%d”,&pixel.xy);pixel.color=2;C设链表上的结点的数据结构定义如下:structnode{
intx;
structnode*next;};
函数create的功能是:创建一个有序的链表(结点中x的值按升序排列),链表中结点的个数为参数n的值,函数返回该有序链表的头指针。算法思想如下:每产生一个新结点,插入到链表中的恰当位置,使得插入新结点后的链表仍然保持有序。
(27)creat(intn){structnode*p,*p1,*p2,*h=NULL;inti=0;if(n<1)returnNULL;while((28)){p=(structnode*)malloc(sizeof(structnode));scanf(“%d”,&p->x);p->next=NULL;if(h==NULL)(29);else{p1=p2=h;while(p2&&p->x>=p2->x){p1=p2;p2=p2->next;}if(p2==h){(30);h=p;}else{p->next=p2;p1->next=p;}}i++;}returnh;}structnode*i<nh=pp->next=h已知某链表中结点的数据结构定义如下:structnode{intx;
structnode*next;};函数find_del功能是:在参数head指向的链表中查找并删除x值最大的结点,如有多个相同的x值最大的结点,删除第一个结点,保存该结点的地址到pm指向的指针变量中,函数返回链表首结点的指针。structnode*find_del(structnode*head,structnode**pm){stuctnode*p1,*p2,*pmax,*pre;if(head==NULL)returnNULL;pmax=(1);p2=p1=pmax;while(p1){if(p1->x>
(2)){pre=p2;pmax=p1;}p2=p1;p1=p1->next;}if(pmax==head)head=pmax->next;else
(3)=pmax->next;
(4)=pmax;returnhead;}1head2pmax->x3pre->next4*pm设链表上的结点的数据结构定义如下:structnode{intx;
structnode*next;};假设已经建立了一个链表,h为链首指针。函数deladd的功能是:若链表上能找到结点的x值为value,则从链表上删除该结点(假定链表上的各个结点的值是不同的);否则构造一个新结点,其值为value,并将新结点插入链尾。该函数要求返回新链表的首指针。structnode*deladd(structnode*h,intvalue){structnode*p1,*p2;intflag=0;p1=p2=h;while(p1&&flag==0){if(p1->x==value){flag=1;if(p1==h){h=(1);free(p1);}else{p2->next=(2);free(p1);}}else{p2=p1;p1=(3);}}if(flag==0){p1=(structnode*)malloc(sizeof(structnode));p1->x=value;p1->next=0;if(h==0)h=p1;else(4);}returnh;}(1)h->next(2)p1->next(3)p1->next(4)p2->next=p1颠倒链表的链接顺序structnode{intdata;
structnode*next;};reverse(structnode*h){structnode*p,*v1,*v2;_______________;v1=NULL;while(v2!=NULL){_________________;v2->next=v1;v1=v2;v2=p;}h=v1;returnh;}v2=hP=v2->next已知某链表中结点的数据结构定义如下:#include<stdio.h>structnode{intx;structnode*next;};函数loop的功能是:根据dir的值循环移位head指向的链表中的所有结点,当dir为正数时实现循环右移一次,否则循环左移一次。函数返回链表首结点的指针。例如,移位前的链表数据:head->1->3->5->4,
移一次后的链表数据:head->4->1->3->5。算法提示:循环右移时,将链表最后一个结点删除,再将其插入到链表首部;循环左移时,将链表第一个结点删除,再将其连接到链表尾部。structnode*loop(structnode*head,intdir){structnode*p1,*p2;p1=head;if(p1==NULL||p1->next==NULL)returnhead;if(dir>=0){while(p1->next)
{p2=p1;p1=p1->next;}__(1)__=NULL;p1->next=_(2)__;
head=p1;}else{head=___(3)__;p2=head;while(p2->next)p2=p2->next;
_(4)_;p1->next=NULL;}returnhead;}(1)p2->next(2)head(3)p1->next(4)p2->next=p1.以下程序中函数padd的功能是:调整pa指向的链表中各结点的位置,使得所有x值为偶数的结点出现在链表的前半部,所有x值为奇数的结点出现在链表的后半部。#include<stdlib.h>typedef
structp{intx;structp*next;}PNODE;PNODE*padd(PNODE*pa){PNODE*p1,*p2,*p;p1=p2=pa;while(p1){if(p1->x%2==0&&(1)){p=p1;p1=p1->next;(2)=p1;p->next=pa;(3);}else{p2=p1;p1=p1->next;}}returnpa;}main(){PNODEa[10]={{1},{2},{3},{4},{5},{6},{7},{8},{9},{10}},*ha=a,*p;inti;for(i=0;i<9;i++)a[i].next=&a[i+1];a[9].next=(4);ha=padd(ha);p=ha;printf("\n");while(p){printf("%d->",p->x);p=p->next;}}(1)p1!=pa(2)p2->next(3)pa=p(4)NULL.下面程序用来从键盘上读入一行字符,并按输入顺序建立一个链式结点序列,新添加的结点存入当前刚读入的字符,读入完成后,再按该链式序列的反向顺序输出这一行字符,最后,释放全部结点空间。请在
处填入正确内容。
#definegetnode(type)(type*)malloc(sizeof(type))#definenull0#include“stdio.h”main(){structnode{charinfo;
structnode*link;}*top,*p;charc;top=(1);while((c=getchar())!=’\n’){p=getnode((2));p->info=c;p->link=(3);top=(4);}while(top!=null){p=(5);top=(6);putchar(p->info);free(p);}}(1)null(2)structnode(3)top(4)p(5)top(6)top->link.设链表上的每个结点的数据结构为:
structnode{intdata;structnode*next;};
假设已建立了一条链表,链表上第一个结点的值为该链表上结点的个数.下面的函数要删除链上具有相同值的所有结点,使得结点上的数值各不相同.structnode*delsamenode(structnode*head){structnode*p,*q,*r;p=head->next;if(p!=NULL){while(p->next!=NULL){q=p;while((1)){if((2)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大学生遛狗工作方案
- 2026年秋招:上海农村商业银行笔试题及答案
- 2026年秋招:陕西建工控股集团笔试题及答案
- 2026年海南高中教师文秘招聘考试练习试卷(含答案)
- 2026年宁夏图书馆成本管控专员招聘考试练习试卷(含答案)
- 2026年湖北十堰博物馆招聘考试练习试卷(含答案)
- 2026年辽宁地铁集团党建专员招聘考试练习试卷(含答案)
- 2026年甘肃民政局税务专员招聘考试练习试卷(含答案)
- 温州公用集团历年真题
- 类风湿关节炎合并多发性骨髓瘤1例
- 招聘4人!西宁市世纪职业技术学校招聘编外教师及实训管理员笔试参考题库及答案详解
- 定向钻专项施工方案
- 2026年二级建造师继续教育考试练习题及答案
- (2025)中国肩袖损伤修复围手术期eras护理专家共识课件
- 初中八年级历史 中国特色社会主义道路 大单元教学设计
- 2026年出版专业技术人员职业资格考试(中级)基础知识试题与答案
- 学校食堂员工食品安全培训
- 2026年民兵常识考试试卷及答案
- (正式版)DB37∕T 5323-2025 《住宅设计标准》
- GB/T 44693.4-2026危险化学品企业工艺平稳性第4部分:开工过程管理规范
- 知识题库-校招HR岗位笔试能力测试题及答案
评论
0/150
提交评论