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

《C语言程序设计》实验教学大纲.(2)

来源:网络收集 时间:2019-03-23 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

3.已知二阶Fibonacci数列:

0 若n=0 Fib(n)= 1 若n=1 Fib(n-1)+Fib(n-2) 其他情况 定义递归函数求Fib(n)。

4.写一个函数完成下列任务:输入一个表示正整数的字符串,将字符串转换成对应的数字。例如,输入3个字符组成的字符串“123”,将它转换成整型数123。

5.设计一个含有多个菜单项的菜单演示程序。程序运行后,给出4个菜单项的内容和输入提示:

1.求最大公约数 2.求最小公倍数 3.判断素数 4.退出程序 选择1-4:

使用数字1~4来选择菜单项,其他输入则不起作用。 实验八 预处理命令 一、实验目的

1.掌握宏定义的方法;

2.掌握文件包含处理方法; 3.掌握条件编译的方法。 二、实验内容

编程序并上机调试运行。

1.定义一个带参数的宏,使两个参数的值互换。在主函数中输入两个数作为使用宏的实参,输出已交换后的两个值。

说明:在程序主函数使用宏时只能用两个实参,如SWAP(a,b),不能用三个参数。 2.设计输出实数的格式,包括:(1)一行输出一个实数;(2)一行内输出两个实数;(3)一行内输出三个实数。实数用“%6.2f”格式输出。

用一个文件“format.h”包含以上用#define命令定义的格式。在自己的文件(自己命名)中用#include命令将“format.h”文件包含进来。在程序中用scanf函数读入三个实数给f1,f2,f3。然后用上面定义的三种格式分别输出①f1;②f1,f2;③f1,f2,f3。

3.用条件编译方法实现以下功能:

输入一行电报文字,可以任选两种输出,一为原文输出;一为将字母变成其下字母(如‘a’变成‘b’,…,‘z’变成‘a’。其它字符不变)。用#define命令来控制是否要译成密码。例如:

#define CHANGE 1 则输出密码。若

#define CHANGE 0

则不译成密码,按原码输出。 用条件编译方法来处理。 实验九 指针 一、实验目的

1.掌握指针的概念,会定义和使用指针变量; 2.学会使用数组的指针和指向数组的指针变量;

3.学会使用字符串的指针和指向字符串的指针变量;

6

4.学会使用指向函数的指针变量;

5.了解指向指针的指针的概念及其使用方法。 二、实验内容

编程序并上机调试运行程序(都要求用指针处理)。

1.定义函数void fun(int x[ ],int *max,int *min),找出数组x中的最大值和最小值,最大值和最小值通过形参指针max和min传回。

2.编写一个函数comp(s1,s2)实现两个字符串的比较。

如果s1=s2,则函数返回值为0;如果s1≠s2,返回它们二者第一个不同字符的ASCII码差值(如“BOY”与“BAD”,第二个字母不同,“O”与“A”之差为79-65=14);如果s1>s2,则输出正值;如s1

两个字符串s1,s2由main函数输入,strcmp函数的返回值也在main函数输出。

3.从键盘输入一个字符串与一个指定字符,调用函数,将字符串中出现的指定字符全部删除。

4.编程将从键盘输入的每个单词的第一个字母转换为大写字母,输入时各单词必须用空格隔开,用 “.”结束输入。

5.在主函数中输入5个字符串,用另一个函数对它们排序(要求用指针数组来完成),然后在主函数输出排好序的字符串。

实验十 结构体和共用体 一、实验目的

1.掌握结构体类型变量的定义和使用; 2.掌握结构体类型数组的概念和应用;

3.掌握链表的概念,初步学会对链表进行操作; 4.掌握共用体的概念与使用。 二、实验内容

编程序,然后上机调试运行。

1.有3个学生,每个学生的数据包括学号、三门课的成绩,要求用input函数实现从键盘输入学生数据,用average函数求每个人的平均分,用output函数打印学生数据及平均成绩。

2.建立一个带有头结点的单链表,每个结点包括:学号、年龄,并输出链表中所有结点的数据。在链表中查找年龄最大的结点,并将链表中等于此年龄的结点删除(年龄最大的结点可能不止一个)。

3.将一个链表按逆序排列,即将链头当链尾,链尾当链头。 4.上机输入如下程序: main( ) {union bt

{int k; char c[2];}a; a.k= -7;

printf(“%o,%o\\n”,a.c[0],a.c[1]); }

分析其运行结果。 实验十一 位运算 一、实验目的

1.掌握按位运算的概念和方法,学会使用位运算符; 2.学会通过位运算实现对某些位的操作。

7

二、实验内容

编写程序,上机调试并运行。

1.编一个函数getbits,从一个16位的单元中取出某几位(即该几位保留原值,其余位为0)。函数调用形式为:getbits(value,n1,n2)

value为该16位数的值,n1为欲取出的起始位,n2为欲取出的的结束位。如:getbits(0101675,5,8)表示对八进制数101675,取出其从左面起的第5位到第8位。

要求把这几位数用八进制数打印出来。注意,应当将这几位数右移到最右端,然后用八进制形式输出。

2.利用位运算操作,实现交换两个变量的值。

3.将一个十六进制整数的各位循环左移4位,然后用十六进制形式输出。 实验十二 文件 一、实验目的

1.掌握文件以及缓冲文件系统、文件指针的概念; 2.学会使用文件打开、关闭、读、写等文件操作函数。 3.学会用缓冲文件系统对文件进行简单的操作。 二、实验内容

编写程序并上机调试运行。

1.编程序求100以内的素数,分别将它输出到显示器屏幕和x.txt文件中,要求每行5个数。

2.从键盘输入几本书的数据,每本书的数据包括条形码、书名和价格,将每项数据分别写入文本文件s.txt和二进制文件s.dat。

3.从上题的文本文件s.txt或二进制文件s.dat中读入每本书的数据,计算所有书的平均价格。要求用input函数读入,average函数求平均价格。

实验十三 学生成绩管理(综合设计性实验) 一、实验目的

综合《C语言程序设计》课程中的基本知识,对所学内容和算法进行复习,进一步提高程序设计的能力。

二、实验内容

编写一个C程序,对一个班(不多于35人)的学生成绩进行管理,其中:每个学生的数据包括学号、姓名、三门课的成绩(英语、数学、计算机)、平均成绩和总成绩。主菜单如下:1、添加数据 2、数据输出 3、数据排序(按平均分)4、数据查找(按学号)5、数据删除 6、数据统计(按平均分)7、退出

其中各个选项的功能如下:

1、添加数据:按一定格式输入若干名学生的数据追加到stu.txt文件中。

2、数据输出:从stu.txt文件中读取数据,用比较美观的格式输出所有学生的数据。如果没有记录,输出提示信息。

如: 学号 姓名 英语 数学 计算机 平均成绩 ========================================= …… …… …… …… …… …… =========================================

3、数据排序:对输入的数据按平均分进行由低→高的排序。

4、数据查找:查找指定学号的学生数据,并按照一定的格式输出查找结果。 5、数据删除:删除指定学号的学生数据。(如果没有找到该学生,输出提示信息。) 6、数据统计:按平均分统计各个分数段的学生人数,用比较美观的格式输出统计结果。

8

如:

按平均分统计各分数段学生人数

=========================================

分数段 0—59 60—69 70—79 80—89 90—100 人 数 ..... ...... ...... ...... ......

========================================= 7、退出:退出整个程序的运行。(注:1—6功能运行后,程序仍返回主界面,可接着选择其他功能继续运行,只有选择选项7才真正退出程序的运行。)

十、其他

学科说明:本课程是一门以培养学生编程能力为主要目的学科,加强实践技能是本课程的特色。

9

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库《C语言程序设计》实验教学大纲.(2)在线全文阅读。

《C语言程序设计》实验教学大纲.(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/542367.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: