printf函数及scanf函数

一.printf函数(输出函数):

%为占位符。注意要用双引号。

1)%f:用于读取浮点数,并存储到相应的浮点数变量中。

1.小数默认显示6位。

2.在%和f中间加上一个 . 就是表示限定小数后面的位数了,想要几位就在 .后面输入数字就行,比如现在是.2表示显示2位小数。

3.以浮点数的形式打印0.5,,那么6.2中的6表示总共6位宽,小数点后有2位。

4.以浮点数的形式打印0.5,,*.*表示总位宽和小数位宽由后面输入的值确定,也就是后面的6和2。

2)%d:用于读取有符号十进制整数,并存储到相应的整数变量中。

1.printf("%5d\n", 111);printf("%-5d\n", 111):以十进制的方式打印,让输出的值有5位宽,但现在只有3位宽,那么就默认在前面加2个空格以达到最小5位,那么在将5变为-5意思是将空格补到右边如结果图所示。
2.默认负号本身要显示。+d的意思就是在整数前面显示正号。

3)%s:用于读取字符串,并存储到相应的字符数组中。

1.默认是全部输出。如果如果只想输出开头的部分,可以⽤ %.[n]s指定输出的⻓度,其中[n]代表⼀个数字,表示所要输出位宽。

2.char :表示该字符串里面存放的都是字符

arr :为字符串变量的名称

[ ] :在声明字符串变量的规定必须要有的符号,可以存放常量表达式如:10,来指定字符串长度,这里的字符串长度是指向内存申请的空间,因为一个char类型数据占内存大小为1个字节,这里申请了10个长度的大小,所以会占10个字节的内存空间。

注意,上述语句声明时一定要指定数组长度,也就是‘[ ] ’这里面一定要填一个具体的数值。因为变量在声明时就会向内存要空间,如果不知名字符串长度,则无法向内存申请空间。

'\0'为结束标识符。

 printf("%s",arr1);  //打印的结果是abc

    printf("%s",arr2);  //在打印完abc之后,后面还会继续打印无法预知的东西,直到内存中读取到

字符串结束标识符'\0'才会结束打印。

4)%c:用于读取单个字符,并存储到相应的字符变量中。

1.与%s区别为%c只能读取单个字符,而%s可读取字符串。

二.scanf函数(输出函数):

1)scanf的语法和printf的语法基本相同,还有scanf()必须提前知道数据的整型,也就是%什么,语句中有几个占位符,就必须有几个变量。不同点在于scanf中必须存在一个取址符&,其作用为定位到之前所定义的变量。例如,如果声明一个整型变量int a;,那么&a就会返回变量a的内存地址。

2)scanf函数不能加\n,并且用户输入时,要空格或用制表符或回车。

   scanf函数再处理占位符时,会自动过滤空白字符,空格,回车,换行,制表符。

3)scanf函数前需定义变量。

例如int = 0,float = 0.0。其中int为整型,对应“%d”,float为浮点型,对应“%f”。

4)%s :

1.它其实不能简单地等同于字符串。它的规则是,从当前第⼀个⾮空⽩字符开始读起,直到遇到空⽩字符(即空格、换⾏符、制表符等)为止。

例如:

输入空格结果为:

2.因为 %s 不会包含空⽩字符,所以⽆法⽤来读取多个单词,除⾮多个 %s ⼀起使⽤。这也意味着, scanf() 不适合读取可能包含空格的字符串,⽐如书名或歌曲名。另外, scanf() 遇到 %s 占位符,会在字符串变量末尾存储⼀个空字符 \0。

5)%c:

1.%c 不忽略空⽩字符,总是返回当前第⼀个字符,⽆论该字符是否为空格。

例如:

则不输入空格结果为:                         输入空格结果为:

                                                 

2. 如果要强制跳过%c读取空格,可在scanf中的%c前加空格。

例如:

结果为:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值