手把手入门C语言—C语言输出函数

手把手入门C语言—C语言输出函数

输出函数

printf(“你要输出的内容”);

%d - int
%ld - long int
%c - char
%f - float
%u - 无符号数
%hd - 短整型
%lf - double
%x - 十六进制输出 int 或者long int 或者short int
%o - 八进制输出
%s - 字符串

 
printf(“你要输出的内容对应的占位符”);
 
在C语言中,默认保留小数点后六位
 
要想保留对应的位数,就需要在百分号后面加上“.数字”
 
十进制:12345678
二进制:101111000110000101001110
         110000101001110
 
短整型的:12345678 为 24910
二进制:110000101001110
短整型截断了前面那一部分(101111000)
 
不同的类型,要用不同的占位去输出,否则精度丢失。
在这里插入图片描述

float f = 3.1415;
double d = 3.1415926535;
printf("f=%f\n",f);
printf("d=%lf\n",d);

输出时f后面多了2个 0,而 d 少了26535这几位数字
 
因为在C语言中,默认保留小数点后六位
 
那么如何取消默认保留呢?

printf("f=%.4f\n",f);
printf("d=%.10lf\n",d);

如上所示:用 . 加上数字表示保留几位数字
在这里插入图片描述

int i = 12345678;
// 如果用短整型占位符输出int类型的值的话,会产生精度丢失
printf("i=%hd\n",i);

在这里插入图片描述

// Java中这样写是没问题的,但是C语言中数组不可以把括号写在前面,下面[]写在前面会报错
// char[] cArray ={'A','B'};
printf("cArray内存地址=%x\n",&cArray);
//输出结果  cArray内存地址=60fee6


// 加上 # 会默认加上 0x , 加 # 号就可以变为 16进制(把地址值变为 16进制) 
printf("cArray内存地址=%#x\n",&cArray);
//输出结果  cArray内存地址=0x60fee6 

在这里插入图片描述

// 在C语言中没有 String 类型 
// printf("cArray内容=%s\n",cArray);  //这么写会乱码
char* text = "I love you!";	//使用指针 
printf("text内容=%s\n",text);

完整的代码

#include <stdio.h>
#include <stdlib.h>
/**

输出函数
printf("你要输出的内容");

%d  -  int
%ld -  long int
%c  -  char
%f  -  float
%u  -  无符号数
%hd -  短整型
%lf -  double
%x  -  十六进制输出 int 或者long int 或者short int
%o  -  八进制输出
%s  -  字符串

printf("你要输出的内容对应的占位符");

在C语言中,默认保留小数点后六位

要想保留对应的位数,就需要在百分号后面加上“.数字”


  十进制:12345678
  二进制:101111000110000101001110
				   110000101001110

  短整型的:12345678 为 24910
  二进制:110000101001110
  短整型截断了前面那一部分(101111000)

  不同的类型,要用不同的占位去输出,否则精度丢失。
*/
main()
{
	char c = 'A';
	int i = 12345678;
	long l = 123456789;
	float f = 3.1415;
	double d = 3.1415926535;
	printf("c=%c\n",c);
	printf("i=%d\n",i);
	printf("l=%ld\n",l);
	// .4表示保留小数点后 4 位
	printf("f=%.4f\n",f);
	// .10表示保留小数点后 10 位
	printf("d=%.10lf\n",d);
// 如果用短整型占位符输出int类型的值的话,会产生精度丢失
printf("i=%hd\n",i);

// Java中这样写是没问题的,但是C语言中数组不可以把括号写在前面,下面[]写在前面会报错
// char[] cArray ={'A','B'};
// C语言的数组的括号不能写在左边
char cArray[]  = {'A','B'};
// 内存地址用:& 符号 
printf("cArray内存地址=%x\n",&cArray);

//输出结果
// cArray内存地址=60fee6

//cArray内存地址=0x60fee6 

// 加上 # 会默认加上 0x , 加 # 号就可以变为 16进制(把地址值变为 16进制) 
printf("cArray内存地址=%#x\n",&cArray);

// 在C语言中没有 String 类型 
// printf("cArray内容=%s\n",cArray);  //这么写会乱码
char* text = "I love you!";	//使用指针 
printf("text内容=%s\n",text);

system("pause");
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值