表示方式
char s[maxn];
const char* s = "内容"; //一维常量字符串数组
const char* s[] = {"内容一", "内容二", "内容三",……}; //二维常量字符串数组
输入方式
char s[maxn];
scanf ("%s", s);
读入一个不含空格、TAB和回车符的字符串,存入字符数组s,遇到空白字符会停下
char s[maxn][maxl];
scanf ("%s", s[i]);
读取第i个字符串
fgetc(fin);
从一个打开的文件fin中读取一个字符,返回一个int值。
getchar ();
从标准输入中读取一个字符
注:①fgetc、getchar()可以读取空格和换行符"\n"
②不同的系统中回车换行符时不同的:windows中是"\r"和"\n"两个字符,linux中是"\n",MacOS中是"\r"。在windows系统中读取windows文件,fgetc和getchar()会先把"\r"“吃掉”再读取"\n";linux中读取windows文件,他们会读取完"\r"后再读取回车换行符"\n"
char buf[maxn];
fgets (buf, maxn, fin);
在fin文件中读取完整的一行(遇到"\n"即停止读取),读取的字符数不超过maxn-1个,然后再末尾添上结束符"\0",因此不会越界。
char s[maxn];
gets(s);
从标准输入中读取完整的一行,不管字符串数组s的空间大小。
注:C11标准里gets()已被删除。。。
输出方式
char s[maxn];
int len = strlen (s);
for (int i = 0; i < len; i++)
printf ("%c", s[i]);
char s[maxn];
int len = strlen (s);
for (int i = 0; i < len; i++)
putchar (s[i]);
常用的一些库函数
在string.h中声明
int a, b, c, d, e;
char buf[maxn], a[maxn], b[maxn], f;
int len = strlen (buf); //C语言中字符串是以"\0"结束的字符数组,strlen()返回"\0"之前的字符个数
sprintf (buf, "%d%d%d", a, b, c); //将a,b,c输出到字符串buf中
sprintf (buf, "%d%d%d%d%d", a, b, c, d, e); //将a,b,c,d,e输出到字符串buf中
strcpy (a, b); //赋值
strcmp (a, b); //比较
strcat (a, b); //连接
strchr (buf, f) //在字符串数组buf中查找单个字符f
回顾
printf (); //输出到屏幕上
fprintf (); //输出到文件中
在ctype.h中声明
char ch;
isalpha (ch) //判断ch是否为字母,是返回true
toupper ()、tolower() //用于转换字母大小写
学会运用常量数组+例题
例题一UVA10082
例题二UVA401
例题三UVA1583