C语言数组实验报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验名:数组

一、实验目的

1、掌握数组定义的规则。

2、掌握C语言数组的基本用法。

二、实验内容

) 题目1

1、编写程序,测试下列数组的定义方式是否正确(1) main()

{

int n;

scanf(“%d”,&n);

int a[n];

……

}

(2) main()

{

const int n=10;

int a[n];

}

(3) #include

#define M 10

main()

{

int a[M];

}

(4) main()

{

int a[2+2*4];

}

(5) #include

#define M 2

#define N 8

main()

{ int a[M+N];

}

通过这一实验,可以说明什么问题?

2、输入和输出信息描述及数据类型确定;

、输入数据

序号输入数据描述数据类型(1)n,a[n] int

(2)n

a[n] cons tint int

(3)a[M]或a[10] int (4)a[2+2*4] int (5)a[M+N] int

3、程序调试

错误序号错误信息(列出出错语句以及出

错提示)

是否

解决

解决方法

(1-1)main.c|5|error: expected

expression before '%' token|

scanf(“%d”,&n);是将%d两边的符号改为西文字符的引号scanf("%d",&n);

(1-2)main.c|6|warning: unused

variable 'a'

[-Wunused-variable]|

int a[n];

是将前面的n的输入去掉,把n改为具体数字

(5) main.c|6|warning: unused

variable 'a'

[-Wunused-variable]|

int a[M+N];

是加上个scanf(“%d”,&a[M+N]);

4、相关问题回答

通过这一实验,可以说明什么问题?

1、(2)(3)(4)(5)对,(1)错,(1)中a[n]的数组定义的【】里的常量表达式不能是变量。

2、一维数组定义的时候【】里的常量表达式包括常量和符号常量,但不能是变量。

) 题目2

1、运行下面的C程序,根据运行结果,可以说明什么?

main( )

{ int num[5]={1,2,3,4,5};

inti i;

for(i=0;i<5;i++)

printf(“%d”,num[i]);

}

2、输入和输出信息描述及数据类型确定;

、输入数据

序号输入数据描述数据类型

1 num[5],i int

(2)输出数据

序号输出数据描述数据类型

1 num[i] int

3、程序源代码(填写程序调试正确后的代码)

#include

int main( )

{

int num[5]={1,2,3,4,5}; /*定义num[5]*/

int i;

for(i=0;i<5;i++) /*下标应该是0到4*/ printf("%d",num[i]);

/*依次输出num[0]至num[4]*/

return 0;

}

4、程序调试

错误序号错误信息(列出出错语句以及出错

提示)

是否解决解决方法

1 格式不对是

2 main.c|5|error: unknown type

name 'inti'|

inti i;

是改为 int i;

3 main.c|7|error: expected

expression before '%' token|

printf(“%d”,num[i]);

是将引号改为西文字符

4 for(i=0;i<5;i++) 是去掉等号

5、相关问题回答

运行结果:12345

根据运行结果,可以说明什么?

说明:数组元素的下标从0开始,比定义的时候会小一个。

) 题目3

1、操作符&用以求一个变量的地址,这在函数scanf中已经使用过了。现在要你设计一个程序,返回一个3 * 5 的二维数组各元素的地址,并由此说明二维数组中各元素是按什么顺序存诸的。

2、输入和输出信息描述及数据类型确定;

、输入数据

序号输入数据描述数据类型

1 a[3][5],i.j int

2 adress 整型指针变量

(2)输出数据

序号输出数据描述数据类型

1 adress int

3、程序源代码(填写程序调试正确后的代码)

#include

int main()

{

int a[3][5];

int *adress; //定义并初始化adress

int i,j;

for(i=0;i<3;i++) //每行循环

{

printf("\n");

for(j=0;j<5;j++) //每列循环

{

adress=&a[i][j]; //将adress赋值为整型指针变量

printf("%d ",adress);

相关文档
最新文档