




已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
书名:C语言程序设计实用教程 ISBN:7-111-16742-2 作者:陈方 出版社:机械工业出版社 本书配有电子课件 第4章 数组 实际处理的数据,常常是一批批的,而不止是一个。比如,10个同学的年龄,它们都是 整型数据,仍用前面的定义方法,可用下面语句说明: int age0,age1,age2,age3,age4,age5,age6,age7,age8,age9; 这里写了10个age,比较麻烦。C语言提供了数组的表示方法: int age10; 数组是具有相同数据类型的变量的集合。各元素可独立地作为一个变量被赋值和使用。 数组中每个特定元素都用下标来访问。 数组可以是一维的也可以是多维的。 4.1 一维数组 4.1.1 一维数组的定义 一维数组定义的一般形式为: 类型说明符 数组名常量表达式; 例如: int a10; 它表示数组名为a,有10个元素,每个元素都是整型,这10个元素是: a0,a1,a2,a3,a4,a5,a6,a7,a8,a9 第4章 数组 说明: (1)数组名定义规则和变量名相同,遵循标识符定义规则。 (2)常量表达式要用方括号“ ”括起来,不能用圆括号(下面用法不对: int a(0);)。 (3)常量表达式表示元素的个数,即数组长度。 (4)常量表达式中包括常量和符号常量,不能包含变量。语言不允许对数组的 大小作动态定义。例如,下面这样定义数组是不行的: int n; int an; (5)数组元素的下标从0开始,到(常量表达式1)为止。因此在如上定义的 数组中无a10元素。 4.1.2 一维数组元素的引用 数组和其他变量一样必须先定义,后使用。C语言规定除字符数组外,只能 逐个引用数组元素,而不能一次引用整个数组。 第4章 数组 例4-1 按顺序给数组的10个元素赋值,然后按逆序输出。 程序如下: main( ) int i,a10; for (i=0;iaj+1) t=aj;aj=aj+1;aj+1=t; for(i=0;i数组长度,则作语法错误处理;如果初值个 数小于数组长度,则只将这些字符赋给数组中前面那些元素,其余的元素自动定 为空字符(即0)。 例如: char c6=g,o,o,d ; 此时 c4和c5都为0。 (3)如果初值个数与数组长度相同,在定义时可以省略数组长度,系统会自动根 据初值个数确定数组长度。 例如: char c =g,o,o,d; 数组c的长度自动定为4。 (4)二维字符数组也可以初始化。 4.3.3 字符数组的引用 引用字符数组中的一个元素,可以得到一个字符。 例4-6 输出一个字符串。 第4章 数组 程序如下: main( ) char c10=I, ,a,m, ,a, ,b,o,y; int i; for(i=0;i字符串2,函数返回值正整数。 (3)使用说明 不能使用关系运算符“= =”来比较两个字符串,只能用strcmp()函数来处理。 字符串的比较函数可以用来设置用户程序密码。 例4-8 核对密码。 main( ) char str10; gets(str); if(strcmp(str,“2005-1-1“)= =0) printf(“yes!“);/*输入字符串2005-1-1时正确*/ else exit( );/*输入错误时退出程序,exit( )函数的作用是退出程序*/ 第4章 数组 6求字符串长度 strlen()函数 (1)调用方式:strlen(字符串)。 (2)函数功能:求字符串(常量或字符数组)的实际长度,函数值为字符串中实际长度,不包括0在内。 例如: char str10=“China“; printf (“%d“,strlen(str); 输出结果不是10,也不是6,而是5。 也可以直接测字符串常量的长度,例如: strlen (“China“) 7将字符串中大写字母转换成小写字母 strlwr()函数 (1)调用方式:strlwr(字符串)。 (2)函数功能:将字符串中的大写字母转换成小写,其他字符(包括小写字母和非字母字符)不转换。 8将字符串中小写字母转换成大写字母 strupr()函数 (1)调用方式:strupr(字符串)。 (2)函数功能:将字符串中小写字母转换成大写,其他字符(包括大写字母和非字母字符)不转换。 第4章 数组 例4-9 输入一行英文单词,单词之间用空格隔开,统计其中有多少个单词。 main( ) char str 81; int i, num=0,word=0; char c; gets(str); for (i=0;(c=str i)!= 0;i+) /*从字符串的第一个字符开始,依次赋给c,至字符串结束为止*/ if (c= = ) word=0; /*当str i为空格符时,word赋值0 */ else if (word= =0) word=1;num+; /*当str i 为单词头一个字母时,word赋值1(原来为0),num加1;当str i 为单词的后续字母时, 因word的值是1,不做任何操作,返回去继续循环*/ printf(“There are %d words in the linen“,num); 程序运行结果: 键盘输入 I am a boy 回车 屏幕输出 There are 4 words in the line 程序中变量i作为循环变量,num用来统计单词个数,word作为判别是否单词的标志,word=0表示未出 现单词,如出现单词word就置成1。 第4章 数组 本 章 小 结 1数组是一个有序数据的集合。数组元素可以是基本数据类型,如数值型或字符 型。数组元素的下标从0开始,到(常量表达式1)为止。 2一维数组有两种方法赋值,一是使用scanf()函数,二是在定义数组时给它赋 值(数组的初始化)。 3二维数组可以看成是一种特殊的一维数组,这个特殊的一维数组的元素又是一 维数组。因此定义的二维数组可以理解为定义了几个一维的数组。C语言的这种处 理方法在数组初始化和用指针表示时显得很方便。二维数组初始化用花括号来 分行,可以全部赋值,也可部分赋值;第一维的长度可以不指定,但第二维的长 度必须指定。 4用来存放字符的数组是字符数组。一般人们关心的是有效字符串的长度而不是 字符数组的长度,为此,C语言规定了一个字符串结束标志 0,它是一个“ 空操作符”,不能显示输出。它的作用就是
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 法院队伍建设课件
- 法院安全防护培训课件
- 法院安全培训结束语课件
- 中小学交通生安全测试题及答案解析
- 初中旅行安全规范测试题及答案解析
- 2025年工业互联网平台射频识别(RFID)在智能工厂生产成本控制中的应用报告
- 新能源绿色信贷政策在2025年执行效果分析及绿色金融产品创新应用报告
- 2025北京协和医院妇产科学系中心实验室科研人员招聘考前自测高频考点模拟试题及答案详解(夺冠)
- 2025年全球新能源汽车电池回收利用行业市场布局报告
- npi安全测试题及答案解析
- 2025年全国水利行业安全生产竞赛测试题及答案
- 2025年新人教版语文三年级上册全册教学课件
- 2025年全国质量月主题宣讲课件
- 一次性餐具配送投标方案
- 《公共艺术设计》课件
- 2024年中国教育出版传媒集团有限公司招聘笔试参考题库附带答案详解
- 老年综合评估课件
- 冬季作业安全技术交底
- 代写公司简介范本
- GB/T 25283-2023矿产资源综合勘查评价规范
- 译林版九年级英语上册Unit 4 Task 示范公开课教学课件
评论
0/150
提交评论