C 语言 几种输入输出函数

//1.输入输出
//输出:从计算机向外部输出设备(显示器、打印机)输出数据。        输入:从输入设备(键盘、鼠标、扫描仪)向计算机输入数据。
//输入函数:scanf() 、 getchar()、gets():                      输出函数:printf() 、 putchar()、puts():
// 
//scanf(),是格式输入函数,可接收`任意类型`的数据    <--->      printf(),是格式输出函数,可按指定的格式显示任意类型的数据
//getchar(),是`字符`输入函数, 只能接收`单个字符`   <--->      putchar(),`字符`显示函数,只能显示`单个字符`
//gets(),是`字符串`输入函数。                       <--->      puts(),是`字符串`输出函数

#include <stdio.h>   //这一节重点掌握scanf函数的使用
//C语言本身并没有提供输入输出函数,需要调用标准的函数库 <stdio.h>
// 包括就像printf  这个输出  就是引用的<stdio.h>这个头文件
int main() {
	//2.scanf()的使用
	//格式:scanf("格式控制字符串",参数地址列表)  注意不是参数列表
	//举例:scanf("%d%d%d",&a,&b,&c)              &是寻址操作符 &a表示a在内存中的地址
	// 
	//    数组一般都是指向数组的首元素地址    因此 在遇到数组时不使用运算符 &  
	// 
	//注意:如果scanf中%d是连着写的,如“`%d%d%d`”,在输入数据时
	// 数据之间不可以用逗号分隔,只能用空白字符(空格或tab键或者回车键)分隔。
	//如果是“`%d, % d, %d`”,则在输入数据时需要加   “, ”,如“`2,3, 4`”。



	//练习一:计算圆的面积,其半径由用户指定
	float R,H,V;
	printf("请依次输入圆柱的高和半径使用空格隔开:");
	scanf_s("%f%f",&H,&R);//此处遇到一个问题 scanf()出现错误  查询得出在新版本的编译器中,
	   V = H * 3.14 * R * R;//scanf()是不安全的,因为他不会检查输入的缓冲区是否溢出,
	printf("圆柱的体积为:%f\n",V);//可能导致缓冲区溢出漏洞,推荐使用更安全的scanf_s函数来进行代替。

	//练习输出多个变量的值求乘积

	int A, B, C, D, E, F,S;
	printf("请在屏幕上输入求乘积的6个数使用空格隔开");
	scanf_s("%d%d%d%d%d%d",&A,&B,&C,&D,&E,&F);

	scanf_s("%*c");//读取并且丢弃一个字符,可处理缓冲区残留字符,不然后面那个getchar受影响 无法从键盘读取

	S = A * B * C * D * E * F;
	printf("%d*%d*%d*%d*%d*%d = %d\n",A,B,C,D,E,F,S);

	//getchar()和putchar()的使用      
	//getchar()输入一个字符
	//putchar()输出一个字符
	char c1 = 'A';
	putchar(c1);
	printf("\n请输入一个字符:");
	char c2 = getchar();//和scanf一样也是一个阻塞式函数(就是等用户输入)
	putchar(c2);

	//gets和puts的使用  专门用来处理字符串的
	//gets 表示输入字符串
	//puts 表示输出字符串
	//
	char str[] = { "\nChina" };
	puts(str);
	char str1[] = { "BeiJing" };
	puts(str1);

	///char str2[15];
	//gets(str2);//从键盘输入字符串,gets读取后并且将字符串保存在str2数组中
	         //我的编译器识别不了gets,资料说gets由于由于安全隐患已经被弃用
	         //所以此处省略............................






	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值