[初识C语言基础篇] C语言基本输入输出函数

目录

一、getchar(),putchar()

二、gets(),  puts()

三、scanf()和gets()的区别

四、总结


一、getchar(),putchar()

getchar() 和 putchar() 是一对字符输入/输出函数,其中这两个函数名中都包含一个char,见名知意,可以理解为这两个函数操作的是一个字符,如果想要输入多个字符时就需要循环使用函数,这两个函数都定义在 <stdio.h> 头文件中。

getchar()不带任何参数,它用来接收用户在键盘上输入的字符,并把它返回为一个整数。例如,下面的语句读取一个字符的输入,并把该字符的值赋给变量ch:

int ch = getchar();

char ch = getchar();

putchar()用来输出参数对应的字符, 比如上面的代码中把输入的字符赋值给了ch,当想要再输出该字符时,可以用:

putchar(ch);

二、gets(),  puts()

gets()和puts()函数可以用来接收多个字符的输入、输出,极大方便了程序的输入输出。

gets()接收键盘输入的字符串,直到遇见'\n'结束接收,不会存储 '\n',而是将其翻译为空字符 '\0',也可以理解为“吃掉回车”。

puts()打印输出参数的值,同时多打印一个换行符

 上方代码的第6行是puts()函数,此时右边输出字符串之后,你会发现又输出了一个回车!

三、scanf()和gets()的区别

scanf("%s",a):匹配连续一串的非空白字符,即遇到空格、tab或回车时结束

gets(a):读到回车处结束,所以当句子中的单词由空格分开时可以用gets(a)输入

eg:写一函数,使输入的一个字符串按反序存放,在主函数中输入并输出反序后的字符串。

 思路:1.需要有输入函数,这里的输入考虑如果有空格输入,用scanf函数是否可以?

            2.结果要求输出反序的字符串,用到的输出函数是什么?

#include<stdio.h>
#include<string.h>
int exchange(char a[], char b[])
{
	int i,len;
	int j = 0;
	len = strlen(a);
	for(i = len - 1; i >= 0; i--){
		b[j] = a[i];
		j++;
	}
	b[j] = '\0';
	return 0;
}
int main()
{
	char a[100],b[100];
	gets(a);
	exchange(a,b);
	puts(b); 
	return 0;
}

 这里选用的输入函数是gets()。getchar()单词只能接收一个字符,而scanf()遇到输入的空格会自动退出,选用gets()是较为方便的。第十二行告诉b数组字符接收结束,并且puts()输出字符时要遇到'\0'也就是字符结束符时才结束。

四、总结

最近在重新温习C语言,在B站大学跟着鹏哥学C,会记录下来学习的知识点,若有哪里不对的地方,请大家评论区给我留言,有什么好的学习建议也可以留言哈,我会慢慢改进的!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值