资源描述:
《C课件语言第09讲.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第九章字符串字符数组指向字符串的指针变量字符串处理函数一、字符数组的定义字符数组:用来存放字符型数据的数组。格式:char数组名[常量表达式],···;char数组名[常量表达式1][常量表达式2],···注意:字符数组的定义、引用、初始化遵循“数组”的规定。9.2.1字符数组的定义、初始化和引用在字符数组中,每一个元素只能存放一个字符。例:chara[10],b[30];chars[10][20],h[20][100];二维字符数组,可以看作是一个字符串数组。9.2.2字符数组的定义、初始化和引用二、字符数组的初始化字符数组的赋值要符合数组的要求,除了在定
2、义时初始化可以用字符串赋初值,其余只能一个元素一个元素地赋值。1)给所有元素赋初值:例chars1[7]={‘s’,’t’,’r’,’i’,’n’,’g’,’!’};chars2[]={‘s’,’t’,’r’,’i’,’n’,’g’,’!’};!gnirts存储形式为:1、一维字符数组初始化9.2.3字符数组的定义、初始化和引用例chars3[8]={’s’,’t’,’r’,’i’,’n’,’g’,’!’,’ ’};chars4[8]={"string!"};chars5[8]="string!";存储形式为: !gnirtsC语言中,规定了一个“字符串
3、结束标记”,以字符’ ’代表。说明:9.2.3字符数组的定义、初始化和引用在字符数组中,并不要求它最后的一个字符为“ ”,也可以没有“ ”。例:chars[5]=“China”;也是合法的字符串在实际存储时,系统会自动的在其尾部添加一个结束标志’ ’。‘ ’代表ASCII码为0的字符,是一个空操作符,表示什么也不干。9.2.3字符数组的定义、初始化和引用2)给部分元素赋初值:例:chars1[9]={’C’,’h’,’i’,’n’,’a’,’!’};chars2[9]={’C’,’h’,’i’,’n’,’a’,’!’,’ ’};chars3[9]
4、={”China!”};chars4[9]=“China!”;存储形式为: !anihC9.2.3字符数组的定义、初始化和引用2、二维字符数组初始化二维字符串数组的初始化,可以采用二维字符数组初始化形式或者字符串初始化形式例:charname[2][10]={{’J’,’o’,’h’,’n’,’ ’},{’M’,’a’,’r’,’r’,’y’,’ ’}};charname[2][10]={{”John”},{”Marry”}};charname[2][10]={”John”,”Marry”};这三种方法效果一样。9.2.3字符数组的定义、初始化
5、和引用1.利用格式符%c逐个输入、输出字符:例:charstr[10];inti;for(i=0;i<9;i++)scanf("%c",&str[i]);for(i=0;i<9;i++)printf("%c",str[i]);9.2.4字符数组的输入输出2.利用格式符%s,可以一次输入、输出字符串。例:charstr[10];scanf("%s",str);printf("%s",str);%s:遇第一个空白符(空格、Tab、回车)结束输入,遇第一个‘ ’结束输出。输入:program输出:program9.2.4字符数组的输入输出例:chars1[1
6、0],s2[15];scanf("%s%s",s1,s2);printf("%s%s",s1,s2);输入:programC输出:programC输入:Howareyou输出:Howarescanf函数虽然给多个字符的输入提供了简便的方法,但对于有空格的字符串的输入却有限制。9.2.4字符数组的输入输出注意:scanf函数参数要求的是地址,故直接用字符数组名进行操作。字符数组名表示的是该数组的首地址,因此使用格式符%s可以实现字符串整体的输入和输出。9.3字符串指针变量的定义与引用字符串常量的处理是用字符数组来实现的。也就是说,无论是否定义了字符数组,对
7、于程序中出现的字符串,系统都会在内存中开辟一个字符数组连续存储空间来存放该字符串常量。字符串的指针:字符串的首字符地址,也就是存放字符串的字符数组的首地址。字符串指针变量:通常把char型指针变量称为字符串指针变量。也就是说,指向字符串的指针变量等同于指向字符数组元素的指针变量,可以指向字符串中的任意一个字符。9.3字符串指针变量的定义与引用字符串指针变量的定义和初始化方式一:将存放字符串的字符数组名赋给字符串指针变量,让字符串指针变量指向字符串的首字符,然后通过移动指针变量来访问字符串的其他字符。例如:charstr[]="WelcometoChina!"
8、;char*p;p=str;/*等价于p=&str[