C语言学习-----输入输出函数

一、输出函数的使用

1.1整型输入输出

1.1.1.转换说明

%d-----------有符号十进制整数

%o-----------无符号八进制整数

%X/x--------无符号十六进制整数

%u-----------无符号十进制整数

1.1.2转换说明修饰符

%4d--------------4可以替换任何数字,代表最小字段宽度,如果该字段不能容纳打印的数字,系统                            会使用更宽的字段

%.3d--------------小数点后边的数字可以替换任何数字,在整型类型输出中,表示待打印数字的最                             小位数,不够的话需要前边加0来达到这个位数

%4.3d(45)-----输出----045;

%h(d/u/x/0)-------表示short int /unsigned short int;

%hh(u/x/d/o)-----表示unsigned char/signed char 类型的值;(不是很理解在这里,深入学习后下                             去查)

%l(d/u)----------long int /unsigned long int

%ll(d/u)---------long long int /unsigned long long int

%zd---------------sizeof使用这个转换符

%td---------------ptrdiff_t类型的值(两个指针差值的类型)

1.2浮点型输出

1.2.1转换说明

%f----------------float类型浮点数

%lf--------------double类型浮点数

%e/E--------------e计数法

(以上均默认六位小数)

%g/G-------------自动选择e计数法或者十进制法

%a/A--------------十六进制计数法(P计数法)

1.2.2转换说明修饰符

%4d--------------4可以替换任何数字,代表最小字段宽度,如果该字段不能容纳打印的数字,系统                            会自动四舍五入

%.3d--------------小数点后边的数字可以替换任何数字,在浮点型类型输出中,表示小数点后边的                             位数

1.3字符型输出

1.3.1转换说明

%c-----------------单个字符

%s-----------------字符串

1.3.2转换说明修饰符

%4d--------------4可以替换任何数字,代表最小字段宽度,如果该字段不能容纳打印的字符串,系                            统会使用更宽的字段

%.3d--------------小数点后边的数字可以替换任何数字,在字符串输出中,表示待打印字符的最大                             数量

1.4 其他标记

-   ----------------------- 表示左对齐   eg. %-20s;

+ ------------------------ 表示输出正数带+,负数带-;

空格( )------------- 如果是正数,输出数字前边留一个空格;负数的话,空格变负号;

# -----------------------把结果转换为另一种格式 eg.%#x,%#o;

0 ----------------------- 数值格式------前导0代替空格填充字段宽度

                                整数格式,如果出现了标记的指定精度(小数点加数字)或者左对齐标记,0                                  无用

*------------------------eg.%*d,程序有两个参数,第一个是*,表示字符宽度,第二个是d对应的数值。

eg.printf(“The number is %*d”,width,number);

     printf(“The number is %*.*f”,width,precision,number);

二、输出函数本身

2.1函数的返回值

    函数返回打印字符的个数,空格以及字符串最后的隐藏\0也会算内(转义字符是一个字符

2.2函数转换不匹配

     计算机根据变量类型(而不是转换说明)将这些值放入栈中,函数根据转换说明从栈中读取数据,因此在多个输出函数中,只要有一个错了,其他转换说明即使是对的,也会输出虚假的结果。另一方面,如果使用较短内存的数据类型读取长数据类型,会发生截断。

2.3printf函数的使用

printf("   打印的东西,包括数据转换说明",待打印项1,待打印项2,待打印项3,...);

打印长字符串,可以用分两句话打印,不加\n;

也可以一句话中用\和enter 键输入两句话;

也可以两个“” “"输出语句。

二、输入函数

2.1修饰符

%p-------------指针变量

*----------------省略该值  %*d

2.2scanf函数的使用

scanf("语句",&变量/数组名称)

        scanf函数使用空白(换行符,制表符和空格)将输入分成多个字段,在转换说明和字段匹配时会跳过空白

scanf函数在读取数据时,从第一个遇到的非空白字符开始,会在字段结尾或者第一个空白字符处停止,多个字符读取时,程序在非第一次读取过程中,首先读到的是上一次丢弃的字符,如果此时格式不匹配,就会输出错误值。

scanf("%d %d",%a,&b);

scanf("%d%d",%a,&b);效果相同;

scanf("%c"&b);,从第一个字符开始读取;

scanf(" %c",&b);从第一个非空白字符读取。

scanf("%d,%d",%a,&b);  格式字符串中的空白意味着跳过下一个输入项前面的所有空白。

scanf("%d ,%d",%a,&b);

2.3函数返回值

成功便会返回成功读取的项数;没有读取任何项,且需要一个数字用户输入非数值字符串,返回0;检测到“文件结尾”时,会返回EOF。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值