第6章 一维数组
- 格式:ppt
- 大小:395.50 KB
- 文档页数:35


1
第6章 函数和模块设计
【习题6-1】更正下面函数中的错误。
(1)返回求x和y平方和的函数。 (2)返回求x和y为直角边的斜边的函数。
sum_of_sq(x,y) hypot(double x,double y)
{ {
double x,y; h=sqrt(x*x+y*y);
return(x*x+y*y); return(h);
} }
程序如下:
/*c6_1(1).c*/ /*c6_1(2).c*/
(1) (2)
double sum_of_sq(double x,double y) double hypot(double x,double y)
{ {
return(x*x+y*y); double h;
} h=sqrt(x*x+y*y);
return(h);
}
【习题6-2】说明下面函数的功能。
(1)itoa(int n,char s[ ]) (2)int htod(char hex [ ])
{ { int i,dec=0;
static int i=0,j=0; for(i=0;hex[i]!='\0';i++)
int c; { if(hex[i]>='0'&&hex[i]<='9')
if(n!=0) dec=dec*16+hex[i]-'0';
{ if(hex[i]>='A'&&hex[i]<='F')
j++; dec=dec*16+hex[i]-'A'+10;
c=n%10+'0'; if(hex[i]>='a'&&hex[i]<='f')
itoa(n/10,s); dec=dec*16+hex[i]-'a'+10;
s[i++]=c; }
} return(dec);
else }
{ (3)void stod(int n)
if(j==0) s[j++]='0'; { int i;
s[j]='\0'; if(n<0){ putchar('-');n=-n;}
1 教 案
授课时间 4 月 21 日 至 5月 16 日 课时数 7+7
授课方式 理论课☑ 讨论课□ 习题课□ 实验课□ 上机课☑ 技能课□ 其他□
授课单元 第六章 数组
目的
与
要求 1)掌握数组的概念
2)掌握静态数组和动态数组
3)掌握控件数组
4)掌握组合框和列表框
重点
与
难点
1)掌握数组的基本操作
2)掌握控件数组的使用
3)学会使用列表框及组合框
主
要
内
容 6.1数组的概念
*6.2静态数组
*6.3 动态数组
*6.4 控件数组
*6.5 列表框及组合框
教学方法手段(教具)
理论课采用板书与多媒体相结合。
实践课采用上机实践操作。
参考资料 《Visual Basic程序设计教程》 人民邮电出版社
《 Visual Basic程序设计实验教程》 人民邮电出版社 2 3 讲 稿
第六章 数组
[旧课复习]:
复习内容:
1.循环语句
2.多重循环使用
复习目的:学生掌握两种基本循环结构语句的使用以便在数组中能正确使用循环语句
复习时长:大约5分钟
[新课导入]:
导入方式:引入日常生活中的实例让学生理解数组的功能
导入目的:增强学生的理解能力
导入时长:大约10分钟
[新课讲授]:
重点:静态数组、动态数组的基本操作及列表框和组合框的使用
难点:控件数组
方法:运用多媒体辅助教学,采用讲授法和启发式教学法
6.1数组的概念
6.1.1数组概念
数组并不是一种数据类型,而是一组相同类型数据的集合。用一个统一的名字(数组名)代表逻辑上相关的一批数据,每个元素用下标变量来区分;下标变量代表元素在数组中的位置。
数组中的各个变量称为数组元素,数组中的每个元素用一个唯一的下标(索引)来标识。如m(5),表示名为m的数组中下标为5的那个元素。
数组元素的个数称为数组的长度(大小)。数组的各个元素在内存中是连 4 续存放的,如图6-1所示。数组名表示这个连续数据区域的起始位置,下标表示对应元素在内存区域中的相对位置。
第六章
一、数组的概念
数组是共享一个名字的一组具有相同类型的连续存放的变量的集合
数组是一组有序数据的集合
数组中各数据的排列是有一定规律的,下标代表数据在数组中的符号
所有的数组元素具有统一的数据类型
数组名是数组的首地址,每个元素是连续存放的
数组元素是由数组名和下标唯一确定
二、一维数组
①怎样定义一维数组
一维数组的定义方式为
类型标识符数组名[常量表达式]
其中
类型标识符:任一种基本数据类型或者是构造数据类型
数组名:自己定义的数组标识符,遵从标识符命名规则
常量表达式表示数组的长度,也是元素的个数
注意:
(1) 数组名不能和变量名相同
(2) 定义的时候要指定数组中的元素个数
常量表达式可以包括常量和符号常量比如int[3+5]是合法的
但是不可以包括变量 int a[n]是不合法的
C不允许对于数组的大小进行动态定义
不过
如果在被调用的函数中(不包括main)中定义数组
其长度可以是变量或者非常量的表达式
比如
Void func(int n)
{ int a[2*n] //合法的 n的值从实参中传来
调用func函数时形参n从实参中得到值
这种情况叫做“可变长数组”,允许在每次调用func时有不同的n
不过每次使用的时候数组的长度是固定的
(3) 数组的大小不可以是浮点常量
(4) 定义数组的时候不能没有数组长度 int a[] 非法
②一维数组元素的引用
数组元素是组成数组的基本单元
数组元素也是一种变量
引用的格式
数组名[数组下标]
其中数组下标只可以是整型常量或者整型表达式
如果是小数的话c编译的时候会自动取整
数组在定义之后
数组名代表数组的首地址
其中的元素按照下标依次存放而且下标从0开始!
数组定义之后
系统将给其分配一定的内存单元
其所占内存单元的大小和数组元素的类型和数组的长度有关
数组所占内存单元字节数=数组大小*sizeof(数组元素类型)
其中
第1章程序设计和C语言1
第2章算法——程序的灵魂16
第3章最简单的C程序设计——顺序程序设计
第4章选择结构程序设计85
第5章循环结构程序设计114
第6章利用数组处理批量数据142
6.1怎样定义和引用一维数组142
6.1.1怎样定义一维数组143
6.1.2怎样引用一维数组元素144
6.1.3一维数组的初始化145
6.1.4一维数组程序举例146
6.2怎样定义和引用二维数组148
6.2.1怎样定义二维数组149
6.2.2怎样引用二维数组的元素150
6.2.3二维数组的初始化151
6.2.4二维数组程序举例152
6.3字符数组154
6.3.1怎样定义字符数组154
6.3.2字符数组的初始化155
6.3.3怎样引用字符数组中的元素155
6.3.4字符串和字符串结束标志156
6.3.5字符数组的输入输出159
6.3.6使用字符串处理函数161
6.3.7字符数组应用举例165
习题168
第7章用函数实现模块化程序设计170
7.1为什么要用函数170
7.2怎样定义函数172
7.2.1为什么要定义函数172
7.2.2定义函数的方法173
7.3调用函数174
7.3.1函数调用的形式174
7.3.2函数调用时的数据传递175
7.3.3函数调用的过程177
7.3.4函数的返回值178
7.4对被调用函数的声明和函数原型179
7.5函数的嵌套调用182
7.6函数的递归调用184
7.7数组作为函数参数192
7.7.1数组元素作函数实参193
7.7.2数组名作函数参数194
7.7.3多维数组名作函数参数197
7.8局部变量和全局变量199
7.8.1局部变量199 7.8.2全局变量200
7.9变量的存储方式和生存期204
7.9.1动态存储方式与静态存储方式204
7.9.2局部变量的存储类别205
7.9.3全局变量的存储类别208
7.9.4存储类别小结212