C语言单项选择题4:

41.*若以下定义:structlink{intdata;strucklink*next;}a,b,c,*p,*q;且变量a和b之间已有如下图所示的链表结构:abdata... 41.
*若以下定义:

struct link
{ int data;
struck link *next;
}a,b,c,*p,*q;
且变量a和b之间已有如下图所示的链表结构:
a b
data next data next
┌──┬──┐ ┌──┬──┐
│ 5 │ ┼──→│ 9 │ '\0' │
└──┴──┘ └──┴──┘
↑p
c
data next
┌──┬──┐
│ 7 │ │
└──┴──┘
↑q
指针p指向变量a,,q指向变量c。则能够把c插入到a和b 之间并形成新的链表的语句组是()。
A) a.next=c; c.next=b;
B) p.next=q; q.next=p.next;
C) p->next=&c; q->next=p->next;
D) (*p).next=q; (*q).next=&b;

42.
设建立了一个链表结构,head指向链表头结点,p指向链表中某个结点,q是一个指向结点的指针,以下()组语句的功能是输出p下一结点(数据为E的结点)的数据项。

data next
┌─┬─┐ ┌─┬─┐ ┌─┬─┐
head ─→│ A│ ┼─→ │ E│ ┼─→ │ Y│ ┼─→ ……
└─┴─┘ └─┴─┘ └─┴─┘
↑p

A) q = p; printf("%c",q->data);
B) q = p->next; printf("%c",q->data);
C) q = p; printf("%c",q);
D) q = p->next; printf("%c",q);

43.
设有以下结构体定义及初始化,表达式p->score的结果是()。
struct node
{
int num;
float score;
} stu[2]={101,91.5,102,92.5},*p=stu;

A) 101
B) 91.5
C) 102
D) 92.5

44.
设有以下结构体定义及初始化,表达式x.fz*y.fm的结果是()。
struct fs { int fz, fm; };
struct fs x={2,3}, y={5,7};
A) 14
B) 10
C) 21
D) 15

45.
若有以下定义,输出字母M的语句是()。
struct person
{
char name[9];
int age;
};
struct person st[10] = {{"john",17},{"paul",19},{"Mary",18}};

A) printf("%c",st[2].name);
B) printf("%c",st[3].name[1]);
C) printf("%c",st[2].name[1]);
D) printf("%c",st[2].name[0]);

46.
以下文件函数中,用于将数据写到文件的函数是()。
A) fread
B) fgets
C) fwrite
D) fscanf

47.
设有定义FILE *fp; 将整数n以文本方式写到fp文件的语句是()。
A) fp = fopen( "file.txt", "w" );
B) fprintf( fp, "%d", n );
C) fwrite( &n, sizeof(int), 1, fp );
D) fclose(fp)

48.
需要以写模式打开一个名为myfile.txt的文本文件,下列打开文件正确的选项是()。
A) fopen("myfile.txt","r");
B) fopen("myfile.txt","w");
C) fopen("myfile.txt","rb");
D) fopen("myfile.txt","wb");

49.
以下文件函数中,用于关闭文件的函数是()。
A) fopen
B) fprintf
C) fscanf
D) fclose

50.
分析以下函数,该函数的功能是()。
void sca_from_file(int a[],int n,char fn[])
{
FILE *fp; int i;
fp=fopen(fn,"r");
for (i=0;i<n;i++)
fscanf(fp,"%d",&a[i]);
fclose(fp);
}
A) 打开文件fn,从文件中读出n个整数到数组a中
B) 打开文件fn,将数组a的n个元素写到文件中
C) 打开文件fn,从文件中读出n,再读n个整数到数组a中
D) 打开文件fn,将n和数组a的n个元素依次写到文件中
展开
 我来答
w_zhangwei_1
2012-02-25 · TA获得超过181个赞
知道答主
回答量:214
采纳率:0%
帮助的人:148万
展开全部
41.D
42.B
43.B
44.A
45.D
46.C
47.B
48.B
49.D
50.A

就第一个需要注意一下, 像这样定义struct link *p,*q;的结构体指针,是不能这样调用的:p.data。只能p->data
或者(*p).data:
而这里的 “*” 可以理解为 取值 符号和“&” 取地址是相反的作用。和定义指针的时候是不一样的
老冯文库
推荐于2021-02-08 · 知道合伙人软件行家
老冯文库
知道合伙人软件行家
采纳数:1139 获赞数:8733

向TA提问 私信TA
展开全部
41.D
42.B
43.B
44.A
45.D
46.C
47.B
48.B
49.D
50.A
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zc2239
2012-02-25
知道答主
回答量:7
采纳率:0%
帮助的人:13.7万
展开全部
41->D, 42->B, 43->B, 44->A, 45->D, 46->C, 47->B, 48->B, 49->D, 50->A
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
天才绣
2012-02-25 · TA获得超过199个赞
知道小有建树答主
回答量:550
采纳率:0%
帮助的人:230万
展开全部
BBAADCAADA
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式