- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE
PAGE 4
PAGE 4
周次:第周 课次:第课 授课时间:年 月 日
章节内容:
第5章 数组
教学目标:
通过本章的学习,要求能熟练掌握数组的基本概念,熟练掌握一维数组、二维数组和字符数组的定义、赋值,熟练掌握数组的输入和输出方法,掌握字符串和字符数组的不同特点,掌握数组的排序、查询等基本操作方法。学习数组知识为后续章节做好准备,也为后续面向对象语言课程的学习打下基础 。
教学重点:
1)一维数组的定义与应用
2)数组的排序
教学难点:
1)一维数组的定义与应用
2)数组的排序
教学方法和授课手段
多媒体教室,电子课件。
教学过程:
预备(复习):计算机开机步骤、计算机基本操作、WINDOWS系统的基本操作。(5分钟)
课前提问(5 分钟)
课程引入:介绍本课程的学习目的、主要学习内容和学习方法。(10分钟)
课程新授:(60分钟)
5.1?????数组的C程序实例
【例5.1】一个简单的数组C程序
/*
源文件名:Li5_1.c
功能:从键盘输入一个不长于20个字符的字符串,按输入顺序相反的次序输出此字符串,例如输入dimension,输出noisnemid。
*/
#include stdio.h
void main()
{
char ch,s[20]; /*定义s字符数组,它最多可以容纳20个字符*/
printf(输入字符串:); /*打印输出一串字符串*/
i=0 /*i为统计字符个数*/
do
{
ch=getchar(); /*键盘上输入字符*/
if(ch!=’\n’) s[i++]=ch; /*读取的字符存与s[0],s[1]…*/
} while(i20ch!=’\n’); /*超过20个字符或输入回车结束字符输入*/
printf(反向顺序:); /*打印输出一串字符串*/
for(--i; i=0;--i) putchar(s[i]) ; /*反向输出这些字符*/
putchar(‘\n’);
}
输入字符串:dimension反向顺序:noisnemid程序运行后
输入字符串:dimension
反向顺序:noisnemid
5.2 一维数组的定义和引用
5.2.
一维数组的定义方法一般为:
1、一般定义
类型说明符 数组名[常量表达式]
其中类型可以是任何的C语言数据类型,例如char,int,long,float,double等,数组名称与普通变量名称一样,常量表达式是数组在内存中的单元数,在定义时必须是一个常数,不能是变量,数组的每个单元占的字节数就是对应类型占的字节数,显然数组占的总字节数是:常量表达式*sizeof(类型)
例如:
char s[20] ; /*定义20个字符的数组*/
int n[20] ; /*定义能存储20个整数的数组*/
float f[20] ; /*定义能存储10个float数的数组*/
2、定义且初始化
数组在定义时还可以同时为各个单元设置初始化的值。
⑴定义时给所有元素赋值,例如:
char s[5]={ ’a’,’b’, ’c’,’d’,’e’} ;
定义数组s[5],并且设置s[0]=’a’,s[1]=’b’,s[2]=’c’,s[3]=’d’,s[4]=’e’
⑵定义时给部分元素赋值,例如:
char s[5]={ ’a’,’b’} ;
定义数组s[5],并且设置s[0]=’a’,s[1]=’b’,s[2]=’\0’,s[3]=’\0’,s[4]=’\0’,
⑶定义时给所有的元素赋值,则可以不设置数组的大小,例如:
char s[]={ ’a’,’b’, ’c’,’d’,’e’} ;
与
char s[5]={ ’a’,’b’, ’c’,’d’,’e’} ;
是等价的。
5.2
1、一维数组元素的引用方式
数组名[下标]
下标可以是整型常量或整型表达式。
例如: a[0]=a[5]+a[7]-a[2*3]
【例5.2】用数组来处理,求解Fibonacci数列。
【例5.3】用随机函数产生10个0~100之内的整数,按从小到大排列输出。
使数组从小到大排序的规则如下:
⑴设数组为a[0],a[1],…,a[n-1],构造i循环从0,1,…,n-2变化,构造j循环从i+1,i+2,…,n-1变化,即ji。
⑵对于任何一个a[i],如果a[i]a[j],表面前面有一个元素a[i]比它后面的元素a[j]大,a[i]应该在后面,a[j]应该在前面,交换a[i]与a[j]。
您可能关注的文档
- 《C语言程序设计》课程.doc
- 《C语言程序设计案例教程(第四版)》全套章节习题答案.docx
- 《C语言程序设计案例教程(第四版)》章节习题答案第1章基本知识.doc
- 《C语言程序设计案例教程(第四版)》章节习题答案第2章算法.doc
- 《C语言程序设计案例教程(第四版)》章节习题答案第4章.doc
- 《C语言程序设计案例教程(第四版)》章节习题答案第5章.doc
- 《C语言程序设计案例教程(第四版)》章节习题答案第6章.doc
- 《C语言程序设计案例教程(第四版)》章节习题答案第7章.doc
- 《C语言程序设计案例教程(第四版)》章节习题答案第8章结构体、共用体和枚举类型.doc
- 《C语言程序设计案例教程(第四版)》章节习题答案第9章位运算.doc
文档评论(0)