内容正文:
专题十八 结构体数组
1、 选择题
1. 设有一结构体类型变量定义如下:
struct date
{ int year;
int month;
int day;};
struct worklist
{ char name[20];
char sex;
struct date birthday;
} person;
若对结构体变量person的出生年份进行赋值时,下面正确的赋值语句是( )
A. year=1976
B. birthday.year=1976
C. person.birthday.year=1976
D. person.year=1976
2. 有如下定义
struct person
{ char name[9];
int age;};
struct person class[10]={ " Johu", 17,"Paul", 19,"Mary", 18,"Adam",16};
根据上述定义,能输出字母M 的语句是( )。
A. prinft(" %c
",class[3].name);
B. printf(" %c
",class[3].name[1]);
C. prinft(" %c
",class[2].name[1]);
D. printf(" %c
",class[2].name[0]);
3.设有以下说明语句
typedef struct
{ int n;
char ch[8];
}PER;
则下面叙述中正确的是 。
A. PER 是结构体变量名
B. PER 是结构体类型名
C. typedef struct 是结构体类型
D. struct 是结构体类型名
4. 根据下述定义,可以输出字符’A’的语句是 。
struct person
{
char name[11];
struct
{ char name[11];
int age;
}other[10];
};
struct person man[10]={{ "Jone",{"Paul",20}},
{"Paul",{"Mary",18}},
{"Mary",{"Admm",23}},
{"Adam",{"Jone",23}}};
A. printf("%c",man[2].other[0].name[0]);
B. printf("%c",other[0].name[0]);
C. printf("%c",man[2].(*other[0]));
D. printf("%c",man[3].name);
二、简答题
1.读程序,写结果。
#include <stdio.h>
struct STU
{
char num[10];
float score[3];
};
void main()
{ struct STU s[3]={{"20021",90,95,85},
{"20022",95,80,75},
{"20023",100,95,90}};
int i;
float sum=0;
for(i=0;i<3;i++)
sum=sum+s[0].score[i];
printf("%6.2f
",sum);
}
2.读程序,写结果。
#include <stdio.h>
struct date
{
int year;
int month;
int day;
};
void change(struct date d)
{ d.year=2022;
d.month=d.day=6;
}
main()
{ struct date date1= {0,0,0};
change(date1);
printf("%d,%d,%d
",date1.year ,date1.month,date1.day);
}
原创精品资源学科网独家享有版权,侵权必究!
$$
专题十八 结构体数组
1、 选择题
1. 设有一结构体类型变量定义如下:
struct date
{ int year;
int month;
int day;};
struct worklist
{ char name[20];
char sex;
struct date birthday;
}