【上机题4】输入并运行以下程序。 #include
{ struct xym{ char *name; int age; int salary;
}x,*p; /*结构体类型说明,结构体变量和指针变量说明*/ p=&x; p->name=\ p->age=\ p->salary=\
printf(\ }
说明:
①使用指向结构体变量的指针引用该结构体变量的成员时,可以使用“->”来标记。 ②也可以使用malloc函数来分配相应的内存空间,将其地址赋值给指针变量p。
运行结果:__________________________________________________________
【上机题5】已知有结构体定义: struct stdu { long no; float score;
struct stdu *next; }
编写程序:
(1)编写自定义函数create(n)实现:从键盘输入n个学生的信息(包括学号和总成绩),以链表尾的方式生成链表,函数返回链表的头指针。
(2)编写自定义函数print(h)实现:输出头指针为h的链表的结点值。
(3)编写自定义函数sort(h)实现:将头指针为h的链表按总成绩由低到高排序,函数返回排序后新链表的头指针。
(4)编写主函数main(),在主函数中输入n,依次调用create(n)、print(h)、sort(h)函数实现链表的生成、输出与排序功能。
38
实验11 共用体数据类型
院(系):信息科学与技术学院 班专级 业 学姓课程名称:高级语言程序设计 号 名 教师签名:
实验室 计算机号 实验名称 所用软件 实验成绩 11.1 实验目的
1.掌握共用体类型和枚举类型的概念,掌握它们的定义形式。
2.掌握共用体类型变量的定义和变量成员的引用形式。
11.2 实验预习
1.复习共用体数据类型的声明和结构体变量的定义、使用。 2.复习指针与共用体数据类型的关系。 3.复习枚举类型的概念和定义形式。
11.3 实验任务
1.分析程序,并写出程序的执行结果。 #include \main()
{ enum team{qiaut,cubs=4,pick,dodger=qiaut-2}; printf(\}
表11-1 实验结果记录表
人工分析结果 2. 分析程序,并写出程序的执行结果。 main() {union exx {int a,b;
实验运行结果 39
struct
{int c,d;}lpp; }e={10}; e.b=e.a+20; e.lpp.c=e.a+e.b; e.lpp.d=e.a*e.b;
printf(\}
表11-2 实验结果记录表
人工分析结果 3. 分析程序,并写出程序的执行结果。 void main() {union bt {int k;
char c[2]; }a; a.k=-7;
printf(\}
表11-3实验结果记录表
实验运行结果 人工分析结果 实验运行结果 40
实验12 文件
院(系):信息科学与技术学院 班专级 业 学姓课程名称:高级语言程序设计 号 名 教师签名:
实验室 计算机号 实验名称 所用软件 实验成绩 12.1 实验目的
1.掌握文件的基本概念。
2.认识文件类型指针,熟悉文件操作的基本过程;学会选用适当的文件操作函数处理文件。
3.了解文件的读写方式,如顺序读写文件和随机读写文件。 4.了解将不同数据写入或读出文件的方法。
12.2 实验预习
1.复习文件的概念。
2.复习文件的两种组织形式。
3.复习各种文件操作函数及文件读写位置指针的定位操作。
12.3 实验任务
1. 输入并运行以下程序,分析程序运行结果。 (1)
#include
{ char* str;
str=\
fp = fopen(\ /*以只读方式打开文件*/ fputs(str,fp); fclose(fp); }
程序的运行结果为:
(2)
#include
41
{ char str[10];
fp = fopen(\ fgets(str,6,fp); printf(\ fclose(fp); }
程序的运行结果为:
2. 输入并运行以下程序,分析程序运行结果。 (1)
#include
{ char a[][8]={\ int i;
fp = fopen(\ for(i=0;i<3;i++) fputs(a[i], fp); fclose(fp); }
程序的运行结果为: (2)
#include
{ char a[4][8]; int i;
fp = fopen(\ for(i=0;i<3;i++){ fgets(a[i],8, fp); printf(\ }
fclose(fp); }
程序的运行结果为:
42