888从从从从从座座从从从8从从幽8从从从从B8从从 G语 程序设计 i制作h刘金连
第一章C语言概述 ·第二章数据类型、运算符与表达式 ·第三章最简单的c程序设计 第四章逻辑运算和判断选取控制 ·第五章循环控制 第六章数组 ·第八章编译预处理 第九章指针 第十章结构体与共用体 第十二章文件的基本操作 第十三章位运算
• 第一章 C语言概述 • 第二章 数据类型、运算符与表达式 • 第三章 最简单的C程序设计 • 第四章 逻辑运算和判断选取控制 • 第五章 循环控制 • 第六章 数组 • 第八章 编译预处理 • 第九章 指针 • 第十章 结构体与共用体 • 第十二章 文件的基本操作 • 第十三章 位运算
§6.3字符数组 存放字符数据。字符串用字符数组存放。 6.3.1字符数组的定义 char c[10] 大小 类型名数组名 1.初始化 直接给出字符串中的各字符 static char a4='G,o 若字符多于元素个数则语法错,反之后而补 序i
§6.3 字符数组 6.3.1字符数组的定义 类型名 数组名 大小 1. 初始化: 直接给出字符串中的各字符 static char a[4]={' G ', ' o ', ' o ', ' d '}; 存放字符数据。字符串–––用字符数组存放。 char c[10]; 若字符多于元素个数,则语法错,反之,后而补"\0
可以缺省数组的大小通过自动赋值决定长度(大小) static char x'c,,L,'a, ', 'q,u,' a,,g,'e'j 数组长度为10,相当于 char x0='c char x[5=q char x[= char x 6='u char X[2]='L’; char x[7]=a char x3=a char x[8=g, char x[4]}='n' char x 9]='e' 字符串常量用双引号“”括起来,且由‘V0结尾 static char x[] C language") EX:static char x[="C language" c語醒设计
可以缺省数组的大小,通过自动赋值决定长度(大小) static char x[ ]={'c ' , ' _ ' , 'L ' , 'a ' , 'n' , 'q ' , 'u ' , 'a ' , 'g ' , 'e '}; 数组长度为10, 相当于: char x[0]= ' c '; char x[5]= ' q '; char x[1]= ' _ '; char x[6]= ' u '; char x[2]= ' L '; char x[7]= ' a '; char x[3]= ' a '; char x[8]= ' g '; char x[4]= ' n '; char x[9]= ' e '; 字符串常量用双引号“ ” 括起来, 且由‘ \0’结尾。 static char x[ ]={"C_language"}; 或: static char x[ ]="C_language";
数组长度为11,相当于 char x[0='c char x5=q char x 1 char x[6 char X char x[7]=a char x3]= char x[4]- an char x[8=g char x 9='e char x 10=0 2.字符数组的引用 每一个字符数组元素相当于一个字符变量 c語醒设计
2. 字符数组的引用 每一个字符数组元素相当于一个字符变量。 数组长度为11, 相当于: char x[0]= ' c '; char x[5]= ' q '; char x[1]= ' _ '; char x[6]= ' u '; char x[2]= ' L '; char x[7]= ' a '; char x[3]= ' a '; char x[8]= ' g '; char x[4]= ' n '; char x[9]= ' e '; char x[10]= '\0';
63.2字符数组的输入输出 格式符:%c—逐个输入/输出字符 %s——整个串一次输入/输出。 1.输出(用%s) 用%输出时,不输出‘V0 在 printf中须直接写数组名 static char cl I am a student") printf("" s. C c語醒设计
格式符: %c –––逐个输入/输出字符。 %s ––– 整个串一次输入/输出。 1. 输出 (用%s) 用%s输出时,不输出‘ \0’. 在printf中须直接写数组名. static char c[ ]={"I am a student"}; printf("%s", c); 6.3.2 字符数组的输入输出
若数组长度大于字符串长度则遇到‘V0 即停止输出 static char c[10]=china printf( n 0/all s. C 输出时遇到第一个“V0即结束。 c語醒设计
若数组长度大于字符串长度,则遇到‘ \0’ 即停止输出 static char c[10]=" china"; printf(" %s", c); 输出时遇到第一个‘\0’即结束
2.输入(用%s) 输入字符串时,系统自动加上‘10 输入多个字符串,可用空格隔开。 Static char strl[5], str2 5], str3 5] scanf(" %s%s%s", strl, str2, str3) 则输入 How are you-J strl: How str2. are str3: y u c語醒设计
2. 输入(用%s) 输入多个字符串,可用空格隔开。 Static char str1[5], str2[5], str3[5]; scanf(" %s%s%s", str1, str2,str3); 输入字符串时,系统自动加上‘ \0’ 则:输入 How are you str1: H o w str2: a r e str3: y o u
但若: static char str[13] scanf"osIl s",str) 输入: How are you∠则只会将How输入,且存为 str:H o w \O scan中须用地址量,数组名表示地址量 c語醒设计
输入: How are you 则只会将How输入,且存为 scanf中须用地址量,数组名表示地址量。 str: H o w \0 …… 但若: static char str[13] scanf("%s", str);
例1:采用不同的方式输入输出字符串 #include maint i char name 13 Int 运行结果: for(1=0;i<=12;1++) Pear apple scanf( %c", &name[i]); Pear apple for(1=0;i<=12;i++) printf( %c, nameiD Pear apple scanf( 22 os name P ear printf( os name scant 中须用地址量,数组名表示地堆转程设计
#include main( ) { char name[13]; int i; for (i =0; i <=12; i ++) scanf(“ %c”,&name[i]); for (i =0; i <=12; i ++) printf(“ %c”,name[i]); scanf(“ %s”,name); printf(“ %s”,name); } 例1:采用不同的方式输入输出字符串 运行结果: Pear & Apple Pear & Apple Pear & Apple Pear scanf中须用地址量,数组名表示地址量