嵌入式C编程01数组与字符串.ppt

上传人:小飞机 文档编号:5970465 上传时间:2023-09-09 格式:PPT 页数:25 大小:690KB
返回 下载 相关 举报
嵌入式C编程01数组与字符串.ppt_第1页
第1页 / 共25页
嵌入式C编程01数组与字符串.ppt_第2页
第2页 / 共25页
嵌入式C编程01数组与字符串.ppt_第3页
第3页 / 共25页
嵌入式C编程01数组与字符串.ppt_第4页
第4页 / 共25页
嵌入式C编程01数组与字符串.ppt_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《嵌入式C编程01数组与字符串.ppt》由会员分享,可在线阅读,更多相关《嵌入式C编程01数组与字符串.ppt(25页珍藏版)》请在三一办公上搜索。

1、数组与字符串,课程安排,什么是数据的组合数组与维度字符数组与字符串常用字符串处理函数,程序=数据(组合)+语句(组合)学习了C基本数据类型!学习了各种表达式语句!学习了语句组合流程:流程控制!那么在C语言里,数据是如何组合的?,从回顾开始,相同类型数据组合数组字符串枚举不同类型数据组合结构联合,C组合数据类型,课程安排,什么是数据的组合数组与维度字符数组与字符串常用字符串处理函数,数组变量定义/类型 数组名数组元素个数int score3;/学生的3门功课成绩定义,数组概念1,数组变量占用的内存空间/数组名代表数组首地址 printf(score is%xn,score);printf(sco

2、re is%pn,score);/数组元素地址,数组的内存空间是连续的printf(score is%pn,score);printf(score is%pn,数组类型 数组的类型即是数组元素的类型数组元素具备相同数据类型,在数组变量定义时指定,数组概念2,数组大小 size=sizeof(score);/等于每个元素大小的总和 size=sizeof(int)*3;数组元素个数 int score=80,90,70;cnt=sizeof(score)/sizeof(int);/求数组元素个数的通用方法 cnt=sizeof(score)/sizeof(score0),数组概念3,数组维度/定

3、义二维数组int score23=/两个学生各自的三门功课成绩80,90,70,75,65,55;可以理解为score是2个元素的数组,每个元素又是包含3个元素的数组 可以定义多维数组变量,但一般情况下用到二维已经足够了!,数组概念4,二维数组元素引用 for(i=0;i 2;i+)for(j=0;j 3;j+)printf(“第%d个人的第%d科成绩是%dn”,i,j,scoreij);,二维数组1,二维数组定义 size=sizeof(int)*cnt/数组大小等于每个元素大小总和,二维数组2,二维数组地址 二维数组的内存空间也是连续的:下一行首地址紧接上一行尾地址 printf(“sco

4、re is%pn”,score);/二维数组首地址 printf(“score0 is%pn”,score0);/二维数组第一行首地址 printf(“score1 is%pn”,score1);/二维数组第二行首地址 printf(“/第二行第一个元素地址,二维数组3,用数组保存数据,可以做到快速定位(通过下标)如:学生的第2门功课成绩:score1如:第2个学生的第3门功课成绩:score12但要寻找某个特定数值的元素,就没那么方便了(需要轮询)!某个学生中不及格的功课?所有学生的所有科目中,不及格的功课?,数组使用实例,课程安排,什么是数据的组合数组与维度字符数组与字符串常用字符串处理函

5、数,如何把你的名字保存在数组中/需要用到字符型数组/顺序将名字中的每个字符保存到数组元素中 char name1=x,n,f;为name1分配了多少内存空间?,什么是字符数组,一个一个字符初始化太笨拙了!char name=x,n,f;能不能一串名字初始化进去?char name2=“xnf”;为name2分配了多少内存空间?注意:多了一个字符串结束符0!,字符数组初始化,能够为整个数组赋值吗?char name 4;name=“xnf”;?只能为数组元素赋值char name3;name0=x;name1=n;name2=f所以还是把赋值放在定义,字符数组赋值,用“”包含起来的字符的集合如:

6、”xnf”字符串是一个常量字符串默认以字符串结束符0结束0的ascii编码是多少?=0!字符串可以为字符型数组变量初始化,将每个字符ascii码值保存到字符数组变量中,什么是字符串?,将班级所有学生的姓名保存在一个字符数组中?,实例,课程安排,什么是数据的组合数组与维度字符数组与字符串常用字符串处理函数,char str10=0;/从控制台输入字符串scanf(“%s”,字符串输入与输出,char str120=0;char str220=0;str1=“hello”;?str2=“world”;?str1=str2;?str1+str2;?字符串数组可以在初始化时赋值在其他位置赋值需要通过字

7、符串拷贝strcpy和字符串连接strcat函数!strcpy要注意避免数组越界问题,更安全的做法是strncpy!,字符串拷贝与连接,char str1=“hello”;str1的长度是多少?str1的内存大小是多少char str2=“heLlo”;str1与str2一样么?如何比较通过sizeof运算符判断字符串占用的内存大小通过strlen函数获取字符串长度,通过strcmp函数比较字符串大小注意:1、strcmp是逐个将2个字符串中的字符ASCII码值逐个比较,全部字符值相同则字符串相等;通常用于用户名、密码登陆等认证场合。,字符串长度与比较,如何将“100”转换成数值100?cha

8、r str=“100”;int 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,请将他们的成绩保存在数组中,并分别将张三、李四、王五的不及格成绩找到并打印出来3、分别求字符串”100”、“0001”的长度和内存大小,并比较这两个字符串的大小;尝试将”0001”接在”100”之后,组成”1000001”;尝试将”100”和“0001”转换成数值,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号