第9讲 字符组.pptVIP

  • 0
  • 0
  • 约4.62千字
  • 约 30页
  • 2017-06-29 发布于贵州
  • 举报
第9讲 字符组

第9讲 字符数组 一、字符数组的定义 二、字符数组的初始化 三、字符数组的输入与输出 四、字符串函数 一、字符数组的定义 字符数组:用来存放字符型数据的数组。 格式: char 数组名[常量表达式],··· ; char 数组名[常量表达式1][常量表达式2],··· 注意: 字符数组的定义、引用、初始化遵循 “数组”的规定。 在字符数组中,每一个元素只能存放一个字符。 例: char a[10],b[30]; char s[10][20],h[20][100]; 二维字符数组,可以看作是一个字符串数组。 二、字符数组的初始化 字符数组的赋值要符合数组的要求,除了在定义时初始化可以用字符串赋初值,其余只能一个元素一个元素地赋值。 1)给所有元素赋初值: 例 char s1[7]={‘s’,’t’,’r’,’i’,’n’,’g’,’!’}; char s2[ ]={‘s’,’t’,’r’,’i’,’n’,’g’,’!’}; ! g n i r t s 存储形式为: 1、一维字符数组初始化 例 char s3[8]={’s’,’t’,’r’,’i’,’n’,’g’,’!’,’\0’}; char s4[8]={string!}; char s5[8]=string!; 存储形式为: \0 ! g n i r t s C语言中,规定了一个“字符串结束标记”,以字符’\0’代表。 说明: 在字符数组中,并不要求它最后的一个字符为“\0”,也可以没有“\0”。 例:char s[5]=“China”; 也是合法的 字符串在实际存储时,系统会自动的在其尾部添加一个结束标志’\0’。 ‘\0’代表ASCII码为0的字符,是一个空操作符,表示什么也不干。 2)给部分元素赋初值: 例:char s1[9]={’C’,’h’,’i’,’n’,’a’,’!’}; char s2[9]={’C’,’h’,’i’,’n’,’a’,’!’,’\0’}; char s3[9]={”China!”}; char s4[9]= “China!”; 存储形式为: \0 \0 \0 ! a n i h C 2、二维字符数组初始化 二维字符串数组的初始化,可以采用二维字符数组初始化形式或者字符串初始化形式 例: char name[2][10]={{’J’,’o’,’h’,’n’,’\0’}, {’M’,’a’,’r’,’r’,’y’,’\0’}}; char name[2][10]={{”John”},{”Marry”}}; char name[2][10]={”John”,”Marry”}; 这三种方法效果一样。 三、字符数组的输入与输出 1.利用格式符%c逐个输入、输出字符: 例:char str[10]; int i; for ( i=0; i9; i++ ) scanf(%c,str[i]); for ( i=0; i9; i++ ) printf(%c, str[i]); 2.利用格式符%s,可以一次输入、输出字符串。 例: char str[10]; scanf(%s,str ); printf(%s\n, str ); %s:遇第一个空白符(空格、Tab、回车)结束输入, 遇第一个‘\0’结束输出。 输入:program 输出:program 例: char s1[10], s2[15]; scanf(%s%s,s1,s2 ); printf(%s %s\n, s1,s2 ); 输入:program C 输出:program C 输入:How are you 输出:How are scanf函数虽然给多个字符的输入提供了简便的方法,但对于有空格的字符串的输入却有限制。 3.利用字符串输入输出函数 C语言要求在使用字符串函数时,要包含头文件stdio.h 1、字符串输入函数gets( ); 作用:是将一个字符串输入到字符数组中,当遇到第一个回车时结束输入 格式:gets(字符数组名);? gets( )函数同scanf( )函数一样,在读入一个字符串后,系统自动在字符串后加上一个字符串结束标志’\0’。 注

文档评论(0)

1亿VIP精品文档

相关文档