C语言实验题目

更新时间:2024-04-04 22:41:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

C语言程序设计实验进阶题目

实验一 分支语句

实验目的:掌握使用if~else语句和switch~case语句实现分支结构的方法。

实验内容:

1.求出下面分段函数的值

x?0?0?y=?x0?x?10 ?2x?1x?10? 要求:(1)使用if~else语句 (2)x的值从键盘输入

2.运输公司对用户计算运费。距离越远,每公里运费越低,标准如下: s<250km 无折扣 250<=s<500 2%折扣 500<=s<1000 5%折扣 1000<=s<2000 8%折扣 2000<=s<3000 10%折扣 3000<=s 15%折扣

设每公里每吨货物的基本运费为p,货物重为w,距离为s,折扣为d,则总运费计算公式为:f=p*w*s*(1-d),编写程序计算运费。

要求:(1)使用switch~case语句。 (2)p、w、s的值从键盘输入。

实验二 循环语句

实验目的:掌握使用三种循环语句实现循环结构的方法。 实验内容:

1.猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半另一个,以后每天早晨都吃剩下的一半另一个,到第十天早晨再想吃时,就剩一个桃子。问第一天共摘了多少桃子。

要求:分别用三种语句编写程序。

2.编写程序验证下列结论:任何一个自然数n的立方都等于n个连续奇数之和。例如:13=1;23=3+5;33=7+9+11。

要求:程序对每个输入的自然数计算并输出相应的连续奇数,直到输入的

自然数为0时止。

实验三 编译预处理

实验目的:掌握宏定义、宏调用,以及宏展的处理过程,掌握文件包含的概念和使用。

实验内容:

1.试分析以下宏替换后的形式,计算输出结果。 要求:先计算运行结果,然后利用程序验证。 #include \ #define CX(y) 2.5+y

#define PR(a) printf(\ #define PR1(a) PR(a); putchar('\\n') main() { int x=2; PR1(CX(5)*x); }

2.通过宏调用方式,求从n个数的最大值。 要求:数据从键盘输入。

实验四 一维数组

实验目的:掌握一维数组的定义、初始化,以及一维数组元素的下标法引用和指针法引用。

实验内容:

1.数组a中存放10个非0整数,编写程序,将数组a中的所有正数存放在数组的前面,负数存放在数组的后面。

要求:(1)数组元素值从键盘输入。 (2)用下标法和指针法两种方法。

2.将数组a中的10个元素后移m位,移出的m位顺序存放在数组的前位。 要求:(1)数组元素值在程序中初始化。 (2)m的值从键盘输入。

(3)用下标法和指针法两种方法。

实验五 二维数组

实验目的:掌握二维数组的定义、初始化,以及二维数组元素的下标法引

用和指针法引用。

实验内容:

1.有5名学生,每名学生有语文、数学、物理和外语四门课的考试成绩,编程统计各学生的总分和平均分,以及所有学生各科的总计分和平均分。

要求:(1)成绩在程序中初始化,结果以表格的形式输出。 (2)分别用下标法和指针法实现。

2.将4×4阶矩阵的4个最小值按升序存放在主对角线上。 要求:(1)矩阵元素从键盘输入。 (2)分别用下标法和指针法实现。

实验六 字符串

实验目的:掌握使用下标法和指针法处理字符串。 实验内容:

1.编写程序,将字符串中相同字符的存放在一起,并按ASCII码升序存放。 2.编写程序,统计字符串str中含有子串substr的个数。 实验要求:(1)字符串从键盘输入。 (2)分别用下标法和指针法实现。

实验七 函数的定义、调用与参数传递

实验目的: 掌握函数的定义、调用和参数的传递方式。 实验内容:

1.有两个数组a、b,各有10个元素,分别统计出两个数组对应元素大于(a[i]>b[i])、等于(a[i]=b[i])和小于(a[i]

要求:通过函数调用方式,并分别使用数组元素、数组名和指针变量作函数的参数。

2.编写程序,将一个5×5阶矩阵中最大元素放在中心,四个角分别放4个最小元素(顺序为从左到右,从上到下的顺序一次从小到大存放)。

要求:通过函数调用方式,并分别使用数组名和指针变量作函数的参数。

实验八 函数的嵌套调用和递归调用

实验目的:掌握函数的嵌套调用和递归调用。 实验内容:

1.编写程序,计算下列函数值:

f(x,y)=

s(x) s(y)n 其中,s(n)=?p(i)=p(1)+p(2)+…p(n),p(i)=i!。

i?1要求:(1)为函数p(i)、s(n)、f(x,y)均编写一个用户函数。 (2)x、y由键盘输入。

2.n个人按年龄从小到大站成一排,编号依次为1到n,年龄都相差2岁,且第一个人的年龄是10岁,问第n个的年龄是多大?

要求:(1)通过函数递归调用方式。 (2)n的值从键盘输入。

实验九 变量的作用域与存储类别

实验目的:掌握全局变量和局部的定义及作用域。掌握变量的四种存储类别。

实验内容:

1.输出4×4阶矩阵的最大值、最小值及其下标。 要求:(1)通过函数调用方式。 (2)使用全局变量。

i?1n?1?10?62.计算:i?1i!(精度要求为n!)

?n要求:(1)通过函数调用方式。 (2)使用静态局部变量。

实验十 内部函数和外部函数

实验目的:掌握内部函数和外部函数的定义及使用方法。 实验内容:

1.已知a、b都为整型数,计算ab。 要求:(1)a、b值从键盘输入。

(2)主函数和计算ab的函数在不同文件中存放,求ab的函数为内部

函数,使用文件包含完成。

2.删除字符串中的指定字符。

要求:(1)字符串和要删除字符都在主函数中输入,结果在主函数中输出。 (2)主函数和删除字符串指定字符的函数在不同文件中存放,删除字

符串指定字符的函数为外部函数,使用工程文件完成。

实验十一 结构体

实验目的:掌握结构体类型、结构体类型变量、结构体类型数组和结构类型指针的定义,掌握结构体类型变量和结构体类型变量成员的使用。掌握链表的定义及操作。

实验内容:

1.有10名学生,每名学生有语文、数学、外语三门课程的成绩,计算每名学生的总成绩,然后按总成绩由高到低排序,若总成绩相同,再按外语成绩由高到低排序。

要求:(1)利用结构体数组存放数据。 (2)通过函数调用方式。

2.已知链表L1和L2中分别存放一个升序序列,编写程序,将两个链表中的升序合并成一个升序序列存放到链表L1中。

要求:(1)分别按带头结点和不带头结点处理。 (2)通过函数调用方式。

实验十二 共用体和枚举

实验目的:掌握共用体类型、共用体类型变量的定义,以及共用体类型变量成员的使用。掌握枚举类型、枚举类型变量的定义,以及枚举类型变量的使用。

实验内容:

1.设某公司对所有职工进行计算机能力考核,规定35岁以下的职工进行笔试,成绩记录为百分制,60分以下为不及格;35岁(含35岁)以上的职工进行上级考核,成绩记录为a、b、c(规定为小写字母三种),c为不及格。编写程序,输入10个职工的考核结果,输入及格编号、姓名和成绩。

要求:用结构体和共用体类型数据来处理职工数据。 2.输入两个整型数,一次求出它们的和、差、积并输出。 要求:用枚举类型数据来处理和、差、积的判断。

实验十三 文件

实验目的:掌握文件的打开、关闭和文件的读写操作。 实验内容:

1.有两个磁盘文件“A”和“B”,各存放一行字母(不多于80个),今要求把两个文件中的信息合并(按字母顺序排列),输出到一个新文件“C”中去。

2.有十名学生的数据(包括学号、姓名、和三门课程的成绩)存放在文件“score.txt”中,编写程序,把有不及格的学生数据存放到文件“bhg.txt”中,成绩都合格的学生数据存放到文件“hg.txt”中。

综合实验题目

1.编写一个小型学生成绩管理系统。

要求:系统操作通过菜单的形式完成。包括:数据的输入、数据输出、数据编辑、数据插入、数据删除、数据查找、数据排序等。 2.编写一个小型文件管理系统。

要求:系统操作通过菜单的形式完成。包括:文件复制、文本文件显示、文件连接、文件目录显示、文件内容比较、文件删除、文本文件字节数统计内容、文件更名等。

3.编写程序,实现对.DBF文件的访问和建立。

本文来源:https://www.bwwdw.com/article/0e5r.html

Top