C语言结构体习题及答案.pptx
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
A) 14
B) 6
C) 2
D) 21
5. 运行下列程序段,输出结果是 【 】
struct country
{ int num;
char name[10];
}x[5]={1,"China",2,"USA",3,"France",4, "England",5, "Spanish"};
struct country *p;
13. 定义以下结构体数组
struct date { int year; int month;
3
}; struct s
{ struct date birth; char name[20];
}x[4]={{2008,8,"hangzhou"},{2009,3,"Tianjin"}}; 语句 printf("%c,%d",x[1].name[1],x[1].birth.year);的输出结果为【 】 A)a,2008 B)hangzhou,2008 C)i,2009 D)Tianjin,2009
A) 2,France B) 3,France C) 4,England D) 3, China
12. 定义以下结构体数组 struct { int num; char name[10]; }x[3]={1,"china",2,"USA",3,"England"};
语句 printf("\n%d,%s",x[1].num,x[2].name)的输出结果为【 】 A. 2,USA B. 3,England C.1,china D )2,England
p=x+2;
printf("%d,%c",p->num,(*p).name[2]);
A) 3,a
B) 4,g
C) 2,U
D) 5,S
1
6.下面程序的运行结果是【 】。 struct KeyWord
{ char Key[20]; int ID;
}kw[]={"void",1,"char",2,"int",3,"float",4,"double",5}; main()
14. 运行下列程序,输出结果是【 】
struct contry
{
int num;
char name[20];
}x[5]={1,"China",2,"USA",3,"France",4,"Englan",5,"Spanish"};
main()
{
int i;
for (i=3;i<5;i++)
printf("%d%c",x[i].num,x[i].name[0]);
语句 printf("%s,%d,%d,%d",x[0].name,x[1].birthday.year); 的输出结果为 【 】。 A) guangzhou,2009 B) guangzhou,2008 C) Tianjin,2008 D) Tianjin,2009
11. 运行下列程序段,输出结果是【】。 struct country { int num; char name[20]; }x[5]={1, "China", 2, "USA", 3, "France", 4, "England", 5, "Spanish"}; struct country *p; p=x+2; printf("%d,%s",p->num,x[0].name);
2
D) printf("%s\n",class[0].name);
10. 定义以下结构体数组 struct date { int year; int month; int day; }; struct s { struct date birthday; char name[20]; } x[4]={{2008, 10, 1, "guangzhou"}, {2009, 12, 25, "Tianjin"}};
} A)3F4E5S
B)4E5S C)F4E
D)c2U3F4E
{ printf("%c,%d\n",kw[3].Key[0], kw[3].ID);
}
A) i,3
B) n,3
C) f,4
D) l,4
7.定义以下结构体类型 struct student
{ char name[10];
int score[50];
float average;
}stud1;
则 stud1 占用内存的字节数是【 】。
第 9 章 结构体
1.定义以下结构体类型
struct s
{
int a;
char b;
float f;
}; 则语句 printf("%d",sizeof(struct s))的输出结果为【 】。A)
3
B) 7 C) 6 D) 4
2. 当定义一个结构体变量时,系统为它分配的内存空间是【 】 A)结构中一个成员所需的内存容量 B)结构中第一个成员所需的内存容量 C)结构体中占内存容量最大者所需的容量 D)结构中各成员所需内存容量之和
3. 定义以下结构体类型
struct s
{ int x;
float f;
}a[3];
语句 printf("%d",sizeof(a))的输出结果为 【 】
A) 4
B) 12
C) 18
D) 6
4. 定义以下结构体数组
struct c
{ int x;
int y;
}s[2]={1,3,2,7};
语句 printf("%d",s[0].x*s[1].x)的输出结果为 【 】
A) 64
B) 114
C) 228
D) 7
8.如果有下面的定义和赋值,则使用【 】不可以输出 n 中 data 的值。
struct SNode
{
unsigned id;
int data; }n,*p;
p=&n;
A) p.data
B) n.data
源自文库
C) p->data
D) (*p).data
9.根据下面的定义,能输出 Mary 的语句是【】。 struct person { char name[9]; int age; };
struct person class[5]={"John",17,"Paul",19,"Mary",18,"Adam",16};
A) printf("%s\n",class[1].name); B) printf("%s\n",class[2].name); C) printf("%s\n",class[3].name);