admin 管理员组

文章数量: 1184232


2024年4月18日发(作者:oracle11数据库安装缺少组件)

第9章 结构体

一、单项选择题

1. 若有以下说明语句:

struct student

{ int num;

char name[ ];

float score;

}stu;

则下面的叙述不正确的是: ( )

A) struct是结构体类型的关键字 B) struct student 是用户定义的结构体类型

C) num, score都是结构体成员名 D) stu是用户定义的结构体类型名

2. 若有以下说明语句:

struct date

{ int year;

int month;

int day;

}brithday;

则下面的叙述不正确的是_____.

A) struct是声明结构体类型时用的关键字 B) struct date 是用户定义的结构体类型名

C) brithday是用户定义的结构体类型名 D) year,day 都是结构体成员名

3. 已知:(设整型2字节,字符型1字节,浮点型4字节)

struct

{ int i;

char c;

float a;

}test;

则sizeof(test)的值是 。

A) 4 B) 5 C) 6 D) 7

4. 以下对结构变量stul中成员age的非法引用是 。

struct student

{ int age;

int num;

}stu1,*p;

p=&stu1;

A) B) C) p->age D) (*p).age

5. 有如下定义

struct person{char name[9]; int age;};

struct person class[10]={“Tom”,17,“John”,19,

“Susan”,18,“Adam”,16,};

根据上述定义,能输出字母A的语句是

A) printf(“%cn”,class[3].name); B) printf(“%cn”,class[3].name[0]);

C) printf(“%cn”,class[3].name[1]); D) printf(“%cn”,class[2].name[3]);

6. 存放100个学生的数据、包括学号、姓名、成绩。在如下的定义中,不正确的是( )。

A.struct student

{int sno;

char name[20];

float score;

} stu[100];

B. struct student stu[100]

{int sno;

char name[20];

float score};

C. struct

{ int sno;

char name[20];

float score;} stu[100];

D. struct student

{int sno;

char name[20];

float score;};

struct student stu[100];

7. 设有定义语句“struct {int x; int y;} d[2]={{1,3},{2,7}};”

则“printf(“%dn”,d[0].y/d[0].x*d[1].x);”输出的是( )。

A.0 B)1 C)3 D)6

8. 设有如下定义,则对data中的a成员的正确引用是( )。

struct sk{ int a; float b;} data,*p=&data;

A)(*p))data.a B)(*p).a C)p->data.a D).a

9、已知: struct sk

{ int a;

float b;

}data, *p;

若有p=&data,则对data中的成员a的正确引用是( )。

A、(*p).data.a B、p->data.a C、(*p).a D、.a

10. 设有如下定义:

struck sk

{ int a;

float b;

}data;

int *p;

若要使P指向data中的a域,正确的赋值语句是

A) p=&a;

struct student

{ int age;

B) p=data.a; C) p=&data.a; D)*p=data.a;

11. 以下对结构变量stu1中成员age的非法引用是( )。

int num;

}stu1,*p;

p=&stu1;

A、 B、 C、 p->age D、 (*p).age

12、设有以下说明语句:

typedef struct stu

{ int a;

float b;

} stutype;

则下面叙述中错误的是( )。

A、struct是结构类型的关键字

C、a和b都是结构成员名

二、阅读程序,写出运行结果

1.

#include

struct st

{ int x;

int y;

} a[2]={5, 7, 2, 9} ;

main()

{

printf("%dn",a[0].y*a [1].x);

}

运行结果是:

14

2.

#include

main( )

{struct stu

{int no;

char a[5];

float score;

}m={1234,”wang”,89.5};

printf(“%d,%s,%f”,,m.a,);

}

运行结果是:

1234,wang,89.500000

B、struct stu是用户定义的结构类型

D、stutype是用户定义的结构体变量名


本文标签: 结构 定义 类型 语句 字节