大学网课搜题引擎
首页
爱课程(中国大学MOOC)
C语言程序设计
第十四周:结构与联合(2)
题目详情
简答题
联合变量不可以向另一个相同类型的联合变量整体赋值。
A、正确
B、错误
查看答案与解析
简答题
有以下程序: #include #include struct STU { char name[10]; int num; }; void f(char *name, 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); } void main() { struct STU s[2]={{"YangSan",20041},{"LiSiGao",20042}},*p; p=&s[1]; f(p->name,p->num); printf("%s %d ",p->name,p->num); } 程序运行后的输出结果是( )。 A、SunDan 20042 B、SunDan 20044 C、LiSiGuo 20042 D、YangSan 20041
简答题
如下定义的结构类型变量 a 所占内存字节数是( ) union U { char st[4]; short i; long l; }; struct A { short c; union U u; } a; A、4 B、5 C、6 D、12
简答题
位字段成员可以在数值表达式中引用,它会被系统自动的转换成整数型。 A、正确 B、错误
简答题
联合体的内存空间在某个时刻只能保持某个成员项的数据。 A、正确 B、错误
简答题
一个位段可以跨存储单元存储。 A、正确 B、错误
简答题
若有如下定义: union data { short i; char c; float f; } ; union data b; 则联合变量 b 占用内存的字节数是( ) A、1 B、2 C、4 D、7
简答题
有以下程序: #include struct STU { char name[10]; int num; float TotalScore; }; void f(struct STU *p); void f(struct STU *p) { struct STU s[2]={{"SunDan",20044,550},{"Penghua",20045,537}}, *q=s; ++p; ++q; *p=*q; } void main() { struct STU s[3]={ {"YangSan",20041,703},{"LiSiGuo",20042,580}}; f(s); printf("%s %d %3.0f ",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
简答题
下列描述说明正确的是( ) A、联合变量定义时,系统按照各成员项所需空间的大小对各成员分别分配存储空间。 B、联合类型定义时不但确定了该类型的存储结构,还分配相应的存储空间。 C、联合变量定义时,系统按照占用空间最大的成员项分配存储空间。 D、其它说法均不正确。
简答题
在以下位字段结构的定义中,不正确的是( ) A、struct test { unsigned a:1; unsigned b:2; unsigned c:17; } B、struct test { unsigned a:1; unsigned b:2; unsigned c:12; } C、struct test { unsigned a:1; unsigned b:2; unsigned c:7; } D、struct test { unsigned a:1; unsigned : 0; unsigned c: 7; }
简答题
假定整型变量中,数值的低位存储在低地址字节,高位存储在高地址字节,则以下程序的输出结果是( ) #include void main() { union { short i[2]; long k; char c[2]; } r, *s=&r; s->k=0x12345678; printf("%x ", s->c[0]); } A、12 B、78 C、1234 D、5678
简答题
运行下列程序段,输出结果是( )struct country{ int num; char name[10];};struct country x[5]={1,"China",2,"USA",3,"France',4,"England",5,"Spanish"};struct country *p;p=x+2;printf("%d, %c", p->;num,(*p).name[2]); A、3,a B、4,g C、2,U D、5,s
简答题
联合类型变量中所有成员的起始存储地址都相同。 A、正确 B、错误
简答题
有以下程序 #include #include struct A { int a; char b[10]; double c; }; void f(struct A *t); void main() { struct A a= {1001,"ZhangDa",1098.0}; f(&a); printf("%d,%s,%6.1f ",a.a,a.b,a.c); } void f(struct A *t) { t->a=1002; strcpy(t->b,"ChangRong"); t->c=1202.0; } 程序运行后的输出结果是( ) A、1001,zhangDa, 1098.0 B、1002,ChangRong, 1202.0 C、1001,ChangRong, 1098.0 D、1002,zhangDa, 1202.0
简答题
已知学生记录描述为: struct student { int no; char name [20]; char sex; struct{ int year; int month; int day; }brith; }; struct student s; 设变量s中的“生日”应是“1984年11月11日”,下列对“生日”的正确赋值方式是( )。 A、 year=1984; month=11; day=11; B、brith.year=1984; brith.month=11; brith.day=11; C、s.year=1984; s.month=11; s.day=11; D、s.brith.year=1984; s.brith.month=11; s.brith.day=11;
简答题
以下对结构体类型变量的定义中,不正确的是( ) A、typedef struct aa { int n; float m; }AA; AA tdl; B、#define AA struct aa AA { int n; float m; } tdl; C、struct aa { int n; float m; }; struct aa tdl; D、struct { int n; float m; }tdl;
简答题
执行下列程序的输出结果是( ) #include struct st { int x; int *y; } *p; int dt[4]={10,20,30,40}; struct st aa[4]={50,&dt[0],60,&dt[1],70,&dt[2],80,&dt[3]}; void main( ) { p=aa; printf("%d ",++p->x); printf("%d ",(++p)->x); } A、10 20 B、50 60 C、51 60 D、60 70
简答题
有以下程序: #include struct STU { int num; float TotalScore; }; void f(struct STU p); void f(struct STU p) { struct STU s[2]={{20044,550},{20045,537}}; p.num=s[1].num; p.TotalScore=s[1].TotalScore; } void main() { struct STU s[2]= {{20041,703},{20042,580}}; f(s[0]); printf("%d %3.0f ",s[0].num,s[0].TotalScore); } 程序运行后的输出结果是( )。 A、20045 537 B、20044 550 C、20042 580 D、20041 703
简答题
位字段结构体内不能定义不带名字的位字段。 A、正确 B、错误
简答题
运行下列程序,输出结果是( ) #include struct country { int num; char name[20]; }; struct country x[5]={1,"China",2,"USA",3,"France",4,"Englan",5,"Spanish"}; void main( ) { int i; for(i=3;i printf("%d%c",x[i].num, x[i].name[0]); } A、3F4E5S B、4E5S C、F4E D、c2U3F4E
简答题
字符'0'的 ASCII 的十进制数为 48,且数组的第 0 个元素在低位,则以下程序的输出 结果是( ) #include void main() { union { short i[2]; long k; char c[4]; } r, *s=&r; s->i[0]=0x39; s->i[1]=0x38; printf("%c ", s->c[0]); } A、39 B、9 C、38 D、8
C语言程序设计
章节列表
第一周:C语言概述
17
第二周:C语言变量、常量及表达式
44
第三周:C程序及流程控制(1)
31
第四周:C程序及流程控制(2)
23
第五周:函数(1)
28
第六周:函数(2)
21
第七周:数组(1)
21
第八周:数组(2)
15
第九周:指针(1)
31
第十周:指针(2)
27
第十一周:字符串(1)
23
第十二周:字符串(2)
23
第十三周:结构与联合(1)
23
第十四周:结构与联合(2)
26
第十五周:枚举、链表与文件(该章不作为考试内容)
15
期末考试
36