购买

¥ 20.0

加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 c程序设计 第7章 数组

c程序设计 第7章 数组.ppt

c程序设计 第7章 数组

精品课件库
2019-06-15 0人阅读 举报 0 0 暂无简介

简介:本文档为《c程序设计 第7章 数组ppt》,可适用于综合领域

重点:一维数组的定义和引用 二维数组的定义和引用 字符数组第章数组C语言构造类型的数据它们有:数组类型、结构体类型、共用体。构造类型数据是由基本类型数据按一定规则组成的。数组是有序数据的集合。数组中的每一个元素都属于同一个数据类型。用一个统一的数组名和下标来唯一地确定数组中的元素。一维数组的定义和引用一维数组的定义说明:()数组名定名规则和变量名相同。()数组名后是用方括弧括起来()常量表达式表示元素的个数。a中表示a数组有个元素a,a,a,a,……a,a。()常量表达式中可以包括常量和符号常量不能包含变量。例数组元素的引用。s=aa……amain(){intia[]for(i=i<=i)ai=ifor(i=i>=i)printf("dn"ai)}一维数组的初始化在定义数组时对数组元素赋以初值。inta={}()可以只给一部分元素赋值。inta={}()全部数组元素赋初值时,可不要数组长度inta={} 可以写成: inta={}一维数组程序举例例用数组来处理求fibonacci数列问题。main(){intiintf={}for(i=i<i)fi=fififor(i=i<i){if(i==)printf("\n")printf("d"fi)}}例已知一组数(n个)找出其中最大者。main(){inti,n,jfloata,bscanf(“d”,n)for(i=i<ni)scanf(“f”,ai)b=aj=for(i=i<ni)if(b<ai){b=aij=i}printf(“Max=fnPosition=dn”,b,j)}例对任意个数按从大到小排序。main(){floata,tinti,jfor(i=i<i)scanf(“f”,ai)for(i=i<i)for(j=ij<j)if(ai<aj){t=aiai=ajaj=t}for(i=i<i)printf(“f”,ai)}二维数组的定义二维数组定义的一般形式为类型说明符:数组名常量表达式常量表达式例如:floatab定义a为×(行列)的数组b为×(行列)的数组。下标:,按行存放元素:数组名下标下标二维数组的定义和引用图图二维数组的初始化()分行给二维数组赋初值。如inta={{,,,},{,,,},{,,,}}()将所有数据写在一个花括弧内按数组行排列的顺序对各元素赋初值。inta={}()可以对部分元素赋初值,其它初值为。inta={{}{}{}}*第列*inta={{}{}{}}inta={{}{}}inta={{}{}{}}()如果对全部元素都赋初值(即提供全部初始数据)则定义数组时对第一维的长度可以不指定但第二维的长度不能省。 inta={,,,,,,,,,,,}与下面的定义等价: inta={,,,,,,,,,,,}()在定义时也可以只对部分元素赋初值而省略第一维的长度但应分行赋初值。inta={{}{}{}}例将一个二维数组行和列元素互换存到另一个二维数组中。例如:a=b=main(){inta={{}{}}intbijprintf("arraya:\n")for(i=i<=i){for(j=j<=j){printf(“d”aij)bji=aij}printf("\n")}printf("arrayb:\n")for(i=i<=i){for(j=j<=j)printf("d"bij)printf("\n")}}例有一个×的矩阵要求编程序求出其中值最大的那个元素的值以及其所在的行号和列号。main(){intijrow=colum=maxinta={{,,,},{,,,},{,,,}}max=a[][]for(i=i<=i)for(j=j<=j)if(a[i][j]>max){max=aijrow=icolum=j}printf("max=drow=dcolum=dn"maxrowcolum)} 字符数组的定义charcc='C'c='h'c='i'c='n'c='a' 字符数组用来存放字符数据的数组是字符数组。字符数组中的一个元素存放一个字符。字符数组的初始化charc={'I','','a','m','','h','a','p','p','y'}花括弧中字符个数大于数组长度错误。个数小于数组长度赋给数组中前面那些元素其余自动定为空字符(即'')。charc={'I''''a''m''h'}charcc={"THISIS"}charss="atbnCCC"注意:不能用赋值语句将一个字符串常量或字符数组直接赋给一个字符数组。用函数c=“Happy!”d=c()例输出一个字符串。main(){charc={'I''''a''m''''a''''b''o''y'}intifor(i=i<i)printf("c"ci)printf("n")printf("nsn",c)} 字符数组的输入输出、用c逐个元素的IO、用s整个字符串IO例:charcscanf(“s”,c)*遇空格结束*printf(“s”,c)注意:c为数组名其作为输入项时可以不加输入字符个数要小于数组的大小输出不包括结束符‘\’。、用字符串IO函数puts(s)和gets(s)s是字符数组名。遇回车结束字符串处理函数、puts(字符数组名)例如:staticcharstr={“ChinanBeijing”}puts(str)(分两行输出光标停在三行上)puts输出一个串在一行中(换行)。、gets(字符数组名)例如:charstrgets(str)从键盘输入:Howareyou↙注意:scanf(“s”,str)只接受How、strcat(字符数组,字符数组)(stringh)例如:charstr={“People’sRepublicof”}charstr={“China”}*长度*printf(“sn”,strcat(str,str))、strcpy(字符数组,字符串)例如:charstrstr={“China”}strcpy(str,str)strncpy(str,“China”,)*前个复制*注意:str={“China”}或str=str是不合法的!、strcmp(字符串,字符串)if(strcmp(str,str)==)printf(“Yes”)if(str==str)printf(“Yes”)不合法比较原则:第一个不相同字符的ASCII比较结果:()字符串和字符串相同函数值为。()字符串>字符串函数值为一正整数。()字符串<字符串函数值为一负整数。、strlen(字符数组)例如:charstr={“Chinan”}printf(“d”,strlen(str))结果为。、strlwr(字符串)(大写字母转成小写)、strupr(字符串)(小写字母转成大写)例输入一行字符统计其中有多少个单词单词之间用空格分隔开。#include<stdioh>main(){charstringintinum=word=charcgets(string)for(i=(c=stringi)!='\'i)if(c=='')word=elseif(word==){word=num}printf("Therearedwordsintheline\n"num)}例有个字符串,要求找出其中最大者。#include"stringh"main(){charstring,strintifor(i=i<i)gets(stri)if(strcmp(str,str)>)strcpy(string,str)elsestrcpy(string,str)if(strcmp(str,string)>)strcpy(string,str)puts(string)}第页,,,,,,,用筛法求之内的素数。用选择法对个整数排序。求一个×矩阵对角线元素之和。已有一个已排好序的数组,今输入一个数,要求按原来排序的规律将它插入数组中。将一个数组中的值按逆序重新存放。例如,原来顺序为,,,,。要求改为,,,,。打印出以下的杨辉三角形(要求打印出行)。………………找出一个二维数组中的鞍点,即该位置上的元素在该行上最大,在该列上最小。也可能没有鞍点。有一篇文章,共有行文字,每行有个字符。要求分别统计出其中英文大写字母、小写字母、数字、空格以及其他字符的个数。有一行电文,已按下面规律译成密码:a→Za→zb→Yb→yc→Xc→x……即第个字母变成第个字母,第i个字母变成第(i)个字母。非字母字符不变。要求编程序将密码译回原文,并打印出密码和原文。编一程序,将两个字符串连接起来,不要用Strcat函数。编一个程序,将两个字符串S和S比较,如果S>S,输出一个正数S=S,输出S<S,输出一个负数。不要用Strcmp函数。两个字符串用gets函数读入。输出的正数或负数的绝对值应是相比较的两个字符串相应字符的ASCII码的差值。例如,“a”与“c”相比,由于“a”<“c”,应输出负数,由于“a”与“c”的ASCII码差值为,因此应输出“”。同理:“and”和“aid”比较,根据第个字符比较结果,“n”比“i”大,因此应输出“”。编写一个程序,将字符数组s中的全部字符拷贝到字符数组s中。不用strcpy函数。拷贝时,‘\’也要拷贝过去。‘\’后面的字符不拷贝。

VIP尊享8折文档

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/34

c程序设计 第7章 数组

¥20.0

会员价¥16.0

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利