C语言程序设计第7章new.ppt

第7章 数组 一维数组的定义 一维数组的定义 一维数组的引用 一维数组的初始化 一维数组举例 一维数组举例(续) 二维数组的定义 二维数组的引用 二维数组的初始化 多维数组和二维数组举例 字符数组 字符串 字符串保存到字符数组 字符串保存到字符数组 字符串保存到字符数组 字符串和字符数组 输出字符串 字符串处理函数 字符串处理函数 字符串处理函数 字符串处理函数 字符数组应用举例 * 假设正在给某发电厂开发软件,为了在程序中表示2001年每个月的发电量,需要定义12个实型变量: 要想表示2001~2003年间每个月的发电量,需要定义36个实型变量。 float f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12; 如果年数再多呢?…。显然,这种表示方式很不方便。 为了满足这种应用需求,C语言提供了数组类型,它允许程序员方便地定义多个同类型的变量。 数组有一维数组和多维数组之分,下面先从一维数组说起。 float f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12; float f13,f14,f15,f16,f17,f18,f19,f20,f21,f22,f23,f24; float f25,f26,f27,f28,f29,f30,f31,f32,f33,f34,f35,f36; 可以按以下方式定义一个一维数组: 类型 数组名[整型常量表达式]; 例如, int a[10]; float f[20-5]; char c[9*2]; 以数组a为例,它共有10个元素,依次编号为0~9,该编号称为数组元素的下标;这些元素被依次命名为a[0] 、a[1]、…、a[9]。 其中, 类型可以是整型、实型以及字符型等; 数组名是一个标识符,要符合标识符的要求; 常量表达式规定了数组元素的个数。 9 8 7 6 5 4 3 2 1 0 a[9] a[8] a[7] a[6] a[5] a[4] a[3] a[2] a[1] a[0] a 另外,每个数组元素都是int型的,可以象int型变量一样来使用,存储整型数据。 下标 名字 对于程序中定义的每个数组,C系统会根据类型和元素个数,在内存中分配地址连续的存储空间。 a[9] 320 a[8] 318 a[7] 316 a[6] 314 a[5] 312 a[4] 310 a[3] 308 a[2] 306 a[1] 304 a[0] 302 对于数组a, 为它分配10个大小为2字节的存储单元,每个数组元素对应一个存储单元,而且是顺序的。 a代表整个数组的起始地址。 注意:常量表达式中不能有变量、实数。 例如, ①int n=10; float f[n]; ②char name[10.5]; 9 8 7 6 5 4 3 2 1 0 a[9] a[8] a[7] a[6] a[5] a[4] a[3] a[2] a[1] a[0] a 前面提到,数组a的元素被依次命名为a[0] ~a[9]。可以看出,是按 a[下标] 方式命名或引用数组a的元素的。 一般地,C语言按照 数组名[下标] 的方式来命名/引用任一数组的元素。 需要注意的是,下标可以是个整型表达式。 ①a[3-3]表示a的第0个元素。 ②若k=5,则a[k]、a[k-2]分别表示a的第5、3个元素。 ③a[10]、a[25] 都非法。 在程序中,可以象使用变量一样使用数组元素。 特别提醒: 1.数组要先定义后使用。 2.要区分定义和引用。 3.注意下标不要越界。 下标 名字 例一、int a[10],y; a[1]=2; a[2]=a[1]*2; y=a[a[2]-2]-3; 例二、P132例7.1(exc\ch7\ex7-1.c)。 a[9] a[8] a[7] a[6] a[5] a[4] a[3] a[2] a[1] a[0] 0 1 2 3 4 5 6 7 8 9 a 数组的初始化是指在定义数组时,为数组元素设置初值。例如, int a[10]={9,8,7,6,5,4,3,2,1,0}; 初值的个数 不能超过数组的元素个数 还可以为部分元素设置初值,例如, a[9] a[8] a[7] a[6] a[5] a[4] a[3] a[2] a[1] a[0] 0 0 0 0 0 0 6 7 8 9 a 其余元素被初始化为0 int a[10]={9,8,7,6}; char c[8]={ ’C’,’H’,’I’,’N’,’A’}; c[7] c[6] c[5] c[4] c[3] c[2] c[1] c[0]

c语言中数组f30 a 5,C语言程序设计第7章new.ppt相关推荐

  1. c语言中数组部分输入赋值,c语言scanf对数组赋值

    c语言动态数组赋值,,c语言结构体数组赋值,c语言scanf对数组赋值 c语言数组动态赋值,<手把手教你学51单片机-C语言>之六 中断与数码管动态显示,c语言结构体数组赋值,c语言sca ...

  2. 从编译器角度分析C语言中数组名和指针的区别

    从编译器角度分析C语言中数组名和指针的区别 数组名和指针是两个往往很容易让人们混淆的概念,很多人以为数组名就是一个指针,也有很多人知道数组名不同于指针但是仅知道数组名的值不能像指针一样改变. 例如你可 ...

  3. 如何确定C语言中数组的大小?

    如何确定C语言中数组的大小? 也就是说,数组可以容纳多少个元素? #1楼 如果您要处理未作为参数接收的数组,则sizeof方法是正确的方法. 作为参数发送给函数的数组被视为指针,因此sizeof将返回 ...

  4. c语言中数组的变量j是什么,c语言中数组,一般数组

    c语言中数组,一般数组. 1.什么是数组,数组有什么用? 为了方便处理而把类型相同的变量有序地组织起来的一种形式. 类型相同的元素集中起来,在内存上排成一条直线. 2.数组的声明. 元素类型.变量名和 ...

  5. C语言中数组的排序算法详解——选择法、冒泡法、交换法、插入法、折半法

    选择法排序 选择法排序是指:如果要把一个数组从小到大排列,那么就从该数组中依次选择最小的数字来排序.从第一个数字开始,将第一个数字与数组中剩下数字中最小的那一个交换位置,然后将第二个数字与剩下数字中最 ...

  6. C语言中数组首地址和数组第一个元素的地址有什么区别

    C语言中数组首地址和数组第一个元素的地址关系如下: 1.它们的地址值是相等的. 2.第1个元素的地址如果是p,则p+1就是第2个元素的地址. 3.数组的首地址如果是p,则p+1就跳过这个数组而指向这个 ...

  7. c语言中的下标变量是什么,c语言中数组的下标从什么开始?

    c语言中数组的下标从0开始. 数组中的各元素的存储是有先后顺序的,它们在内存中按照这个先后顺序连续存放在一起.数组元素用整个数组的名字和它自己在数组中的顺序位置来表示. 例如:a[0]就表示名字为a的 ...

  8. c语言中数组的定义与应用

    定义方法: 类型  变量名[元素个数]: 比如: int  a[6]; char b[24]; double c[3]; 注意,c语言中数组的元素个数是不能动态定义的(修改:在c99中已经可以了) 也 ...

  9. c语言中数组的概念及作用,C语言数组的定义及其使用方法

    什么是数组? 在我们学习数组前先让我们介绍一下c语言中数组是什么?数组就是一个个元素按照一定顺序排列的集合.它将数据从最低的内存地址保存到最高的内存地址. 声明一个数组 c语言规定了声明数组的格式: ...

最新文章

  1. 安装python-devel开发包
  2. Solr添加SolrDocument报错
  3. ph值图片_螃蟹养殖大数据——高温季节的pH值过高,不适宜养殖螃蟹?未必
  4. HttpHandler和ashx使用Session 出现未初始化异常
  5. EmEditor 常用功能
  6. Java 如何使用protobuf
  7. 各 Delphi 历史版本下载合集
  8. mysql stmt fetch_mysql_stmt_fetch()
  9. 软工网络15团队作业8——Beta阶段敏捷冲刺(Day6)
  10. Oracle错误处理机制
  11. MBP TouchBar自定义使用
  12. Windows7下安装Ubuntu 16.04双系统
  13. 微信如何屏蔽别人发来的消息,如何屏蔽微信消息
  14. python基础19-36题
  15. 《数据库原理与应用》实验一
  16. php 字符串放到数组中,在PHP中将字符串转换为数组(Converting string into array in php)...
  17. 学生用计算机有哪些小游戏,学生时期:那些霸占你信息课的4款游戏,最后一款,你肯定玩过...
  18. nagios使用nsca实现被动监控
  19. Java项目中利用钉钉机器人Webhook向钉钉群推送告警通知
  20. 职场遭遇“小人”,你如何应对?

热门文章

  1. *java* 在Java中给Int类型的最大值+1 ,以及int与byte之前强转的例子
  2. 安装Python2.7
  3. 公钥加密私钥解密私钥加密公钥解密
  4. selenium webdriver 原理概述
  5. 精致女孩必备的6款APP,内外兼修,提升气质
  6. Android修行手册 - 自定义验证码输入框
  7. 【已解决】在react+ts中 atnd 用 upload 组件报错Failed to execute ‘readAsArrayBuffer,param 1 is notof type Blob
  8. 达梦数据库安装配置记录
  9. 如何建立家庭局域网络
  10. 中职学校计算机教师 述职报告,2011中职学校教师述职报告