第一范文网 - 专业文章范例文档资料分享平台

C语言结构体单元练习

来源:用户分享 时间:2025/9/12 7:25:03 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

1.有以下定义和语句:

struct student { int age; int num; };

struct student stu[3]={{1001,20},{1002,19},{1003,21}}; main()

{ struct student *p; p=stu; …… }

则以下不正确的引用是 。

A) (p++)->num B) p++ C) (*p).num D) p=&stu.age 2.有以下结构体定义:

struct example { int x; int y; }v1;

则正确的引用或定义是 。

A) example.x=10 B) example v2; v2.x=10; C) struct v2; v2.x=10; D) struct example v2={10};

3.对于如下结构体定义,若对变量person的出生年份进行赋值,正确的赋值是 。

struct date

{ int year,month,day; };

struct worklist { char name[20]; char sex;

struct date birth; }person;

A) year=1976 B) birth.year=1976 C) person.birth.year=1976 D) person.year=1976 4.根据下述定义,可以输出字符'A'的语句是 。

struct person { char name[11]; struct

{ char name[11]; int age; }other[10]; };

struct person man[10]={ {\

{\};

A)

printf(\

B)

printf(\

C) printf(\5.若有以下程序段:

struct st { int n;

struct st *next; };

struct st a[3]={5,&a[1],7,&a[2],9, '\\0'} ,*p=a; 则值为6的表达式为 。

A) p++->n B) p->n++ C) (*p).n++ D) ++p->n 6.对于以下定义,不正确的叙述是 。

union data { int i; char c; float f;}a,b;

A) 变量a所占的内存长度等于成员f的长度 B) 变量a的地址和它的各成员地址都是相同的 C) 不能对变量a赋初值 D) 可以在定义的时候对a初始化 7.下述程序运行结果为 。

#include struct st { int n; int *m; }*p; void main()

{ int d[5]={10,20,30,40,50};

struct st arr[5]={100,d,200,d+1,300,d+2,400,d+3,500,d+4}; p=arr;

printf(\printf(\printf(\}

A) 101 200 21 B) 101 20 30

C) 200 101 21 D) 101 101 10 8、以下程序的运行结构是 。

#include main( ) { union { long a; int b; char c;}m;

printf(\

A) 2 B) 4 C) 6 D) 7

9.若要利用下面的程序段使指针变量p指向一个存储整型变量的存储单元,则在空格中应填入的内容是 。

int *p;

p= malloc(sizeof(int));

A) int B) int * C) (* int) D) (int *) 10、执行下述语句后的结果是 。

enum weekday {sun,mon=3,tue,wed, thu}; enum weekday day; day=wed;

printf(\

A) 5 B) 3 C) 4 D) 编译时出错 11、下面程序的输出结果是 。

main()

{ enum abc{ green=3,red };

char *clr[ ]={\printf(\printf(\}

12、已知指针变量head指向单链表表头,下面程序用来统计链表中各个结点的数据项之和,请填空。

struct link { int data;

struct link *next; }; main() { int k;

struct link *head;

k=sum(head); printf(\}

sum( 【1】 ) { struct link *p; int s; s=head->data; p=head->next; while(p)

{ s+= 【2】 ; p=p->next; }

return(s); }

13、以下程序完成链表的输出,请填空。

void print(head) struct stu *head; { struct stu *p; p=head;

if( 【1】 ) do

{ printf(\p=p->next; }while( 【2】 ); }

14、下面程序的运行结果为 。

typedef union student { char name[10]; long sno; char sex; float score[4]; }stu; main( ) { stu a[5];

printf(\}

搜索更多关于: C语言结构体单元练习 的文档
C语言结构体单元练习.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c7x0s06mipb00kc41ztqx_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top