历年二级考试真题及答案
{char name[10];
int age;
char sex;
}s[5],*ps;
ps=&s[0];
则以下scanf函数调用语句中错误的结构体变量成员的是
A scanf("%s",s[0].name); B scanf("%d",&s[0].age);
C scanf("%c",&(ps->sex)); D scanf("%d",ps->age);
(46)有以下定义和语句
union data
{int i; char c; float f;}x;
int y;
则以下语句中正确的是
A x=10.5 B x.c=101 C y=x D printf("%d\n",x);
(47)程序中已构成如下图所示的不带头结点的单向链表结构指针变量s,p,q均已正确定义,并用于指向链表结点,指针变量s总是作为头指针指向链表的第一个结点
.
若有以下程序段
q=s; s=s->next; p=s;
while(p->next)p=p->next;
p->next=q; q->next=NULL;
该程序段实现的功能是
A 首结点成为尾结点 B 尾结点成为首结点
C 删除首结点 D 删除尾结点
(48)若变量已正确定义,则以下语句的输出结果是
s=32; s^=32; printf("%d",s);
A -1 B 0 C 1 D 32
(49) 以下叙述正确的是
A C语言中的文件是流式文件,因此只能顺序存取数据
B 打开一个已存在的文件并进行了写操作后,原有文件中的全部数据必定被覆盖
C 在一个程序中当对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到第一个数据
D 当对文件的读(写)操作完成之后,必须将它关闭,否则可能导致数据丢失
(50)有以下程序
#include <stdio.h>
main()
{FILE *fp; int i;
char ch[]="abcd",t;
fp=fopen("abc.dat","wb+");
for(i=0;i<4;i++)fwrite(&ch[i],1,1,fp);
fseek(fp,-2L,SEEK_END);
fread(&t,1,1,fp);
fclose(fp);