欢迎来到天天文库
浏览记录
ID:36291245
大小:274.00 KB
页数:26页
时间:2019-05-08
《c语言程序设计实用教程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、书名:C语言程序设计实用教程ISBN:7-111-16742-2作者:陈方出版社:机械工业出版社本书配有电子课件实际处理的数据,常常是一批批的,而不止是一个。比如,10个同学的年龄,它们都是整型数据,仍用前面的定义方法,可用下面语句说明:intage0,age1,age2,age3,age4,age5,age6,age7,age8,age9;这里写了10个age,比较麻烦。C语言提供了数组的表示方法:intage[10];数组是具有相同数据类型的变量的集合。各元素可独立地作为一个变量被赋值和使用。数组中每个特定元素都用下标来访问。
2、数组可以是一维的也可以是多维的。4.1一维数组4.1.1一维数组的定义一维数组定义的一般形式为:类型说明符数组名[常量表达式];例如:inta[10];它表示数组名为a,有10个元素,每个元素都是整型,这10个元素是:a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]说明:(1)数组名定义规则和变量名相同,遵循标识符定义规则。(2)常量表达式要用方括号“[]”括起来,不能用圆括号(下面用法不对:inta(0);)。(3)常量表达式表示元素的个数,即数组长度。(4)常量表达式中包括常量
3、和符号常量,不能包含变量。C语言不允许对数组的大小作动态定义。例如,下面这样定义数组是不行的:intn;inta[n];(5)数组元素的下标从0开始,到(常量表达式-1)为止。因此在如上定义的数组中无a[10]元素。4.1.2一维数组元素的引用数组和其他变量一样必须先定义,后使用。C语言规定除字符数组外,只能逐个引用数组元素,而不能一次引用整个数组。[例4-1]按顺序给数组的10个元素赋值,然后按逆序输出。程序如下:main(){inti,a[10];for(i=0;i<=9;i++)a[i]=i;/*顺序给数组元素赋值*/for
4、(i=9;i<=0;i--)printf("%d",a[i]);/*逆序输出数组元素的值*/}程序运行结果:98765432104.1.3一维数组的初始化可以先定义数组,再给它的元素赋值,也可以在定义数组时给它赋值(称为数组的初始化)。对数组元素的初始化可以用以下方法实现:(1)在定义数组时对数组元素赋初值。例如:inta[10]={0,1,2,3,4,5,6,7,8,9};将数组元素的初值依次放在一对花括弧内。上面的数组a经过初始化后得:a[0]=0,a[1]=1,a[2]=2,a[3]=3,a[4]=4,a[5]=5,a[6]
5、=6,a[7]=7,a[8]=8,a[9]=9。(2)可以只给一部分元素赋值。例如:inta[10]={0,1,2,3,4};定义a数组有10个元素,但花括弧只提供5个初值,这表示只给前5个元素赋初值,此时后5个元素值自动赋值为0。(3)在对全部数组元素赋初值时,可以不指定数组长度。例如:inta[5]={1,2,3,4,5};可以写成inta[]={1,2,3,4,5};在第2种写法中,花括弧中有五个数,系统就会据此自动定义数组a的长度为5。[例4-2]用数组来处理求Fibonacci数列问题。main(){inti,f[20]
6、={1,1};for(i=2;i<20;i++)f[i]=f[i-2]+f[i-1];for(i=0;i<20;i++){if(i%5==0)printf("");/*每行输出5个数据*/printf("%8d",f[i]);}}程序运行结果:11235813213455891442333776109871597258441816765[例4-3]用冒泡法对10个数排序(由小到大)。冒泡法的思路是:将相邻两个数比较,将小的调到前头。若有10个数:7,0,4,8,5,9,6,1,3,2。先进行第1趟比较,第1次将7和0对调,第2
7、次将第2和第3个数(7和4)对调,如此共进行9次,得到0-4-7-5-8-6-1-3-2-(9)的顺序,可以看到:最大的数9已“沉底”,成为最下面的一个数。经第1趟(共9次比较)后,已得到最大的数9。然后进行第2趟比较,对前9个数按上法进行比较,经过8次比较,得到0-4-5-7-6-1-3-2-(8-9)的顺序;第3趟比较,得到0-4-5-6-1-3-2-(7-8-9)的顺序;第4趟比较,得到0-4-5-1-3-2-(6-7-8-9)的顺序;第5趟比较,得到0-4-1-3-2-(5-6-7-8-9)的顺序;第6趟比较,得到0-1-
8、3-2-(4-5-6-7-8-9)的顺序;第7趟比较,得到0-1-2-(3-4-5-6-7-8-9)的顺序;已得到由小到大的顺序,第8、9趟比较不会改变顺序。共比较九趟,在第1趟中要进行两两比较9次(10-1),第2趟比较8次(10-2)……第9趟
此文档下载收益归作者所有