字符数组(字符串)学习笔记

表示方式

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

一个好题

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值