C上机实验指导书——软件学院·软件工程教研室[2011版]
实验12 指针(二)
一、实验目的
1.进一步掌握指针的应用
2.能正确使用数组的指针和指向数组的指针变量
3.能正确使用字符串的指针和指向字符串的指针变量 4.理解函数指针
二、实验内容及步骤
1. 写一函数,求一个字符串的长度。
(1) 本部分要求全部用指针完成;
(2) 在main函数中输入字符串,并输出其长度; (3) 本题不能使用strlen()函数; 方法说明:
在主函数中定义一个指向字符串的指针变量pstr,并将输入的字符串的首地址赋值给pstr,然后调用求字符串长度的函数strlenth(char *p),得到字符串的长度。在函数strlenth(char *p)中,判断*p是否为’\\0’,如果不为’\\0’,则进行len++的操作,直到遇到’\\0’为止。然后返回len值。
2. 编写一个函数,将数组中n个数按反序存放。
(1) 在主函数中输入10个数,并输出排好序的数。 (2) 编写函数invert()将10个数按反序存放。
3. 设一个函数,调用它时,每次实现不同的功能:(1)求两个数之和;(2)
求两个数之差;(3)求两个数之积。实验步骤与要求:
(1)在主函数中输入2个数a,b,并输出a,b的和、差和乘积。
(2)分别编写函数add()、sub()、mul()计算两个数的和、差、积。 (3) 编写函数process(),分别调用函数add()、sub()、mul()。
14
C上机实验指导书——软件学院·软件工程教研室[2011版]
实验13 结构体和共用体(一)
一、实验目的
1. 2. 3. 4.
掌握结构体类型和结构体变量的定义 掌握结构类型变量的定义和使用 掌握结构体数组的定义和初始化 结构体变量和数组的应用
二、实验内容及步骤
1.下面程序是定义一个结构体,并为其定义结构体变量,对其值输入、输出。
#include
}work1={100,’m’,1034.5}; main()
{ char m,n,t;
struct worker work2,work3; work2=work1; work3.num=300; m=getchar(); work3.sex=m;
work3.salary=1256.4;
printf(“%f,%d,%s\\n”,work1,salary,work2,num,work3.sex); }
该程序的运行结果是:
2.有五个学生,每个学生的数据包括学号,姓名,三门课的成绩,从键盘输入五个学生的数据,要求打印出每个学生的平均成绩,以及最高分的学生的数据(包括学号,姓名,三门课的成绩,平均分数)。
要求:用一个函数输入五个学生的数据;用一个函数求总平均分;用函数找出最高分学生数据,总平均分和最高分的学生的数据都在主函数中输出。 。
15
C上机实验指导书——软件学院·软件工程教研室[2011版]
实验14 结构体和共用体(二)
一、实验目的
1. 掌握指向结构体类型的指针 2. 掌握共用体的概念和使用 3. 熟练掌握链表的简单操作
二、实验内容及步骤
1.运行下面程序,写出结果 #include
sruct exam { long num;
char name[10]; char sex; float score; };
main()
{ struct exam stud1,*p=stud1; char ch;
stud1.num=200101;
strcpy(stud1.name,”wang”); ch=getchar(); stud1.sex=ch; (*p).score=543;
printf(“%ld,%c,%f,%s”,p->num,p->sex,p->score,p->name); }
2.运行下面程序,写出结果。
#include
char y; };
main()
{ union list data;
data.w=1234;
scanf(“%f”,&data.x);
16
C上机实验指导书——软件学院·软件工程教研室[2011版]
data.y=’M’;
printf(“%ld\\t%f\\t%c\\n”,data.w,data.x,data.y); }
将该程序中的共用体和结构体对比起来理解。
3.定义结点如下形式: struct menu {
char name; int no;
struct menu *next; };
进行如下操作:
(1) 建立一个长度为10的,如上面形式的链表; (2)在建立的链表中,插入一个新结点(位置自定); 内容如下: {
name=cc1j no=2211
next=选定的结点
}
(3)删除第三个结点;
17
C上机实验指导书——软件学院·软件工程教研室[2011版]
实验15 文件操作
一、实验目的
1.掌握文件建立的方法。
2. 掌握包含文件操作的程序设计和调试方法。
二、实验内容及步骤
1.从键盘输入一个字符串,,将其中的小写字母全部转换成大写字母,然
后输出到一个磁盘文件“test”中保存。输入的字符串以“!”结束。
2.建立一个磁盘文件“emploee”,内存放职工的数据。每个职工的数据包
括:职工姓名、职工号、性别、年龄、住址、工资、文化程度。要求将职工号、职工名、工资的信息单独抽出来另建一个职工工资文件。 (1)调试程序,输入数据并运行程序。 (2)用type命令显示新建立的文件内容。
三、问题讨论
1.缓冲文件系统和非缓冲文件系统的区别?
2.文件打开和关闭的含义?为什么要打开和关闭文件
18
C上机实验指导书——软件学院·软件工程教研室[2011版]
实验16 综合实验报告
一、实验目的
能综合运用本课程所学内容进行结构化程序设计
二、 实验内容及步骤
一个简单的学生通讯录(包含学号、姓名、电话)
1.运用数据类型(基本、指针、构造)完成程序的数据类型部分的设计; 2.运用基本结构语句(顺序、选择、循环)完成程序的结构部分的设计; 3.运用文件管理方法把数据存储到磁盘文件中。 要求:
学生数据包括:学号、姓名、电话号码
程序包括的函数有:主控函数、数据输入函数、数据输出函数、插入数据函数和删除数据函数。
19