实验7

更新时间:2024-03-09 02:11:01 阅读量: 综合文库 文档下载

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

数学与软件科学学院 实验报告 学期: 2012至 2013 第 1 学期 年 月 日 课程名称:__ C语言程序设计__ 专业:统计学 级 班 实验编号:03 实验项目 最简单的C语言程序设计 指导教师__张莉_ 姓名: 学号: 实验成绩:

实验目的:

(1) 掌握C语言环境下数组的声明、定义和使用方法,包含其初始化、赋值、输入、输出和处理方法;

(2) 掌握字符数组和字符串数组的使用方法;

(3) 了解数组作为函数参数或返回值的传递和使用方法。 实验内容:

1.数组的基本使用方法实验。包含数组的声明方法、初始化方法、输入、输出方法、元素的引用方法以及数组作为函数参数的使用方法。

(1) 一维数组的声明、初始化及引用方法; (2) 二维数组的声明、初始化及引用方法;

(3) 字符数组和字符串数组的初始化及引用方法的差异分析; (具体实例参见教材实例)

测试函数声明和定义方法时,可以从以下几个方面进行测试:

1) 用已声明和定义的变量作为数组大小的声明; 2) 用已声明的const变量作为数组变量大小的声明; 3) 用宏名表示声明数组变量的大小; 4) 用表达式计算结果作为数组变量的大小; 5) 用宏的运算结果表示声明数组变量的大小。

(4) 分别按行序和列序顺序返回一个版本址值,以观察数组元素在计算机

内存中的排列规律。 2.一维数组的应用。具体实例如下:

(1) 有一个数组大小为10,内放10个数,请找出其中最大和最小元素来,

并分别将其与数组第1个元素和最后1个元素交换。 3.二维数组应用。具体实例如下: (1) 输入一个n*n的矩阵。

1) 试求除开对角线上元素之外的元素之和; 2) 求每行中与相应对角线元素不同的元素之和; 4.字符数组应用。具体实例:

有三行文字,请找出其中空格的个数,并统计单词的个数。(注:单

词以一个或多个空格为间隔。如果一个单词刚好在行末结束,则下一

行开头应该有空格,包含句号和逗号后面也应该有空格!)

实验准备:

(1) 编写所选实验题目的程序代码和流程图; (2) 检查源程序并给出其可能的运行结果说明。 实验步骤:

(1) 上机验证所选题目,并做相应测试和分析; (2) 进行实验分析;

(3) 总结基于数组的程序设计和实现方法及其经验; (4) 编写实验报告。 实验结果:

(1) 根据测试目标写出测试报告; (2) 测试结果分析说明; (3) 测试程序代码清单。

实 验 报 告 附 页

六.实验结果分析与评价 (该部分不够填写.请填写附页)

1.(1) 一维数组的声明、初始化及引用方法;

A.声明的一般格式[存储属性类型]数据类型标识符 数组变量名[整型常量表达式][={值1,····值N}];

B.初始化:使变量引用建立在正确的初值上 C.引用方法:

(2) 二维数组的声明、初始化及引用方法;

A.声明格式:数据类型标识符 数组变量名[整型常量表达式1][整型常量表达式2];必须用[]括起来

B.初始化格式:[存储属性类型] 数据类型标识符 数组变量名[整型常量表达式1][整型常量表达式2] C.引用方法:

(3) 字符数组和字符串数组的初始化及引用方法的差异分析: 字符数组

A.如果不知道字符串个数,对二维字符数组声明时的初始化可以省略第一维 B.如果初始化值表的串长超过数组列下标,系统编译将出错

(4) 分别按行序和列序顺序返回一个二维数组中各个元素的内存空间地

址值,以观察数组元素在计算机内存中的排列规律。

#include int a[3][3]; int main() {

int n; int i,j; n=3;

for ( i=0;i

scanf(\ for (i=0;i

printf(\ }

printf(\ for (j=0;j

printf(\ }

printf(\ return 0; }

2.一维数组的应用。具体实例如下:

(1) 有一个数组大小为10,内放10个数,请找出其中最大和最小元素来,

并分别将其与数组第1个元素和最后1个元素交换。

3.二维数组应用。具体实例如下: (1) 输入一个n*n的矩阵。

1) 试求除开对角线上元素之外的元素之和;

2) 求每行中与相应对角线元素不同的元素之和;

#include int a[100][100]; int line[100]; int main() {

int n; int i,j; int sum;

scanf(\ for ( i=0;i

scanf(\ sum=0;

for ( i=0;i

if (i!=j) sum+=a[i][j]; }

printf(\ for ( i=0;i

line[i]=0;

for ( j=0;j

if (a[i][j]!=a[i][i]) line[i]+=a[i][j]; }

for (i=0;i

printf(\ return 0; }

4.字符数组应用。具体实例:

有三行文字,请找出其中空格的个数,并统计单词的个数。(注:单词以一个或多个空格为间隔。如果一个单词刚好在行末结束,则下一行开头应该有空格,包

含句号和逗号后面也应该有空格!)

#include #include char ch[3][100]; int len[3]; int is_word;

int number_of_space; int number_of_word; int main() {

int i,j;

for (i=0;i<3;i++) {

gets(ch[i]);

len[i]=strlen(ch[i]); }

is_word=0;

number_of_space=0; number_of_word=0; for (i=0;i<3;i++)

for (j=0;j

if (ch[i][j]==' ') {

is_word=1;

number_of_space++; } else {

if (is_word==0) number_of_word++; is_word=1; } }

printf(\ printf(\}

注: 实验成绩等级分为(90-100分)优,(80-89分)良,(70-79分)中,(60-69分)及格,(59分)不及格

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

Top