C语言 第十四章 字符串

//一, 字符串简介
.java中,一个字符串可以用String类型来存储
String s = “MJ”;

C语言中没有string这种类型,用字符数组来存储字符串。
字符串就是字符序列,由多个字符组成。
	字符串是特殊的字符数组,尾部添加结束标志 \0
	采用字符数组存放字符串,赋值时应包含结束标志  \0

//二,字符串的初始化
char a[3] = {‘m’,‘j’,’\0’}

char b[3];
b[0] = 'm';
b[1] = 'j';
b[2] = '\0';

char c[3] = "mj";//系统自动在字符串的尾部加上一个 \0 

char d[] = "mj";

char e[20] = "mj"; 

//三,字符串的输出
1,使用 stdio.h 中两个函数来输出字符串,
分别是 printf 和 puts 函数

	1,printf函数
		用格式符%s表示需要输出一个字符串
		char a[3] = {'m','j','\0'};
		printf("%s,a");
		
		输出结果不显示 \0 
	
	2,puts函数
		char a[] = "mj";
		puts(a);
		
		puts("lmj"); 
		
		puts 函数输出一个字符串后会自动换行
		
		prus 函数一次只能输出一个字符串,
		printf 函数则可以同时输出多个字符串
		
		printf("%s - %s","mj","lmj");

//四,字符串的输入
1,stdio.h 中可以用来接收用户输入的字符串,
分别是 scanf 和 gets

	1,scanf函数
	char a[10];
	scanf("%s",a);
	scanf 函数会从a的首地址开始存放用户输入的字符,
	存放完毕后,系统会自动在尾部加上一个结束标记 \0
	
	...注意不要写成scanf("%s",&a),a已经代表了数组的地址。

	2,gets函数
		char a[10];
		gets(a);
		
		gets和scanf函数一样,会从a的首地址开始存放用户输入的字符,
		存放完毕后,系统在末尾自动加上一个结束标志 \0
		
		gets函数一次只能的读取一个字符串,
		scanf函数可以同时读取多个字符串 ,
		
		gets 函数可以读入包含空格,tab的字符串,直到遇到回车为止。
		scanf不能用来读取空格,tab

//五,字符串数组
1,字符串数组简介
.一维字符数组中存放一个字符串
eg;char name[20] = “mj”

	.存放多个字符串,如一个班所有学生名字,则需要二维字符数组
		char names[15][20],可存放15个学生的姓名(假设姓名不超过2哦个字符)
	
2,字符串数组的初始化
	char names[2][10] = {{'j','a','y','\0'},{'j','i','m','\0'}};
	
	char names2[2][10] = {{"jay"},{"jim"}} ;
	
	char names3[20][10] = {"jay","jim"};
	
	把字符串数组看作是一维数组,它的元素是字符串。
	字符串数组names由字符串"jay"和字符串"jim"构成。 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值