大学网课搜题引擎
首页
北京学银在线教育科技有限公司
高级语言程序设计
8 结构体与共用体
题目详情
多选题
下列关于结构体的说法错误的是( )。 A.
结构体是由用户自定义的一种结构类型 B.
结构体中可设定若干个不同数据类型的成员 C.
结构体中成员的数据类型可以是另一个已定义的结构 D.
在定义结构时,可以为成员设置默认值
查看答案与解析
多选题
以下对结构类型变量定义中不正确的是( )。 A. #define STUDENT struct student STUDENT { int num; float age; } std1; B. struct student { int num; float age; } std1; C. struct { int num; float age; } std1; D. struct { int num; float age;} student;struct student std1;
多选题
定义下列结构体数组,执行语句printf("%d, %s",a[2].age, a[1].name)的输出结果为( )。 struct stu { char name[10]; int age; }a[5]={"Zhao",14, "Wang",15, "Liu",16, "Zhang",17}; A. 15, Zhao B. 16, Wang C. 17, Liu D. 17, Zhao
多选题
typedef int INTEGER; 的含义是( )。 A. 定义int类型变量INTEGER B. 定义INTEGER类型的变量int C. 将INTEGER声明为int类型的别名,INTEGER的使用和int一致 D. 将int声明为INTEGER类型的别名,int的使用和INTEGER一致
多选题
若有以下结构体定义,则正确的引用或定义是( )。struct exam{ int x; int y; }; A. exam.x=10; B. exam y,x; C. struct exam y=[10]; D. struct exam a; a.x=10;
简答题
已知struct fs{ int fz; int fm; }x[]={{2,7},{3,5}};,计算表达式x[0].fz*x[1].fm+x[1]. fz*x[0].fm和x[0].fm*x[1].fm的值分别为 (1) 、 (2) 。
多选题
设有以下说明,不正确的叙述是( )。union data{ int i; char c; float f;} un; A. un所占的内存长度等于成员c的长度 B. un的地址和其各个成员地址都是同一地址 C. un可以作为函数参数 D. 不能对un赋值,但可以在定义un时对它初始化
简答题
函数findbook的功能是:在有n个元素的数组s中查找名为a的书,若找到,则函数返回数组下标,否则,函数返回-1,请填空。 struct data { int id; char name[20]; double price; } book[100]; int findbook(struct data s[], int n, char a[]) { int i; for(i=0;i if( (1) ) return i; (2) ; }
多选题
定义如下结构体,若指针p指向结构体变量data,即有p = &data; ,则对结构体成员a的正确引用是( )。 struct sk { int a; float b; }data, *p; A. (*p).data.a B. (*p).a C. p->data.a D. p.data.a
简答题
已知有职工结构体数组struct { int num; char name[20]; } per[100];,用scanf函数写出输入下标为i的职工num和name的语句为 。
多选题
以下选项中,能定义s为合法结构体变量的是( )。 A. typedef struct abc { double a; char b[10]; } s; B. struct { double a; char b[10]; } s; C. struct ABC { double a; char b[10]; } ; ABC s; D. typedef ABC { double a; char b[10]; } ; ABC s;
多选题
若int占4字节,char占1字节,float占4字节,假设定义如下,则sizeof(xc)的值为( )。 struct stu{ union { char bj[5]; int bh[2]; } xu; char xm[8]; float cj;} xc; A. 17 B. 20 C. 18 D. 19
简答题
结构体类型pp的定义如下,若无参函数f()的返回值是struct pp类型的指针,则f()的函数声明为 。 struct pp { char name[15]; int addr[30]; int payment; }ppArr[10], *p = ppArr;
多选题
设有以下说明和语句,则下面表达式中值为3的是( )。struct s{ int i1; struct s *i2;};static struct s a[3]={1, &a[1], 2, &a[2], 3, &a[0]}, *ptr;ptr=&a[1]; A. ptr->i1++ B. ptr++->i1 C. *ptr->i1 D. ++ptr->i1
多选题
若建立了以下链表结构,head,p,q是指向结点的指针,要求输出如下图所示中间结点E的数据项,其正确的语句是( )。 A. q = p; printf("%c", q->data); B. q = p->next; printf("%c", q->data); C. q = p; printf("%c", q); D. q = p->next; printf("%c", q);
多选题
以下对结构体变量成员不正确的引用是( )。struct pupil { char name[20]; int age; int sex;} pup[5], *p=pup; A. scanf("%s", pup[0].name); B. scanf("%d", &pup[0].age); C. scanf("%d", &(p->sex)); D. scanf("%d", p->age);
多选题
设有定义union w{ int a[3]; float b[4]; char c[10]; }bb; 则printf("%d ", sizeof(bb));的输出是( )。 A. 6 B. 16 C. 17 D. 32
多选题
若已有语句如下,则以下说法错误的是( )。 struct student { int age; int num; } stu,*p; A. stu是结构体类型的变量 B. p是结构体类型的指针变量 C. student是结构体类型名 D. p是结构体变量
多选题
以下对共用体类型数据的正确叙述是( )。 A. 一旦定义了一个共用体变量后,即可引用该变量或该变量中的任意成员 B. 一个共用体变量中可以同时存放其所有成员 C. 一个共用体变量中不能同时存放其所有成员 D. 共用体类型数据可以出现在结构体类型定义中,但结构体类型数据不能出现在共用体类型定义中
多选题
已知:union u_type{ int i; char ch; } temp;则执行temp.i=266;后,temp.ch的数值为( )。 A. 266 B. 256 C. 10 D. 1
多选题
设有如下结点定义及链表情况,删除其中学号为101的语句是( )。struct node{ int num; /* 学号 */ struct node *next;} *head, *p; A. p=head->next; p->next=head->next; free(p); B. p=head->next; free(head); head=p; C. p=head->next; head->next=p->next; free(p); D. p=head->next; free(p->next); p->next=NULL;
高级语言程序设计
章节列表
1 C语言程序设计概述
24
2 顺序结构程序设计
45
3 选择结构程序设计
31
4 循环结构程序设计
25
5 数组
27
6 函数
68
7 指针
23
8 结构体与共用体
30
9 文件
59