3.1-3.2一维数组课件.ppt

3.1-3.2一维数组课件.ppt

2.一维字符数组的初始化 两种方法:用逐个字符赋值 用字符串常量 ⑴逐个字符赋值 ①全部元素初始化,长度可以省略。如: 处理字符串 有问题! 例 char str[5]={‘H’,’e’,’l’,’l’,’o’}; 等价于 char str[]={‘H’,’e’,’l’,’l’,’o’}; str[0] H e l l o 逐个字符赋值 str[1] str[2] str[3] str[4] 问:若果想存放“Hello”字符串,上面的定义可以吗??? 例 char str[7]={ ‘H’,’e’,’l’,’l’,’o’ }; 逐个字符赋值 ②部分元素初始化,长度不可以省略。如: str[0] H e l l o str[1] str[2] str[3] str[4] \0 \0 str[5] str[6] ⑵用字符串常量初始化 例 char str[]={“Hello”}; /*{}通常不写*/ char str[]=“Hello”; 请问str的长度是多少???? str[0] H e l l o str[1] str[2] str[3] str[4] \0 str[5] 若采用逐个字符赋值的方法,应定义成: char str[6]={’H’,’e’,’l’,’l’,’o’ ,’\0’ }; ①全部元素初始化,长度可以省略。如: 此时把长度填上应如何定义??? char str[6]=“Hello”; 可以整体输出: printf(“%s”,str);/*输出到’\0’为止*/ ②部分元素初始化:长度不能省略。 与下面的逐个字符法初始化等价: char str[7]={’H’,’e’,’l’, ’l’, ’o’} char str[7]= {’H’,’e’,’l’, ’l’, ’o’,’\0’,’\0’}; 例 char str[7]=“Hello”; 用字符串常量 str[0] H e l l o str[1] str[2] str[3] str[4] \0 \0 str[5] str[6] 注意:用字符串常量初始化字符数组时,字符数组的长度至少要比字符串的最大长度多一,最后一个元素用来存放字符串结束标志’\0’。 3.2.2字符数组(字符串)的输入和输出 主要内容: 字符串输出函数—puts() 字符串输入函数—gets() 这两个函数使用时前面要有文件包含命令: #include stdio.h 或 #include stdio.h 字符串的输入方法 字符串的输出方法 1.字符串输出函数—puts() 一般调用格式:puts(str) 其中,参数str可以是地址表达式(数组名或指针), 也可以是字符串常量。 功能:将一个以’\0’为结束符的字符串输出到终端(一般指显示器),并将’\0’转换为回车换行。 返回值:输出成功,返回换行符(ASCII码为10),否则,返回EOF(-1) 说明: 输出的字符串中可以包含转义字符。 输出到第一个’\0’为止,并将’\0’转换为’\n’,即输出完字符串后回车换行。 例1:写出下面程序的输出结果 main() { char str1[]=“china; char str2[]=china\nliaoning\0jinzhou; char *p=str2+6; puts(str1); puts(str1+2); puts(“Hello); puts(str2); puts(p); } 输出结果: china ina Hello china liaoning liaoning 2.字符串输入函数—gets() 一般调用格式为:gets(str) 其中,参数str是地址表达式,它指出了读入的字符串的存放位置,一般是数组名或指针变量。 功能:从终端(一般指键盘)输入一个字符串遇回车结束,存放到以str为起始地址的内存单元,并在字符串后面自动加结束标志’\0’。 返回值:字符串在内存中存放的起始地址,即str的值。 如:char str[20]; gets(st

文档评论(0)

1亿VIP精品文档

相关文档