- 1、本文档共41页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言模拟题13-结构体与公用体
第十四部分:结构体与共用体及用户定义类型
一、选择题:
(1)有以下程序段
typedef struct NODE
{ int num; struct NODE *next;
} OLD;
以下叙述中正确的是
A)以上的说明形式非法
B)NODE是一个结构体类型
C)OLD是一个结构体类型
D)OLD是一个结构体变量
(2)有以下程序
# include string.h
struct STU
{ int num;
float TotalScore; };
void f(struct STU p)
{ struct STU s[2]={{20044,550},{20045,537}};
p.num = s[1].num; p.TotalScore = s[1].TotalScore;
}
main()
{ struct STU s[2]={{20041,703},{20042,580}};
f(s[0]);
printf(%d %3.0f\n, s[0].num, s[0].TotalScore);
}
程序运行后的输出结果是
A)20045 537
B)20044 550
C)20042 580
D)20041 703
(3)有以下程序
# include string.h
struct STU
{ char name[10];
int num; };
void f(char *name, int num)
{ struct STU s[2]={{SunDan,20044},{Penghua,20045}};
num = s[0].num;
strcpy(name, s[0].name);
}
main()
{ struct STU s[2]={{YangSan,20041},{LiSiGuo,20042}},*p;
p=s[1]; f(p-name, p-num);
printf(%s %d\n, p-name, p-num);
}
程序运行后的输出结果是
A)SunDan 20042
B)SunDan 20044
C)LiSiGuo 20042
D)YangSan 20041
(4)有以下程序
struct STU
{ char name[10]; int num; float TotalScore; };
void f(struct STU *p)
{ struct STU s[2]={{SunDan,20044,550},{Penghua,20045,537}}, *q=s;
++p ; ++q; *p=*q;
}
main()
{ struct STU s[3]={{YangSan,20041,703},{LiSiGuo,20042,580}};
f(s);
printf(%s %d %3.0f\n, s[1].name, s[1].num, s[1].TotalScore);
}
程序运行后的输出结果是
A)SunDan 20044 550
B)Penghua 20045 537
C)LiSiGuo 20042 580
D)SunDan 20041 703
(5)若有以下说明和定义
union dt
{
int a; char b; double c;
}data;
以下叙述中错误的是
A)data的每个成员起始地址都相同
B)变量data所占内存字节数与成员c所占字节数相等
C)程序段:data.a=5;printf(%f\n,data.c);输出结果为5.000000
D)data可以作为函数的实参
(6)设有如下说明
typedef struct ST
{
long a;
int b;
char c[2];
} NEW;
则下面叙述中正确的是
A)以上的说明形式非法
B)ST是一个结构体类型
C)NEW是一个结构体类型
D)NEW是一个结构体变量
(7)有以下结构体说明和变量定义,如图所示,指针pqr分别指向此链表中三个连续结点。
struct node
{
int data;
struct node *next;
} *p,*q,*r;
现要将q所指结点从链表中删除,同时保持链表的连续,以下不能完成指定操作的语句是
A)p-next=q-next;
B)p-next=p-next-next;
C)p-next=r;
D)p=q-next;
(8)以下对结构体类型变量td的定义中,错误的是
A)
文档评论(0)