C语言学习记录 3

2023.07.23

printf函数

C语言本身不提供输入输出语句。C语言函数库中有一批标准的输入输出函数,比如putchar(输出字符),getchar(输入字符),printf(格式输出),scanf(格式输入)等等。

如果程序要调用标准输入输出函数,就必须要在程序的开头用预处理指令#include把有关头文件放在本程序中。printf与scanf函数都是使用#include<stdio.h>。

一般格式 printf(格式控制,输出列表)

占位符

上面程序中,“There are %d people in my family.”是输出文本,而里面的%d就是占位符,表示这个位置要用其他值来替代。

%d 输出一个有符号的十进制整数

%s 输出一个字符串

%c 输出一个字符

%f 输出单精度小数,小数点后面输出六位

%lf 输出双精度小数,小数点后面输出六位

%e 以指数形式输出实数 (e+002=10^2)

等等......

除了%c以外,其他的占位符都会自动忽略起首的空白字符。%c不会忽略每个字符,无论该字符是否为空格。

 

 另外,可以在格式声明中指定输出数据的域宽(所占的列数)

%5d 表示指定输出数据占五列,按向右对齐原则输出。

 %13.7f 表示指定输出数据占13列,其中小数点后面有7位,按向右对齐原则输出。

 另外,默认情况下,printf()不对正数显示+号,只对负数显示-号,如果想让正数输出+号,就在占位符的%后面加一个+号。

 而在%s中情况又有一点点不一样了,%.[m]s表示指定输出字符串的长度。

%.5s表示只输出一个字符串的前五个字符。

scanf函数

一般格式 scanf(格式控制,地址列表)

注意事项:

①scanf函数中的格式控制后面是变量地址,而不是变量名。要写成&a而不是a。

②如果在格式控制字符串中还有其他字符,则在输入数据的时候也要在对应位置上输入相同的字符,否则会报错。

 

 scanf的返回值

scanf的返回值是一个整数,表示成功读取的变量个数。

如果没有读取到任何项,则返回0。

 输入三个数分给a,b,f,成功读取三个变量,返回值为3。

 输入一个数字,只分给了a,成功读取一个变量,返回值为1。

 一个数字都不输入,直接提前结束输入,一个变量都没有读取,返回值为-1。

赋值忽略符

如果用户输入的格式与预定的格式不符,可能会出现解析数据失败的问题。为了避免这种情况的发生,scanf()提供了一个赋值忽略符只要把*加在任何占位符的%后面,该占位符就不会返回值,解析后将被丢弃。

 

 不管用户以何种形式输入日期,只要大体合乎模式,都能提取到准确日期。

明天的事明天再说,今天的我超越昨日的我。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值