模拟题13 结构体与公用体

发布 2021-05-31 01:19:28 阅读 2252

第十四部分:结构体与共用体及用户定义类型

一、选择题:

1)有以下程序段

typedef struct node

int num; struct node *next;

old;

以下叙述中正确的是

a)以上的说明形式非法

b)node是一个结构体类型

c)old是一个结构体类型

d)old是一个结构体变量

2)有以下程序

# include <>

struct stu

int num;

float totalscore; }

void f(struct stu p)

struct stu s[2]=,

= s[1].num; =s[1].totalscore;

main()

struct stu s[2]=,

f(s[0]);

printf("%d %3.0f", s[0].num, s[0].totalscore);

程序运行后的输出结果是

a)20045 537

b)20044 550

c)20042 580

d)20041 703

3)有以下程序

# include <>

struct stu

char name[10];

int num; }

void f(char *name, int num)

struct stu s[2]=,

num = s[0].num;

strcpy(name, s[0].name);

main()

struct stu s[2]=,p;

p=&s[1]; f(p->name, p->num);

printf("%s %d", p->name, p->num);

程序运行后的输出结果是

a)sundan 20042

b)sundan 20044

c)lisiguo 20042

d)yangsan 20041

4)有以下程序

struct stu

char name[10]; int num; float totalscore; }

void f(struct stu *p)

struct stu s[2]=,q=s;

+p ; q; *p=*q;

main()

struct stu s[3]=,

f(s);

printf("%s %d %3.0f", s[1].name, s[1].num, s[1].totalscore);

程序运行后的输出结果是

a)sundan 20044 550

b)penghua 20045 537

c)lisiguo 20042 580

d)sundan 20041 703

5)若有以下说明和定义

union dt

int a; char b; double c;

data;

以下叙述中错误的是

a)data的每个成员起始地址都相同

b)变量data所占内存字节数与成员c所占字节数相等

c)程序段:"%f",输出结果为5.000000

d)data可以作为函数的实参

6)设有如下说明

typedef struct st

long a;

int b;

char c[2];

new;

则下面叙述中正确的是

a)以上的说明形式非法

b)st是一个结构体类型

c)new是一个结构体类型

d)new是一个结构体变量

7)有以下结构体说明和变量定义,如图所示,指针pqr分别指向此链表中三个连续结点。

struct node

int data;

struct node *next;

*p,*q,*r;

现要将q所指结点从链表中删除,同时保持链表的连续,以下不能完成指定操作的语句是

a)p->next=q->next;

b)p->next=p->next->next;

c)p->next=r;

d)p=q->next;

8)以下对结构体类型变量td的定义中,错误的是

a)typedef struct aa

struct student stu[3]=,

struct student *p=stu;

以下选项中引用结构体变量成员的表达式错误的是

a) (p++)num

b) p->num

c) (p).num

d) stu[3].age

10~12.以下程序的功能是:建立一个带有头结点的单向链表,并将存储在数组中的字符依次转储到链表的各个结点中,请从与下划线处号码对应的一组选若中选择出正确的选项。

#include <>

stuct node

char data; struct node *next;};

10) creatlist(char *s)

struct node *h,*p,*q);

h=(struct node *)malloc(sizeof(struct node));

p=q=h;

while(*s!='0')

p=(struct node *)malloc(sizeof(struct node));

p->data= (11) ;

q->next=p;

q= (12) ;s++;

p->next='\0';

return h;

main()

char str=link list";

struct node *head;

head=creatlist(str);

10) a) char * b) struct node c) struct node* d) char

11) a) *s b) s c) *s++ d)(*s)++

12) a) p->next b) p c) s d) s->next

13) 设有以下语句

typedef struct s

int g; char h;} t;

则下面叙述中正确的是

a) 可用s定义结构体变量 b)可以用t定义结构体变量

c)s是struct类型的变量 d)t是struct s类型的变量

14) 有以下程序

struc stu

char name[10];

int num;

void f1(struct stu c)

struct stu b=; c=b;

void f2(struct stu *c)

struct stu b=; c=b;

main( )

struct stu a=,b=;

f1(a) ;f2(&b) ;

printf(“%d %d”,

执行后的输出结果是

a)2041 2044

b)2041 2043

c)2042 2044

d)2042 2043

15) 有以下程序

struct stu

char name[10];

int num;

int score;

main( )

struct stu s[5]=,

“wangyin”,20043,680},,

“penghua”,20045,537}},p[5],*t;

int i,j;

for(i=0;i<5;i++)p[i]=&s[i];

for(i=0;i<4;i++)

for(j=i+1;j<5;j++)

if(p[i]->score>p[j]->score)

t=p[i];p[i]=p[j];p[j]=t;}

printf(“5d %d”,s[1].score,p[1]->score);

执行后输出结果是

a) 550 550

b) 680 680

c) 580 550

d) 580 680

16) 有以下程序

#include <>

struct node{

int num;

struct node *next;

main( )

struct node *p,*q,*r;

int sum=0;

p=(struct node *)malloc(sizeof(struct node));

q=(struct node *)malloc(sizeof(struct node));

船舶结构与货运模拟题一

班级姓名成绩 1.上甲板以下的第一层甲板常称为 a.一层甲板 b.二层甲板 c.舱内甲板 d.舱壁甲板。2.船舶尺度根据不同的用途和计量方法可分为 a.船长 登记宽度 型深和吃水 b.船长 型宽和型深。c.船长 船宽 船深和吃水 d.船型尺度,最大尺度和登记尺度。3.下列有关运河吨位表述正确的是 分...

12 13年模拟题

2012 2013学年高一第一学期期末复习试题。命题人 蒋湘。一 选择题。1 已知全集,集合或 则。ab c 或 d 2 在下列四组函数中,函数f x 与g x 相等的是 a b c d 3 函数。a 1b 4cd 4 若直线与直线互相垂直,则的值是。ab.1c.0或d.1或。5 若直线,则b的值为...

《建筑结构与设备》临考模拟题

二级建筑师考试科目 建筑结构与设备 临考模拟题1 1.风荷载标准值,k kn m2 与风压高度变化系数 z 基本风压 0存在一定关系,以下几种说法哪个是正确的?a 建筑物受到风荷载的大小与高度无关。b 建筑物越高,受到的风荷载越小。c 建筑物所受风压与建筑物体型无关。d 建筑物越高,受到的风荷载越大...