NYIST-C实验指导书T(4)

2019-04-14 20:53

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 struct worker { int num; char sex; float salary;

}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 union list { long w; float x;

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


NYIST-C实验指导书T(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:如何选育用留人才by张晓彤

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: