第10次作业-结构

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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 {

相关文档
最新文档