嵌入式编程数组与字符串课件_第1页
嵌入式编程数组与字符串课件_第2页
嵌入式编程数组与字符串课件_第3页
嵌入式编程数组与字符串课件_第4页
嵌入式编程数组与字符串课件_第5页
已阅读5页,还剩20页未读 继续免费阅读

VIP免费下载

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

文档简介

1、数组与字符串课程安排n什么是数据的组合n数组与维度n字符数组与字符串n常用字符串处理函数程序 = 数据(组合) + 语句(组合) 学习了C基本数据类型! 学习了各种表达式语句!学习了语句组合流程:流程控制! 那么在C语言里,数据是如何组合的? 从回顾开始从回顾开始相同类型数据组合数组字符串枚举不同类型数据组合结构联合C组合数据类型组合数据类型课程安排n什么是数据的组合n数组与维度n字符数组与字符串n常用字符串处理函数l数组变量定义数组变量定义 /类型类型 数组名数组名数组元素个数数组元素个数int score3 ; /学生的学生的3门功课成绩门功课成绩l定义定义&初始化初始化int s

2、core3 = 0 ; int score3 = 80, 90, 70; int score = 80, 90, 70; /好处是可以根据初始化需要扩展元素个数好处是可以根据初始化需要扩展元素个数l数组元素通过下标逐个引用数组元素通过下标逐个引用for (i = 0; i 3; i+)printf(“第第%d科成绩是科成绩是%d”, i, scorei);l数组越界会怎么样?数组越界会怎么样?score3 = 100; score4 = 95;数组概念数组概念1l数组变量占用的内存空间数组变量占用的内存空间 /数组名代表数组首地址 printf(score is %xn, score); pr

3、intf(score is %pn, score);/数组元素地址,数组的内存空间是连续的数组的内存空间是连续的printf(score is %pn, score);printf(score is %pn, &score0);printf(score is %pn, &score1);printf(score is %pn, &score2);l数组类型数组类型 数组的类型即是数组的类型即是数组元素的类型数组元素的类型数组元素具备数组元素具备相同数据类型相同数据类型,在数组变量,在数组变量定义时指定定义时指定数组概念数组概念2l数组大小数组大小 size = size

4、of(score);/等于等于每个元素大小的总和每个元素大小的总和 size = sizeof(int) * 3;l数组元素个数数组元素个数 int score = 80, 90, 70; cnt = sizeof(score) / sizeof(int); /求数组元素个数的通用方法求数组元素个数的通用方法 cnt = sizeof(score) / sizeof(score0) 数组概念数组概念3l数组维度数组维度 /定义定义二维二维数组数组int score23 = /两个学生各自的三门功课成绩两个学生各自的三门功课成绩80, 90, 70, 75, 65, 55; 可以理解为可以理解为

5、score是是2个元素的数组个元素的数组,每个元素又是包含每个元素又是包含3个元素的数组个元素的数组 可以定义多维数组变量,但可以定义多维数组变量,但一般情况下用到二维已经足够了一般情况下用到二维已经足够了! 数组概念数组概念4l 二维数组元素引用二维数组元素引用 for(i = 0; i 2; i+) for (j = 0; j 0!l字符串可以为字符型数组变量初始化,将每个字符串可以为字符型数组变量初始化,将每个字符字符ascii码值保存到字符码值保存到字符数组变量中数组变量中 什么是字符串?什么是字符串?l将班级所有学生的姓名保存在一个字符数组中?将班级所有学生的姓名保存在一个字符数组中

6、? 实例实例课程安排n什么是数据的组合n数组与维度n字符数组与字符串n常用字符串处理函数char str10 = 0;/从控制台输入字符串从控制台输入字符串scanf(“%s”, &str); gets(str);fgets(str, sizeof(str), stdin); /最安全的方式,避免数组越界最安全的方式,避免数组越界/输出字符串到控制台输出字符串到控制台printf(“%s”, str); printf(“str is %s”, str);puts(str); 字符串输入与输出字符串输入与输出char str120 = 0;char str220 = 0;str1 = “

7、hello”; ?str2 = “world”; ?str1 = str2; ?str1 + str2; ?字符串数组可以在初始化时赋值字符串数组可以在初始化时赋值在其他位置赋值需要通过字符串拷贝在其他位置赋值需要通过字符串拷贝strcpy和字符串连接和字符串连接strcat函数!函数!strcpy要注意避免数组越界问题,更安全的做法是要注意避免数组越界问题,更安全的做法是strncpy! 字符串拷贝与连接字符串拷贝与连接char str1 = “hello”;str1的长度是多少?的长度是多少?str1的内存大小是多少的内存大小是多少char str2 = “heLlo”;str1与与str

8、2一样么?如何比较一样么?如何比较通过通过sizeof运算符判断字符串占用的内存大小运算符判断字符串占用的内存大小通过通过strlen函数获取字符串长度,通过函数获取字符串长度,通过strcmp函数比较字符串大小函数比较字符串大小注意:注意:1、strcmp是逐个将是逐个将2个字符串中的字符个字符串中的字符ASCII码值逐个比较,全部字符值相同则码值逐个比较,全部字符值相同则字符串相等;通常用于用户名、密码登陆等认证场合。字符串相等;通常用于用户名、密码登陆等认证场合。 字符串长度与比较字符串长度与比较如何将如何将“100”转换成数值转换成数值100?char str = “100”; int

9、 num = 0;num = atoi(str); 如何将数组如何将数组100转换成字符串转换成字符串“100”?char str5 = 0; int num = 100;sprintf(str, “%d”, 100); 数值字符串与数值转换数值字符串与数值转换上机实验上机实验1、学生张三的、学生张三的5门功课成绩为别为门功课成绩为别为80、71、55、93、40,请将他的成绩保,请将他的成绩保存在数组中,并将不及格的成绩找到并打印出来存在数组中,并将不及格的成绩找到并打印出来2、学生张三的、学生张三的5门功课成绩为别为门功课成绩为别为80、71、55、93、40;李四的;李四的5门功课成门功课成绩为别为绩为别为57、87、59、60、100;王五的;王五的5门功课成绩为别为门功课成绩为别为66、59、86、45、88,请将他们的成绩保存在数组中,并分别将张三、李四、王五,请将他们的成绩保存在数组中,并分别将张三、李四、王五的不及格成绩找到并打印出来的不及格成绩

温馨提示

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

评论

0/150

提交评论