c语言程序设计数组和指针实验报告
评分签名日期
湖南商学院实验报告
课程名称 C++语言程序设计
实验名称 数组和指针
专业班级
姓 名
学 号
实验日期 第 四 周 星期三 七八节
实验地点 E603
2011—2012学年度第 二 学期
一、实验目的
掌握一维数组和二维数组定义的方法、初始化方法及数组元素的引用方法。
熟练掌握一维数组和二维数组的使用。
掌握字符数组与字符串的关系以及字符串变量的表示;熟练字符串处理函数的应用。
熟练掌握指针、地址、指针类型、void指针、空指针等概念。
熟练掌握指针变量的定义和初始化、指针的间接访问、指针的加减运算和指针表达式。
会使用数组的指针和指向数组的指针变量。
会使用字符串的指针和指向字符串的指针变量。
学会使用指向函数的指针变量。
了解指针与链表关系。二、实验内容
用筛法求100之内的素数。
编写程序,输入10个整数,并对其进行从小到大排序,输出排序结果。
打印出以下的杨辉三角形(要求打印出10行)。
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
5 10 10 5 1
输入两个字符串,比较这两个字符串,并输出比较的结果, 不要用strcmp
函数。
编一程序,将两个字符串连接起来,不要用strcat函数。
输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写3个函数: 输入10个数; 进行处理; 输出10个数。
编写一个函数,将一个4×5的矩阵转置。
有一篇文章,共有3行文字,每行有80个字符。要求使用指针变量分别统计出其中英文大写字母、小写字母、数字、空格以及其他字符的个数。
对5个字符串进行排序,并输出排序后的字符串。三、实验环境
VC++6.0四、相关知识
排序方法有多种,可以选择不同的排序方法实现,并比较不同算法排序的效率。排序可以用最简单的选择排序法
选择排序法:
1) 从n个数中选择最小的一个,把它和第一个数组元素交换;
2) 从剩下的n-1个数中选择最小的一个,把它和第二个数组元素交换;
3) 依此类推,直到从最后两个元素中选出倒数第二小的元素并把它
和倒数第二个元素交换为止。”\0”的添加。
所有程序均需要用指针来实现。子功能模块需要用函数来实现。
程序1在找到最大数和最小数时需要记录下它们的地址,以便后面进行数据的交换。
矩阵的转置需要分析明白对应位置数据的地址,以便进行数组元素的交换。交换*(p+3*i+j)与*(p+3*j+i)两个元素。
读一行字符包括空格用函数cin.getline(ch,81)。五、操作步骤
用筛法求100之内的素数。
编写程序,输入10个整数,并对其进行从小到大排序,输出排序结果。
打印出以下的杨辉三角形(要求打印出10行)。
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
输入两个字符串,比较这两个字符串,并输出比较的结果, 不要用strcmp
函数。
编一程序,将两个字符串连接起来,不要用strcat函数。
输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写3个函数: 输入10个数; 进行处理; 输出10个数。
编写一个函数,将一个4×5的矩阵转置。
有一篇文章,共有3行文字,每行有80个字符。要求使用指针变量分别统计出其中英文大写字母、小写字母、数字、空格以及其他字符的个数。
对5个字符串进行排序,并输出排序后的字符串。
六、实验结果及总结
初步掌握一维数组和二维数组定义的方法、初始化方法及数组元素的引用方法,掌握一维数组和二维数组的使用。
初步掌握字符数组与字符串的关系以及字符串变量的表示和字符串处理函数的应用。
初步掌握指针、地址、指针类型、void指针、空指针等概念,掌握指针变量的定义和初始化、指针的间接访问、指针的加减运算和指针表达式。
会简单使用数组的指针和指向数组的指针变量,字符串的指针和指向字符串的指针变量,使用指向函数的指针变量。了解指针与链表关系。七、实验小结:
成功地编制了简单的C++程序,并且运行了出来,得出了结果。 手写签名:
日 期: