第六讲二级C字符串

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第六讲二级C字符串
(2)用puts函数输出字符串
函数原型:int puts(char * str); 调用格式:puts(str);
函数功能:将字符数组str中包含的字符串或str所指示的字 符串输出,同时将'\0'转换成换行符。 例:char ch[]="student";
puts(ch); puts("Hello"); 将字符数组中包含的字符串输出,然后再输出一个换行 符。因此,用puts()输出一行,不必另加换行符'\n'。 函数puts每次只能输出一个字符串,而printf可以输出几个 :printf("%s%s",str1,str2);
计算机等级考试辅导
第六讲
第六讲二级C字符串
• 第十章 字符串 • 第十一章 对函数的进一步讨论 • 第十四章 结构体、共用体和用户定义类

第六讲二级C字符串
第10章 字符数组与字符串
字符数组的定义与初始化 1. 字符数组的定义 字符数组:其元素类型为字符类型的数组,其 定义与前面介绍的数组定义相同。 例如:
如: char s[14]; gets(s);
若输入的字符串为: How do you do?↙ 则s 的内容为: How do you do?\0
第六讲二级C字符串
例:字符串输入输出示例
#include<stdio.h> main() {char s[20],s1[20]; scanf(“%s”,s); printf(“%s\n”,s); scanf(“%s%s”,s,s1); printf(“s=%s,s1=%s”,s,s1); puts(“\n”); gets(s); puts(s); }
第六讲二级C字符串
字Fra Baidu bibliotek串的输入输出
1.字符串的输出方法
(1)用printf函数
用printf输出字符串时,要用格式符“%s”,输出时 从数组的第一个字符开始逐个字符输出,直到遇
到第一个‘\0’为止。
例: char st[15]=“I am a boy!”
printf(“st=%s,%c,%c”,st,st[3],st[7]);
第六讲二级C字符串
2. 字符串的输入 (1)使用scanf函数输入字符串
例:char st[15]; scanf(“%s”,st); 但:scanf(“%s”,&st);是错误的; 因为st就代表了该字符数组的首地址。 注:输入时,以回车或空格作为结束标志; 即:用scanf输入的字符串中不能含有空格。
若按如下方法输入: How do you do?↙
执行语句 : scanf("%s",st) ; 则s 的内容为: How\0 使用格式字符串"%s"时会自动加上结束标志'\0'。第一个空
格后的字符没有输入st中。
第六讲二级C字符串
(2)使用函数gets()输入字符
函数原型:char *gets(char *str); 调用格式: gets(str); str是一个字符数组或指针。 函数功能:从键盘读入一个字符串到str中,并自动 在末尾加字符串结束标志符’\0’。 输入字符串时以回车结束输入,这种方式可以读入 含空格符的字符串
字符串的结束标志:‘\0’。 注:C语言无字符串类型,字符串是存放在字符数
组中的。
第六讲二级C字符串
2. 用字符串来直接初始化字符数组 可直接把字符串写在花括号中来初始化字符数组. 如:char ch[9]={“student”};字符串和数组长度?
s t u d e n t \0
系统将双引号括起来的字符依次赋给字符数组的各个元 素, 并自动在末 尾补上字符串结束标志字符'\0'。
输出结果:
st=I am a boy!mb
第六讲二级C字符串
例: 字符串输出示例
#include<stdio.h>
main()
{ static char str[20]={”How do you do ?”};
int k;
printf(“%s”,str);
/*输出str中的字符串*/
for (k=0;str[k]!=’\0’;k++)
几点说明: (1)字符串结束标志'\0'仅用于判断字符串是否结束,输出字符串时不 会输出。 (2)在对有确定大小的字符数组用字符串初始化时,数组长度应大于 字符串长度。如: char s[7]={"student"};是错误的. (3)在初始化一个一维字符数组时,可以省略花括号。如: char s[8]="student"; ( 4 )不能直接将字符串赋值给字符数组名。下面的操作是错误的。 s=”student”;
printf(“%c”,str[k]); /*一个一个地输出字符*/
}
输出结果为:How do you do ?How do you do ?
使用printf()函数的"%s"格式符来输出字符串,从数组的第一个字符 开始逐个输出,直到遇到第一个'\0'为止。
使用”%c”格式时,用循环实现每个元素的输出。
char str[40]; 定义一个有40个元素的字符数组,每个元素 相当于一个字符变量。 字符型与整形是通用的.
第六讲二级C字符串
2. 字符数组的初始化
方法:将字符常量以逗号分隔写在花括号中 ①在定义字符数组时进行初始化
char ch[7]={‘s’,’t’,’u’,’d’,’e’,’n’,’t’}; ②在对全部元素指定初值时,可省写数组长度。
第六讲二级C字符串
给出以下定义:
char x[ ]="abcdefg"; char y[ ]={'a','b','c','d','e','f','g'};
C
则正确的叙述为( )。
A) 数组X和数组Y等价 B) 数组x和数组Y的长度相同
C) 数组X的长度大于数组Y的长度
D) 数组X的长度小于数组Y的长度
char ch[]={‘s’,’t’,’u’,’d’,’e’,’n’,’t’}; ③如果花括弧内提供的初值个数大于数组长度?
出错
第六讲二级C字符串
字符串的概念及存储
1.字符串的概念
字符串: 若干有效字符的序列; 可包含转义字符、ASCⅡ码表中的字符;
形式为: 用双引号括起来的字符序列; 例:"I am a student." , "Hello " "a[5]="; "%f\n"。
相关文档
最新文档