中国科技大学C语言讲义PPT精选文档_第1页
中国科技大学C语言讲义PPT精选文档_第2页
中国科技大学C语言讲义PPT精选文档_第3页
中国科技大学C语言讲义PPT精选文档_第4页
中国科技大学C语言讲义PPT精选文档_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1数组是一组有序数据的集合,数组中每一数组是一组有序数据的集合,数组中每一个元素的类型相同。用数组名和下标来唯一确个元素的类型相同。用数组名和下标来唯一确定数组中的元素。定数组中的元素。6.1 6.1 1 1维数组的定义和引用维数组的定义和引用6.26.2 2 2维数组的定义和引用维数组的定义和引用6.3 6.3 字符数组与字符串字符数组与字符串第第6 6章章 数数 组组26.1 16.1 1维数组的定义和引用维数组的定义和引用34 5 例例 使数组元素使数组元素a0a0a9a9的值为的值为0 09 9,然后逆序输出。,然后逆序输出。#include “stdio.h”void main()

2、int i,a10; for (i=0;i=0; i-) printf(%d ,ai); 运行输出:运行输出: 9 8 7 6 5 4 3 2 1 063、一维数组的初始化、一维数组的初始化1 1、一般初始化,、一般初始化,例、例、static int a10 = 0,1,2,3,4,5,6,7,8,9; int array10 = 1,2,3,4,5,6,7,8,9,10; 2 2、部分元素初始化,、部分元素初始化,例、例、static int a10 = 0,1,2,3,4;3 3、全部元素均初始化为、全部元素均初始化为0 0,不允许简写。,不允许简写。例、例、 static int a1

3、0 = 0,0,0,0,0,0,0,0,0,0; 不能简写为:不能简写为:static int a10 = 0*10; 4 4、如果全部元素均指定初值,定义中可以省略元素、如果全部元素均指定初值,定义中可以省略元素的个数,的个数,例、例、static int a = 1,2,3,4,5;7 8 9101112 不足之处:不足之处:仍然要进行仍然要进行9 9轮冒泡操作,尽管轮冒泡操作,尽管不会有任何数据交换操作。不会有任何数据交换操作。1314151617. 18 行数列数01452301234567.20212223c000c001c002c003c010c011c012c013c020c02

4、1c022c023c100c101c102c103c110c111c112c113c120c121c122c1236.2 26.2 2维数组的定义和引用维数组的定义和引用1920 21 22232425 例例 有一个有一个3 34 4的矩阵,要求编程序以求出其中值最大的那的矩阵,要求编程序以求出其中值最大的那个元素的值及其所在的行号和列号。个元素的值及其所在的行号和列号。算法:算法:首先把第一个元素首先把第一个元素a00a00作为作为临时最大值临时最大值maxmax,然后把临时最,然后把临时最大值大值maxmax与每一个元素与每一个元素aijaij进进行比较,若行比较,若aijmaxaijma

5、x,把把aijaij作为新的临时最大值,作为新的临时最大值,并记录下其下标并记录下其下标i i和和j j。当全部元素比较完后,当全部元素比较完后,maxmax是整个矩阵全部元素的最大值。是整个矩阵全部元素的最大值。26main() int i,j,row=0,colum=0,max; static int a34=1,2,3,4,9,8,7,6,-10,10,-5,2; max = a00; for(i=0; i=2; i+) /* 用两重循环遍历全部元素用两重循环遍历全部元素 */ for(j=0; j max ) max = aij; row = i; colum = j; printf(

6、max=%d, row=%d, colum=%dn,max,row,colum); 276.3 6.3 字符数组与字符串字符数组与字符串一、定义字符数组一、定义字符数组例、例、char c10; /* 定义定义c为字符数组,包含为字符数组,包含10个元素个元素 */c0=i; c1= ; c2=a; c3=m; c4= ;c5=h; c6=a; c7=p; c8=p; c9=y; 注意:注意:字符型与整型可以通用,但有区别:字符型与整型可以通用,但有区别:char c10; /char c10; /* * 在内存中占在内存中占1010字节字节 * */ /int c10; /int c10;

7、/* * 在内存中占在内存中占2020字节字节 * */ /28二、字符数组的初始化二、字符数组的初始化1 1、逐个字符赋初值、逐个字符赋初值static char c10 = i, ,a,m, ,h,a,p,p,y;static char c10 = c, ,p,r,o,g,r,a,m; /* 9 */static char c = i, ,a,m, ,h,a,p,p,y; 注意:注意: 初始化数据少于数组长度初始化数据少于数组长度, ,多余元素自动为多余元素自动为“空空”(0,0,二进制二进制0 0)。)。 指定初值时,若未指定数组长度,则长度等于初值个数。指定初值时,若未指定数组长度,则

8、长度等于初值个数。 花括号中字符的个数数组长度,语法错花括号中字符的个数数组长度,语法错29以字符串常量赋初值以字符串常量赋初值static char c11 = i am happy;static char c11 = i am happy;注意:注意: 数组长度字符串中的字符数数组长度字符串中的字符数若数组长度字符串中的字符数,则出错若数组长度字符串中的字符数,则出错若数组长度字符串中的字符数,则后加若数组长度字符串中的字符数,则后加 数组长度可省略数组长度可省略iamhappy030static char c = i am happy;static char c = i, ,a,m, ,

9、h,a,p,p,y;这两种初始化不等价为何?这两种初始化不等价为何?字符数组本身不要求最后是字符数组本身不要求最后是而字符串常量一定最后是而字符串常量一定最后是31三、引用三、引用引用一个元素,得到一个字符。引用一个元素,得到一个字符。例:例:c2c232四、字符数组的输入输出四、字符数组的输入输出1 1、用、用“%c”%c”格式符逐个输入输出。格式符逐个输入输出。2 2、用、用“%s”%s”格式符按字符串输入输出格式符按字符串输入输出注意:注意:%c %c 输出,常用于字符数组中无标记的情况输出,常用于字符数组中无标记的情况%s%s输出,用于字符数组中有标记的情况输出,用于字符数组中有标记的

10、情况。33 void main() char c10; int i ; for( i =0; i10; i+ ) scanf(“%c”, &ci); /* ci=getchar();*/ for( i =0; i10; i+ ) printf(“%c”, ci); /*putchar(ci);*/scanf(“%s”, c);printf(“%s”, c);34例例 输出一个钻石图形输出一个钻石图形。 void main() static char diamond5= , ,*, ,*, ,*, *, , , ,*, ,*, ,*, , ,* ; int i, j; for(i=0;i

11、5;i+) for(j=0;j5;j+) printf(%c,diamondij); printf(n); void main() static char diamond= “ *n*n *n *n *n”; printf(“%s”,diamond);35 案例案例 字符数组的整体输入与输出。字符数组的整体输入与输出。 / /* *功能:将功能:将2 2维字符数组进行初始化,并在屏幕上输出维字符数组进行初始化,并在屏幕上输出* */ /void main() int i; char name59= 张三山张三山, 李四季李四季, 王五魁王五魁, 刘六顺刘六顺, 赵七巧赵七巧; for(i=0;

12、i5;i+) printf(n%st,namei); /*namei代表该行数组元素的首地址代表该行数组元素的首地址*/36 时时, 常用的字符串处理函数常用的字符串处理函数37 getsscanf输入的字符串中可包含空格字符输入的字符串中可包含空格字符输入的字符串中不可包含空格字符输入的字符串中不可包含空格字符只能输入一个字符串只能输入一个字符串可连续输入多个字符串(使用可连续输入多个字符串(使用%s%s)不可限定字符串的长度不可限定字符串的长度可限定字符串的长度(使用可限定字符串的长度(使用%ns)遇到回车符结束遇到回车符结束遇到空格符或回车符结束遇到空格符或回车符结束38 功能:向显示器

13、输出字符串(功能:向显示器输出字符串(输出完,换行输出完,换行)说明:如果是字符数组,则必须以说明:如果是字符数组,则必须以00结束结束 39 格式:格式:strlen( (字符串地址字符串地址) ) 功能:计算字符串长度功能:计算字符串长度返值:返回字符串实际长度,不包括返值:返回字符串实际长度,不包括00在内在内40 41 0 42 43将字符串中大写字母转换成小写将字符串中大写字母转换成小写strlwr()strlwr()函数函数(1 1)调用方式:)调用方式:strlwr(strlwr(字符串字符串) )(2 2)函数功能:将字符串中的大写字母转换成小写,其它)函数功能:将字符串中的大写字母转换成小写,其它字符(包括小写字母和非字母字符)不转换。字符(包括小写字母和非字母字符)不转换。将字符串中小写字母转换成大写将字符串中小写字母转换成大写strupr()strupr()函数函数(1 1)调用方式:)调用方式:strupr(strupr(字符串字符串) )(2 2)函数功能:将字符串

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论