这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » 软件与操作系统 » 【一点一滴学嵌入式Linux】c语言-数组及编程实例

共3条 1/1 1 跳转至

【一点一滴学嵌入式Linux】c语言-数组及编程实例

专家
2013-07-14 21:51:19     打赏

字符、字符数组、字符串

                   1.字符串:

                   一系列内存地址连续的字符的集合

                   字符串以‘\0(0)结尾

                           

                   2.以‘\0(0)结尾的数组可以看成字符串

                  

                  3.定义

                   char arr[5];

                   char arr[]={'a','b','+'}

                   char arr[]="hello"   长度为6

                   char arr[5]="hello";//

                           

                   4.scanf赋值

                   char arr[]

                   scanf("%s",arr);//给定字符数组的首地址,方可接受用户输入

                                     //直到遇到tab 、空格、回车、‘\0’停止接收

                   puts()输出字符串

                                     //括号内,放入字符数组/字符串的首地址

                                     //末尾自动加\n

                                                                                            

                   5.strlen

                   测字符串的长度,其中不包括'\0'

                   sizeof 的区别:sizeof 测类型的长度,当类型为字符型的时候,要算上'\0';

                   sizeof 是关键字

                   strlen 是函数

                   注意:想要将字符数组当作字符串输出,需在数组的末尾加上‘\0’或0,否则结果是不可预期的

                   用字符串对字符数组进行初始化时,数组给定的长度一定要算上'\0',否则结果不可预期

                                                       

                   6.strcpy/strncpy

                   char *strcpy(char *dest, const char *src);

                   返回值:char * 返回dest的首地址

                   char *dest :目的字符串的首地址

                   char *stc 源字符串首地址

                                                                        

         char *strncpy(char *dest, const char *src, size_t n);

         返回值:char * 返回dest的首地址

                   char *dest :目的字符串的首地址

                   char *stc 源字符串首地址

                   size_t n: 要拷贝的前n个字符串

                                                               

                   注意:dest字符数组的长度一定要大于等于src数组的长度

                   dest数组在拷贝之前,最好进行初始化,否则值是不可预期的

                                                                        

                   strncpy函数在拷贝时,如果没有将src内的‘\0’拷贝到dest中,dest不会再末尾添加‘\0

                   7.函数:

                   为了实现某项功能而自定义的函数

                                                       

                   原型

                                              

                   返回类型+函数名+(类型)参数列表(形参)

                   int main(void)

                   {

                            addab //实参

                   }

                                    

                   形参:指代实参的变量,但是类型必须和实参保持一致

                   函数一般需要返回类型,如果不需要,可以加void

                   如果定义了返回类型,函数体中,一定要有返回值

                   return 函数结束的标志

                   return 0 一般表示函数正常退出

                                                       

                   return -1 非正常退出

                                                       

                   exit0 正常退出

                                                       

                   exit-1 异常退出

                   8.函数的调用

                   a.函数调用之前,必须先声明

                   b.如果函数没有返回值,主函数不能接受返回值

                   c.函数的传递方式:

                            值传递

                            引用传递                                    

                   d.函数的定义只能有一次,声明无数次

                  

9.函数调用的过程

                   首先,函数从main开始执行->当遇到调用函数时->为其分配空间(临时)->调用函数->开始执行调用函数的函数体->调用函数结束->销毁临时分配的空间->返回主函数->继续执行->主函数执行完毕->所有临时分配的空间被销毁

                                                                                                                                  

                                                                                                                                  

                                                                                                                                  

                   10. 原型:char *strcat(char *dest, const char *src);

                   src指代的字符串连接到dest末尾,覆盖'\0',最后自动添加'\0'dest字符数组的长度一定要大于等于src数组的长度

                                              

                   char *strncat(char *dest, const char *src, size_t n);

                   src指代的字符串前n个连接到dest末尾,覆盖'\0',最后自动添加'\0'dest字符数组的长度一定要大于等于src数组的长度

                                                                                   

         作业:

                            1.编写函数,打印出100~999的所有水仙花数

                            2.实现strcmp函数

                            3.实现strncmp函数

                            4.实现strcat函数

                            5.实现函数upper--将给定字符串转换成大写

                            6.实现函数atoi  “123”-->123

                            7.用递归实现Fabonacci数列

                            8.判断字符串s1是否包含ch,如果有,输出第一次和最后一次出现ch的位置

                            9.判断字符串s1中是否包含s2字符串

                            10.输入5个字符串,并输出长度最短的那个

 

PDF及word文档:c语言-数组.rar




关键词: 嵌入式     Linux     c语言     数组    

专家
2013-07-15 22:17:32     打赏
2楼

这些东西还是得从细节入手 ,找相关的书多看看,我的初衷是让大家看看怎么联系编程,以便熟练敲代码


专家
2013-07-15 22:20:29     打赏
3楼
强度是很大的,每天都有一些新内容,越来越难会,我们每天也是码代码,较真的会干到凌晨,度过这个阶段就好过了,后面的学习会很轻松

共3条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]