C语言笔记(三)

一  printf函数

        printf函数的作用是将参数文本输出到屏幕,它名字里的 f 代表 format ,表示可以定制输出文本格式。printf不会在行尾自动添加换行符,运行结束后,光标就停留在输出结束的地方,不会自动换行。为了让光标移到下一行的开头,可以在输出文本的结尾,添加一个换行符\n。

        printf函数可以在输出文本中指定占位符。所谓占位符,就是这个位置可以用其他值代入。占位符的第一个字符一律为百分号%,第二个字符表示占位符的类型。printf的第二个参数就是替换占位符的值,输出文本里可以使用多个占位符。printf参数与占位符是一一对应的关系,如果有n个占位符,printf()的参数就应该有n+1个。如果参数个数少于占位符,printf () 可能会输出内存中的任意值。

         printf ()可以定制占位符的输出格式。printf ()允许限定占位符的最小宽度。%5d表示这个占位符的宽度至少为5位。如果不满5位,对应的值的前边会添加空格。输出的值默认是右对齐,即输出内容前面会有空格;如果希望改成左对齐,在输出内容后面添加空格,可以在占位符%的后面插入一个 — 号。注意%hd表示十进制short int。%lf在打印的时候,小数点后默认是打印6位。

       默认情况下,printf()不对正数显示+号,只对负数显示-号,如果想让正数也输出+号,可以在占位符的%后面加一个+。%s占位符用来输出字符串,默认是全部输出,如果想只输出开头部分,可以用%[m]s指定输出的长度,其中[m]代表一个数字,表示所要输出的长度。

二  scanf()

        C库包含了多个输入函数,scanf()是最通用的一个,因为它可以读取不同格式的数据。程序运行到这个语句时,会停下来,等待用户从键盘输入。用户输入数据、按下回车键后,scanf()就会处理用户的输入,将其存入变量。

        scanf() 的第一个参数是一个格式字符串,里面会放置占位符,告诉编译器如何解读用户的输入,需要提取的数据是什么类型。它的其余参数就是存放用户输入的变量,格式字符串里面有多少个占位符,就有多少个变量。注意变量前面必须加上&,因为scanf()  传递的不是值,而是地址。scanf() 处理数值占位符时,会自动过滤空白字符,包括空格、制表符、换行符等。scanf()返回值是一个整数,表示成功读取变量的个数。

        scanf()的占位符中,除了%c以外,都会自动忽略起首的空白字符。%c不会忽略空白字符,总是返回当前第一个字符,无论该字符是否为空格。如果要强制跳过字符前的空白字符,可以写成scanf(" %c",&ch);  在%c前面加上一个空格,表示跳过零个或多个空白字符。

       特别注意%s,它其实不能简单的等同于字符串,它的规则是,从当前第一个非空白字符读起,直到遇到空白字符为止。scanf()遇到%s占位符 ,会在字符串末尾存储一个空字符\0。scanf()将字符串读入字符数组时,不会检测字符串是否超过了数组长度。所以,储存字符串时,很可能会超过数组的边界,因此使用%s占位符时,应该指定读入字符串的最大长度,即写成%[m]s。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值