栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C:2.8-2.11:printf、scanf的输入运算用法以及数据类型转换

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C:2.8-2.11:printf、scanf的输入运算用法以及数据类型转换

#include 

int main()

{
	
	int data1=3;
	float data2=2.2;
	int data3;
	float data4;
	
	printf("得到data1为%fn",data1);  //错误,data1为整型,没有转换
	printf("得到data1为%fn",(float)data1);
	
	printf("得到两个数字分别为%d,%.2fn",data1,data2);  //%.nf表示小数点后保留n位
	
	data3=data1+data2;
	printf("那么这两个数的和为%fn",data3);  //错误,data3为整型,要转换
	
	data3=(float)data1+data2;
	printf("那么这两个数的和为%.2fn",data3); //错误,没转换
	printf("那么这两个数的和为%.2fn",(float)data3);  
	
	printf("那么这两个数的和为%.2fn",data1+data2); //没有定义data3,转不转换都可以
	printf("那么这两个数的差为%.2fn",data1-data2);
	printf("那么这两个数的积为%.2fn",data1*data2);
	
	data4=(float)data1/data2;  //只要含整数,则四种方式均可
	printf("那么这两个数相除为%fn",data4);
	printf("那么这两个数相除为%fn",(float)data1/data2);  
	printf("那么这两个数相除为%fn",data1/(float)data2);
	printf("那么这两个数相除为%fn",(float)data1/(float)data2);
	
	return 0;
}
D:C语言code第二章>gcc test2.c

D:C语言code第二章>a.exe
得到data1为0.000000
得到data1为3.000000
得到两个数字分别为3,2.20
那么这两个数的和为0.000000
那么这两个数的和为0.00
那么这两个数的和为5.00
那么这两个数的和为5.20
那么这两个数的差为0.80
那么这两个数的积为6.60
那么这两个数相除为1.363636
那么这两个数相除为1.363636
那么这两个数相除为1.363636
那么这两个数相除为1.363636

D:C语言code第二章>
  • printf用法:   printf("%d,%f,%f",a,b,c);
  • scanf用法:scanf("%d,%f,%f",&a,&b,&c); (注:要输入""内的整体,不写n)
  • 其中,printf是我们可以看到的内容,即打印出来的内容,scanf是我们输入的内容,即从键盘上扫描的数据
#include 

int main()

{
	int data1;
	int data2;
	float data3;
	
	printf("请输入:n");
	scanf("data=%f",&data3);  //要输入”“中相同的内容,不能只输入数据,否则出错
	printf("你的数据是:%.2fn",data3);
	
	printf("请输入两个数:n");
	
	scanf("%d%f",&data1,&data3);  //scanf不用n,输入可用空格/换行
	printf("你的数据是:data1=%d,%.2fn",data1,data3);
	
	printf("请输入三个数:n");
	
	scanf("%d,%d,%f",&data1,&data2,&data3); 
	//若有符号,则输入时也要输入,因此,在scanf里不要添加符号/空格/其他任意字符,防止出错
	//建议每个变量使用一个scanf
	printf("你的数据是:%d,data2=%d,%.2fn",data1,data2,data3);
	
	return 0;
	
}
D:C语言code第二章>gcc test1.c

D:C语言code第二章>a.exe
请输入:
data=1.5645
你的数据是:1.56
请输入两个数:
10 3.6756
你的数据是:data1=10,3.68
请输入三个数:
10,20,5.6765
你的数据是:10,data2=20,5.68

D:C语言code第二章>
  • scanf混合输入问题(回车、空格)及断行连接:
#include 

int main()

{
	int data1;
	char data2;
	float data3;
	
	printf("依次输入整数、字符、小数n");
	scanf("%d%c%f",&data1,&data2,&data3); //输入时不约束&.nf
	printf("你输入的数据为:data1=%d,data2=%c,data3=%.3fn", 
	        data1,data2,data3);  //数据太长时,用来表示断行连接
			
	//在输入字符型时,空格和回车会被看作字符
	//因此在输入时不能出现空格和回车,直接输入
	
	//一个%c只能输入一个字符,否则编译出错,如下:
	   //依次输入整数、字符、小数  
	   //189yuki3.6787  
	   //你输入的数据为:data1=189,data2=y,data3=0.000000
	
	return 0;
}
D:C语言code第二章>gcc test_scanf_char.c

D:C语言code第二章>a.exe
依次输入整数、字符、小数
189d3.57645
你输入的数据为:data1=189,data2=d,data3=3.576

D:C语言code第二章>
  • 其他输入输出:getchar、putchar、puts、gets(数组知识):
    #include 
    
    
    
    int main()
    {
    	char c;
    	puts("请输入一个字符");
    	c=getchar();
    	puts("你输入的字符是:");
    	putchar(c);
    	
    	return 0;
    	
    }
    D:C语言code第二章>gcc test_getput.c
    
    D:C语言code第二章>a.exe
    请输入一个字符
    y
    你输入的字符是:
    y
    
    (以下错误:只能输入单个字符)
    D:C语言code第二章>a.exe
    请输入一个字符
    dnjvb
    你输入的字符是:
    d
    D:C语言code第二章>

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1000895.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号