资源描述:
《C语言程序设计实践第四章ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第四章数组的应用huy本章中的知识点主要涵盖了数组的定义和使用以及数组的常用算法。应熟练掌握一维数组和多维数组的定义、初始化和引用。熟练掌握字符串与字符数组的定义和使用。本章知识体系重点:一维数组和二维数组、字符数组的定义、初始化和引用及常用算法。难点:数组的排序、查找、插入、删除等算法。任务4.1一维数组编程【知识点】1、数组的相关概念:数组是由具有相同类型的固定个数的元素集合。数组元素在数组中的位置序号称下标,下标从0开始,每一个数组元素都是一个变量,为了与一般的变量相区别,称数组元素为下标变量。2、一维数组定义格式:类型标识符数组名
2、[常量表达式];其中数组名是用户定义的标识符,整个数组占用一段连续的内存单元,各元素按下标顺序存放,数组名表示了这段存储单元的首地址,即第一个数组元素的地址。常量表达式表示数组长度,即该数组有多少个数组元素。例如:inta[5];说明有5个元素,其元素分别是a[0]、a[1]、a[2]、a[3]、a[4]。下标从0开始,不能大于等于5。3、一维数组初始化的几种方式:(1)在定义数组时对全部数组元素赋初值。例如:inta[5]={1,2,3,4,5};(2)只给部分数组元素赋初值,系统自动对其余元素赋缺省值。例如:inta[5]={1
3、,3,5,};等价于:inta[5]={1,3,5,0,0};(3)使数组中全部元素初值都为0。例如:inta[5]={0};(4)对全部数组元素赋初值时,可以不指定数组长度,其长度由初值个数自动确定。例如:inta[]={1,2,3,4,5};4、一维数组元素的输入、输出一般采用循环语句实现。例如:inta[10],i;for(i=0;i<10;i++)scanf(“%d”,&a[i]);for(i=0;i<10;i++)printf(“%d”,a[i]);【任务要求】1、掌握一维数组的定义、初始化与使用。2、掌握
4、一维数组的输入、输出方法。3、学会应用一维数组编程求解问题。【任务内容】1、先阅读以下程序,分析程序的运行结果,再创建一个文件名为4-1.cpp的文件,编写程序,上机验证。1)#include2)#defineM103)voidmain()4){5)ints[M],i,k=1;6)for(i=0;i5、intf("%4d",s[i]);12)if((i+1)%5==0)printf("");/*利用i控制换行符的输出*/13)}14)printf("InvertOutput:");/*按从后到前的顺序输出*/15)for(i=M-1;i>=0;i--)/*下标值从大到小*/16){17)printf("%4d",s[i]);/*利用条件表达式来决定输出换行符还是输出空格*/18)if((i)%5==0)printf("");19)}20)printf("");21)}2.先阅读以下程序,分析程序的运行结果,再创建一个文
6、件名为4-2.cpp的文件,编写程序,上机验证。#includevoidmain(){inta[11]={3,5,8,10,12,16,19,24,28,37};intn,i,j,pos;printf("inputn:");scanf("%d",&n);if(n>a[9])//如果插入的数大于数组最后一个数,则直接插入到数组的最后面a[10]=n;else{for(pos=0;pos<10;pos++)//pos类似为一个指示牌,记录下要插入的位置。if(a[pos]>n)//如果a[pos]>n,则找到插入的位置,直接退
7、出循环break;for(j=10;j>pos;j--)//将pos后面的数从后向前依次向后赋值一次。a[j]=a[j-1];a[pos]=n;//将n插入到pos的位置。}for(i=0;i<11;i++)//打印修改后的数组printf("%4d",a[i]);printf("");}3.创建一个文件名为4-3.cpp的文件,编写程序,实现把数组中的值逆序输出。#includevoidmain(){inta[5],n,m,t;for(n=0;n<5;n++)//通过用户输入,获取数组的值scanf("%d",&a[
8、n]);for(n=0;n<5;n++)//打印出原始数组的值printf("%d",a[n]);printf("");for(n=0,m=4;n