第10次作业-结构
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单选题
(6月5日前提交该作业)
1. 有以下定义:
struct {
int x;
int y;
} a={ 5,7}, *p=&a;
则表达式++p->x的值为( )。
A. 5
B. 6
C. 7
D. 8
2、设有以下定义,正确的叙述是()。
typedef struct S {int g; char h; } T;
A. 可用S定义结构变量
B. 可用T定义结构变量
C. S是struct类型的变量
D. T是struct S类型的变量
3. 设有定义:
struct date {
int month, day, year;
} d, *p=&d; 不正确的引用形式是( )。
A. p->year
B. d.year
C. p.year
D. (*p).year
4、设有如下定义,能正确定义结构数组并赋初值的语句是()。
typedef struct {
int n;
char c;
double x;
} STD;
A. STD tt[2]={{1,'A',62},{2, 'B',75}};
B. STD tt[2]={{1,"A",62},{2, "B",75}};
C. struct tt[2]= {{1,'A',62},{2, 'B',75}}; C. struct tt[2]= {{1,"A",62},{2, "B",75}};
5. 设变量定义如下,则对其中的结构成员num正确的引用是()。
struct student {
int num;
char name[20];
float score;
} stud[10];
A. stud[1].num = 10;
B. student.stud.num = 10;
C. struct.stud.num = 10;
D. struct student.num = 10;
6、下面程序执行后输出结果是()。
#include
void main( )
{
char str[20]=”Bill Gats”;
int c,i,j;
for(i=0,j=strlen(str)-1;i c=str[i]; str[i]=str[j]; str[j]=c; } printf(“inverted sequence=%s\n”,str ); } A. inverted sequence= staG lliB B. inverted sequence= Bill Gats C. inverted sequence=staG D. inverted sequence=lliB 7、下面程序执行后的输出结果是()。 #include struct STU{ char name[10]; int num; }; void f1(struct STU c) { struct STU b={"GuoSi", 2042}; c=b; } void f2(struct STU *c) { struct STU b={"SunDan", 2044 }; *c=b; } void main( ) { struct STU a={"ZhangSan",2041},b={"LiYin",2043}; f1(a); f2(&b); printf("%d %d\n",a.num,b.num); } A. 2041 2044 B. 2041 2043 C. 2042 2044 D. 2042 2043 8、下面程序执行后的输出结果是()。 #include struct STU { char name[10]; int num; int Score; }; void main( ) { struct STU s[5]= { {"YangSan",20041,703}, {"LiSiGuo",20042,580}, {"wangYin",20043,680}, {"SunDan",20044,550}, {"Penghua",20045,537} }, *p[5], *t; int i, j; for(i=0;i<5;i++) p[i]=&s[i]; for(i=0;i<4;i++) { for(j=i+1;j<5;j++) { if(p[i]->Score > p[j]->Score) { t=p[i]; p[i]=p[j]; p[j]=t; } } } printf("%d %d\n", s[1].Score, p[1]->Score); } A. 550 550 B. 680 680 C. 580 550 D. 580 680 9、设有如下定义,错误的输入语句是()。 struct ss { char name[10]; int age; char sex; } std[3], *p=std; A. scanf("%d",&(*p).age); B. scanf("%s",&); C. scanf("%c",&std[0].sex) D. scanf("%c",&(p->sex)); 10、有以下说明语句,错误的表达式是()。 struct student {