1、#include“ student;
void func(struct student s[ ]int n);void main( )func(s,4);for(i=0;i<4;i++)
printf(“%5s%f”,s[i].name,s[i].score)}
void func(struct student s[ ]int n)
#include<>
void main( )r,*s=&r;
s->i[0]=0x39;s->i[1]=0x38;printf("%c",s->c[0]);
#include <>void main( )
printf("%d",cnum[0].y/cnum[0].x*cnum[1].x);}
#include“ i;
charc[2];}
voidmain()
p->next='\0';return h;
5、若有以下的定义、说明和语句,则值为101的表达式是()。
structcw
inta ;int *b;} p;
int x0[ ]x1[ ]static struct cw x[2]=;p=x;a)*p->b
b)p->a
c)+ p->a)
d)(p+ +a
6、若有下面的定义:struct node
intdata;struct node*next;}a,b,*p=&a;
在链表结构中,节点a中的data成员可表示为(节点a节点bdatanext
datanextdatanextdatanexthead
pa)c)p->data
d)head->next->data
e)p->next->data
7、对于下列定义,正确的叙述是()
union ss
int i;char c;float f;}a,b;
a)变量a所占内存的长度等于成员f的长度b)变量a的地址值和它的各成员地址值都是相同的c)地址表达或&a、&的值相同d)变量a所占内存的长度等于各成员所占空间之和e)sizeof(union ss)的值为4
8、关于枚举类型中的枚举元素,正确的说法是()a)枚举元素是常量c)枚举元素是有值的。
b)枚举元素是变量d)枚举元素的值可以改变。
e)可将枚举元素直接赋值给枚举变量。
9、如有说明structd,*pd=&d;则下列哪些引用是正确的()。a)pd->yeard)*pd.year
b)(*pd).yeare)*(pd->year)
c)d.year
10、针对typedef的叙述中不正确的是()。a)用typedef可以增加新类型。
b)用typedef可以用来定义各种类型名,但不能用来定义变量c)用typedef只是将已经存在的类型用一个新的标识符来代表d)用typedef有利于程序的通用和移植。
11、已知:int*p;使用“p=__malloc(sizeof(int));语句动态申请int型的存储单元,应当使用()。a)int
b)int*
c)(*int)
d)(int*)
12、已知教师记录定义为;struct teacher
int no;char name[30];struct
unsigned int year;unsigned int month;unsigned int day;}birthday;};
struct teachera,*t=&a;
若要把变量a中的生日赋值为“2023年4月20日”,则正确的赋值方式为()。a)year=2002;month=4;day=20;
b)*出生日期*/
d)t->>
c)t->
13、enumcolor定义了一枚举类型.编译程序为枚举值表中各标识符分配的枚举值依次为()ac)0、l
bd14、设有下列语句typedef struct
int n;char ch[8];}stt;则下面叙述正确的是()。a)stt是结构体变量。
b)stt是结构类型名d)struct是结构体类型名。
c)typedef struct是结构体类型。
15、若已经建好的链表结构如下,指针p、q分别指向图示节点:apb
cq不能将q所指节点插入到链表末尾的一组语句是()。a)q->next=null;p=p->next;p->next=q;b)p=p->next;q->next=p->next;p->next=q;c)p=p->next;q->next=p;p->next=q;
d)p=(*p).next;(*q).next=(*p).next;(*p).next=q;16、对结构类型不能进行的操作有()。a)赋值和存取。
b)复制e)&操作。
c)作实际参数。
d)作函数的返回值。
17、若有下面的定义:struct linka,b,c,*p,*q;
且变量a和b之间有如下图所示的链表结构()。qhead
结点adata20
nextdata30pdata
nextnext∧
结点bdata40
nextdata50
next结点c
指针p指向变量a,q指向变量c。则能够把c插入到a和b之间并形成新的链表的语句组是:a)(*q).
next=(*p).next; (p).next=q;c)p->next=&c;q-next=p->next;d)(*p).
next=q;(*q).next=&b;e)q->next=p->next;q->next=q;b)
结构体编程练习
一 实验目的 1 理解结构体和共用体的作用功能 2 掌握结构体类型变量的定义方法 3 掌握结构体变量的使用方法 4 掌握结构体数组,并能较熟练应用 5 理解指向结构体类型数据的指针。二 实验内容及要求 1 用结构体实现在屏幕上模拟显示一个数字式时钟 思考题 1 用结构体指针作为函数参数与用结构体变量...
练习12 结构体排序
定义一个5个元素的 struct student 数组,1 从键盘输入5个学生的信息。2 按总分降序排序。3 按语文成绩降序排序。4 按姓名升序排序。struct student char name 20 float chinese,math,english,score void input str...
718结构体
结构是由基本数据类型构成的 并用一个标识符来命名的各种变量的组合。结构中可以使用不同的数据类型。一 结构说明和结构变量定义。在turbo c中,结构也是一种数据类型,可以使用结构变量,因此,象其它类型的变量一样,在使用结构变量时要先对其定义。定义结构变量的一般格式为 struct 结构名。类型变量名...