第十章 结构体与共用体:结构体与共用体10.1学生成绩管理:学生成绩管理
10.2结构体类型及其变量:结构体类型及其变量
10.3结构体变量的初始化:结构体变量的初始化
10.4结构体指针变量:结构体指针变量
10.5用链表管理学生成绩:用链表管理学生成绩
10.6共同体类型:共同体类型
10.7枚举类型和typedef:枚举类型和typedef
[单选题]若有以下语句
struct ex
{ int x, float y, char z;} example;
则下面的叙述中不正确的是( )。

选项:[x,y,z都是结构体成员名
, struct ex是结构体类型名
, example是结构体类型名
, struct是结构体类型的关键字
]
[单选题]struct node
{ float x;
struct node* next;
};
void connect (struct node* t1, struct node *t2)
{
if(t1->next ==NULL)
t1->next = t2;
else
connect ( ,t2);
}
下面函数的功能是将指针t2所指向的线性链表链接到t1所指向的链表的末端(假定t1所指向的链表非空)
要实现此功能则应该补全connect代码,填入的选项是( )。

选项:[++t1.next
, t1.next
, t1->next
, ++t1->next
]
[单选题]struct student{ int no, char name[9]; int age;};
struct student studs[6] = {1001, "Yan", 19, 1002, "Wang", 20, 1003, "Shen", 19, 1004, "Li", 20};
根据下面的定义,能打印出数字20语句是( )。

选项:[printf("%dn", studs[0].no);
, printf("%dn", studs[1].age);
, printf("%dn", studs[3].name);
, printf("%dn", studs[4].age+1);
]
[单选题]struct sk{int a; float b;}data, *p=&data;
设有如下定义,则对data中成员a引用正确的是( )。

选项:[(*p).a
, p->data.a
, p.data.a
, (*p).data.a
]
[单选题]下面关于结构体类型的描述错误的是( )。

选项:[结构体成员名不能与程序中的变量名相同
, 不能将结构体变量作为一个整体进行输入和输出
, 结构体成员的类型可以是一个已经定义的结构体类型
, 可引用结构体变量的地址,也可引用结构体变量成员的地址
]
[单选题]关于在程序运行期间C语言的结构体变量的描述是正确的( )。

选项:[所有的成员一直驻留在内存中
, 在内存中仅仅开辟一个存放结构体变量地址的单元
, 部分成员驻留在内存中
, 只有最开始的成员驻留在内存中
]
[单选题]typedef union
{ long x[2]; int y[4]; char z[8]; } MYTYPE;
MYTYPE them;
在32位CPU下的Visual C++6.0的环境中,若有如下定义,则printf("%dn", sizeof(them));的输出值是( )。

选项:[16
, 24
, 8
, 32
]
[单选题]struct Student
{ long no[2]; int s[4]; char str[8]; } your;
在32位CPU下的Visual C++6.0的环境中,若有如下定义,则printf("%dn", sizeof(your));的输出值是( )。

选项:[16
, 24
, 32
, 8
]
[单选题]设有结构体定义"struct { int i; int j;} d[2]={{1,3}, {2,7}};",则printf("%dn", d[0].j/d[0].i*d[1].i);的执行结果是( )。

选项:[6
, 3
, 0
, 1
]
[单选题]设有枚举定义"enum tern{ my, your=4, his, her=his+10};",则printf("%d,%d,%d,%d", my, your,his,her);的输出是( )。

选项:[0,4,5,15
, 0,1,2,3
, 1,4,5,15
, 0,4,0,10
]
[单选题]设有结构体定义"struct { int i; int j;} d[2]={{1,3}, {2,7}};",则printf("%dn", d[0].j/d[0].i*d[1].i);的执行结果是( )。

选项:[0
, 6
, 3
, 1
]
[单选题]设有枚举定义"enum tern{ my, your=4, his, her=his+10};",则printf("%d,%d,%d,%d", my, your,his,her);的输出是( )。

选项:[0,1,2,3
, 0,4,5,15
, 0,4,0,10
, 1,4,5,15
]
[单选题]typedef union
{ long x[2]; int y[4]; char z[8]; } MYTYPE;
MYTYPE them;
在32位CPU下的Visual C++6.0的环境中,若有如下定义,则printf("%dn", sizeof(them));的输出值是( )。

选项:[8
, 16
, 32
, 24
]
[单选题]struct Student
{ long no[2]; int s[4]; char str[8]; } your;
在32位CPU下的Visual C++6.0的环境中,若有如下定义,则printf("%dn", sizeof(your));的输出值是( )。

选项:[16
, 8
, 32
, 24
]
[单选题]struct student{ int no, char name[9]; int age;};
struct student studs[6] = {1001, "Yan", 19, 1002, "Wang", 20, 1003, "Shen", 19, 1004, "Li", 20};
根据下面的定义,能打印出数字20语句是( )。

选项:[printf("%dn", studs[0].no);
, printf("%dn", studs[1].age);
, printf("%dn", studs[3].name);
, printf("%dn", studs[4].age+1);
]
[单选题]struct sk{int a; float b;}data, *p=&data;
设有如下定义,则对data中成员a引用正确的是( )。

选项:[p.data.a
, (*p).a
, (*p).data.a
, p->data.a
]
[单选题]下面关于结构体类型的描述错误的是( )。

选项:[可引用结构体变量的地址,也可引用结构体变量成员的地址
, 不能将结构体变量作为一个整体进行输入和输出
, 结构体成员的类型可以是一个已经定义的结构体类型
, 结构体成员名不能与程序中的变量名相同
]
[单选题]关于在程序运行期间C语言的结构体变量的描述是正确的( )。

选项:[在内存中仅仅开辟一个存放结构体变量地址的单元
, 所有的成员一直驻留在内存中
, 部分成员驻留在内存中
, 只有最开始的成员驻留在内存中
]
[单选题]若有以下语句
struct ex
{ int x, float y, char z;} example;
则下面的叙述中不正确的是( )。

选项:[struct ex是结构体类型名
, example是结构体类型名
, struct是结构体类型的关键字
, x,y,z都是结构体成员名
]
[单选题]struct node
{ float x;
struct node* next;
};
void connect (struct node* t1, struct node *t2)
{
if(t1->next ==NULL)
t1->next = t2;
else
connect ( ,t2);
}
下面函数的功能是将指针t2所指向的线性链表链接到t1所指向的链表的末端(假定t1所指向的链表非空)
要实现此功能则应该补全connect代码,填入的选项是( )。

选项:[t1.next
, t1->next
, ++t1->next
, ++t1.next
]

温馨提示支付 ¥1.00 元后可查看付费内容,请先翻页预览!
点赞(0) dxwkbang
返回
顶部