一、选择题: 1.已知赋值语句wang.year=2004;则wang的变量类型是 ( ) A. 字符或文件 B. 整型或实型 C. 共用或结构 D. 实型或指针
2.Turbo C中,以下类型数据在存储器中占的字节数为 ( )
struct test
{ int x; float y; char z; } ;
A. 2 B. 3 C. 6 D. 7
3.以下语句中,成员data的正确引用方式为 struct node { int data;
char name[10]; }stree;
struct node *p=&stree;
A. p.data B. p->data C. (*p)->data D. stree->data
4、当执行以下程序段时,输出的结果是。 struct data
{ char a; int b; float c; };
printf(“%d”, sizeof(struct data));
A. 1 B. 2 C. 4 D. 7
5.下面程序段的运行结果是。
struct stu
{ int num; char name[10]; float scrose ; };
printf(“%d\\n”, sizeof (struct stu )); (A)14 (B)12 (C)16 (D)3
6. 若有定义:
typedef char* string; #define str char * int a=4; struct {
int x, *y; }z={10, &a}, *p=&z; 则下列不等价的是:
A. string name, sign; 与 str name, sign; B. *p->y++ 与 *(p->y++)
C. ++*p->y 与 ++(*p->y) D. ++p->x与++(p->x)
( ) ( ) ) (二、填空题:
1.已知赋值语句zhang.year=1985;可判断zhang是 类型的变量; 2.若有类型定义:“typedef union{int a; char b; double c;} share;” 及声明:“float r;”, 则表达式:sizeof(r)+sizeof(share)的值是: 。
三、看程序写结果: 1、 struct atudent
{ int num;
char name[10]; int age;}; main( )
{ struct atudent a[2]={{2,”Li”,20}, {2,”zhang”,21}},*p;
p=a; 运行结果: printf(“%s\\n”, p->name) ; }
2、struct student { int num;
char name[10]; int age; }; void main( )
{ struct student a[2]={{2,\"JACK\ p=a+1;
printf(\"%s\\n\ }
四、编程题:
1. 有3个学生信息,放在一个结构体数组中,要求程序实现输入并输出全部学生信息。 (本题8分)
(注:学生信息的结构体包括以下几个成员:学号、姓名、性别、年龄。请自己根据实 际应用情况选择适当的数据类型来表示这些成员。)
2、建立一个链表,每个结点信息包括:学号、姓名、性别、年龄。要求建立长度为n 的链表。
3. 设链表的结点只有两个域:一个整形的数值域,一个指针域。编写一函数creatList( ),它用malloc函数,实现创建链表的功能,函数返回的是创建链表的头。(本题12分)
4.编写一个函数new,用于创建一个链表,链表的结点类型定义如下。该链表包含n个结点,函数应返回一个指针,指向指向开始的空间。结点类型与函数原型如下。(本题12分)
运行结果:
链表结点的类型:struct listNode { int data;
struct listNode *next; }
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuowenda.com 版权所有 湘ICP备2023022495号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务