文档详情

字符数组与字符串处理函数.ppt

发布:2025-03-27约4.35千字共10页下载文档
文本预览下载声明

下一页下一页main(){inti;charstr[10];for(i=0;i9;i++)scanf(%c,str[i]);str[i]=\0;for(i=0;i9;i++)printf(%c,str[i]);}main(){inti;charstr[10];scanf(%s,str);printf(%s\n,str);printf(%6s\n,str);printf(%s-.6\n,str);}#includestdio.hintmain(){

charstr[100];

intn=0,i=0;

gets(str);

while(str[i]!=0)

{

if(str[i++]==x)n++;

}

printf(thenumberis%d\n,n);}第十二讲、

字符数组与字符串处理函数01教学目的02掌握字符数组的定义、初始化、引用掌握字符数组的输入与输出掌握字符串处理函数教学内容1、字符数组的定义和使用2、字符数组的初始化3、字符串的输入和输出4、字符串处理函数5、程序举例教材分析教学重点:字符数组的输入与输出字符串处理的算法教学难点:字符串处理函数字符串处理的算法12字符数组定义的一般形式:char数组名[数组长度];例如:charc[10];例如:unsignedintc[10];可以代替intc[10];10个元素占10个字节在TurboC中10个整数占20个字节说明:字符型和整型是通用的,因此定义也可改为intc[10];但应注意它们占用的存储空间不同。实际应用中,可以用无符号整型数组来代替字符数组。12.1字符数组的定义和使用12.2字符数组的初始化1、用字符常量对字符数组进行初始化例如: charstr[8]={‘’,‘p’,‘r’,‘o’,‘g’,‘r’,‘a’,‘m’}或: charstr[]={‘’,‘p’,‘r’,‘o’,‘g’,‘r’,‘a’,‘m’}或: str[0]=‘’,str[1]=‘p’,str[2]=‘r’,str[3]=‘o’,str[4]=‘g’, str[5]=‘r’,str[6]=‘a’,str[7]=‘m’说明:如果只给数组的一部分字符元素初始化,没有指定初值的元素默认初值为空字符(ASCII码为0的字符)。注意,空字符与空格字符(ASCII码32)不同。12.2字符数组的初始化2、用字符的ASCII码值对字符数组进行初始化(了解)例如: charstr[8]={112,114,111,103,114,97,109,0};3、用字符串(用双引号括着的字符序列)对字符数组进行初始化例如: charstr[]=“program”;该方式赋予数组8个字符,最后一个为“\0”,而 charstr[]={‘p’,‘r’,‘o’,‘g’,‘r’,‘a’,‘m’};占内存7个字节。字符串结束标志(自动加上)C语言的字符串称又0字符串,即最后一元素值为0的字符数组。调用scanf函数时,空格和换行符都作为字符串的分隔符而不能读入。gets函数读入由终端键盘输入的字符(包括空格符),直至读入换行符为止,但换行符并不作为串的一部分存入。逐个字符输入/输出在标准输入/输出函数printf和scanf中使用%c格式描述符使用getchar和putchar函数。12.3字符串的输入和输出12.3字符串的输入和输出P126【例6-23】逐个字符输入/输出#includestdio.hmain(){ inti; charstr[10]; for(i=0;i9;i++) scanf(%c,str[i]); str[i]=\0; for(i=0;i9;i++) printf(%c,str[i]);}str[i]=getchar();putchar(str[i]);12.3字符串的输入和输出2、字符串整体输入/输出(1)在标准输入/输出函数printf和scanf中使用%s格式描述符P127【例6-24】字符串整体输入/输出#includestdio.hmain(){

显示全部
相似文档