第十一章结构体的试题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(1)()是关于C语言数据类型的正确叙述。
A) 枚举类型不是基本类型
B) 变量使用前应定义相应的数据类型
C) 不允许使用空类型
D) 数组不是构造类型
(2) 下列()对结构类型变量定义是错误的。
A) struct teacher
{ int num;
int age;
};
struct teacher teach1;
B) struct
{ int num;
int age;
} teach1, teach2;
C) struct
{ int num;
int age;
} teacher;
struct teacher teach1;
D) struct teacher
{ int num;
int age;
} teach1;
(3) 若有定义:
char ch;
int j,k;
enum day {sun, mon, tue, wed, thu, fri, sat};
int a[sat];
则()对下列语句是否符合语法规则的判断是正确的。
sun=0; /*语句1*/
j=mon+tue; /*语句2*/
if (a[mon]>0) j++; /*语句3*/
A) 语句1、2、3均正确
B) 语句2正确,语句1和语句3错误
C) 语句1错误,语句2和语句3正确
D) 语句1、2、3均错误
(4) 若有定义:
struct teacher
{ int num;
char sex;
int age;
} teacher1;
则下面叙述错误的是()。
A) teacher1是结构类型名
B) struct teacher是用户定义的结构类型
C) num、sex、age都是结构变量teacher1的成员
D) struct是结构类型的关键字
(5) 下列程序段运行后,表达式()的值为3。
struct point
{ int x;
int y;
} *p;
struct point a[3]={1,2,3,4,5,6};
p=a;
A) p[1].x
B) *(p+2)
C) p[3].x
D) p[2].x
(6) 若有定义:
typedef int NUM[100];
NUM n;
则()语句是正确的。
A) n[0]=2;
B) NUM=2;
C) NUM=n;
D) n=2;
(7) 若有定义int a=1,b=2,t=3;
struct data
{ char a;
float b[3];
long c;
}d1;
则变量d1的长度是()。
A) 4
B) 17
C) 12
D) 15
(8) 若有定义
struct teacher
{ int num;
char name[10];
char sex;
int age;
}t1={2001,”Li Ming”,’M’,35};
则下列()对结构变量引用是正确的。
A) t1->name
B)
C) [0]
D) t1->name[0]
(9) 若有定义enum day{sun,mon,tue,wed,thu,fri,sat};,则枚举常量sun、mon的值分别为()。
A) 0 1
B) 7 1
C) 7 0
D) 1 2
(10) 若有定义
union u_type
{ int x;
float y[3];
char z;
}a;
则变量a的长度是()
A) 4
B) 1
C) 15
D) 12
(11)()对枚举类型的定义是错误的。
A) enum b{1,2,3};
B) enum a{A,B,C};
C) enum d{X=0,Y=5,Z=9};
D) enum c{D=3,E,F};
(12) 以下程序段的运行结果是()。
union
{ int num1;
int num2;
}s;
s.num1=20;
s.num2=30;
printf(“%d”,s.num1);
A) 2030
B) 20
C) 50
D) 30
(13) 若有定义
Typedef int * INTEGER;
INTEGER p;
则下面叙述正确的是()
A) p是与INTEGER相同的类型
B) 程序中可用INTEGER定义int类型指针变量
C) p是一个整型变量
D) 程序中可用INTEGER定义int类型变量
(14) 若有定义:enum num{a1,a2=3,a3,a4=0};,则枚举常量a2、a3的值分别为()。
A) 2 3
B) 3 4
C) 3 3
D) 1 2
(15) 下列程序段的运行结果是()。
union data
{
int a;
char b;
} data1;
data1.b=’A’;
data1.a++;
printf(“%c\n”,data1.b);
A、66
B、65
C、B
D、A
(16) 若已定义:
struct teacher
{ int num;
char name[20];
} t1,*p=&t1;
下列对结构变量t1中成员num合法的引用是()。
A、teacher.num
B、t1->num
C、p->num
D、*p.num
(17) 以下语句正确的是()。