printf函数和scanf函数

printf函数:
它的两种用法:
1. printf(“要输出的内容”); //直接输出内容

    例子:`printf("hello world");`
  1. 格式化输出内容:

    printf("格式化字符串",值列表);
    

    例:

    printf("字符1=%c\n",'a');
  注意:格式化字符串后面要接一个英文的逗号"," 值与值之间用,隔开

格式化控制符:
%d:输出int类型,short类型
%ld:输出long类型
%f:输出float类型
%lf:输出double类型
%c:输出char类型

%d或者%ld的其他控制符:
1.%md:m代表这个整数占多少位,m是一个整数
实际数字不足的位数用空格补齐
如果实际的整数的位数大于或者等于m时,就按实际输出

          m也可以是负数,那么代表不足位在后面补齐

    2.%0md:跟上面一样的作用,只不过不足位用0补齐 (重点)

    3.不能用其他的来补齐,只能用0

%f或者%lf的其他控制符
float是加上小数点一共7位有效,也就是小数点后6位是有效数字
double是加上小数点一共15位有效,也就是小数点后14位是有效数字

    1.不管是float还是double默认会输出小数点后6位
    2.%.mf:m代表保留小数点后几位,m是一个整数,最后一位会四舍五入 (重点)

    3.%n.mf:n代表总共的列数(小数点也算1列),m还是跟上面的一样,代表保留几位小数
             n可以控制列数,如果实际列数小于n时,那么不足部分以空格补齐
             但是如果实际列数>=n时,就按实际的输出
             n<=m时,就按照m规定的输出

scan函数 :
转义符:能改变某个字母原来意义的符号就叫转义符

    %、\都是转义符

提问:
如果我想在输出的时候就输出\,怎么办?

会需要再加一个\

如果想直接输出%,那么应该用两个%

%%:输出一个%
\:输出一个\
%d:输出int类型的数
%c:输出char类型的数
%ld:输出long类型的
%f:输出float类型的
%lf:输出double类型的
%u:输出unsigned int类型的
%lu:输出unsigned long类型的

\n:换行
\t:水平制表符,就是多加几个空格,相当于按tab键
\”:输出英文的双引号
\’:输出单引号

1.scanf函数的介绍

printf是输出

那么能不能输入呢?

就要用scanf

用来接收用户输入的数据

语法:
    scanf("格式化控制符",地址列表);

要用取地址符:& (shift + 7)
 int num = 10;

 int num;//也有值,只不过是垃圾值

注意:一定要加取地址符&

也可以接收小数:
%f:float类型

#include <stdio.h>

int main(int argc, const char * argv[]) {

int num;

printf("请输入一个整数\n");

scanf("%d",&num);

printf("num=%d\n",num);

return 0;

}


scanf函数的特点:
      1、  它是一个阻塞式的函数
      2、  使用scanf函数同时接收多个输入其实就是在格式化控制符里面,多写几个格式化控制符,地址列表要按照顺序给。输入的时候可以输入N次(N等于格式化控制符的个数),或者以空格隔开

       3、  如果不想用空格在一行内输入,那么你在scanf函数里面可以指定符号
             输入的时候必须按照这个符号来输入,否则会异常(后面的变量接不到值)
       4scanf里面最好不要接其他的文字。如果实在忍不住手贱要加东西,那么也一定要按照你在scanf里面写的格式来输入
       5、   用scanf的时候,最好不要先接收一个任意的数值类型(整型、实型),再接收一个char类型.
             如果非要在后面接一个char类型的话,那么在scanf的格式化控制符之前要加一个空格
       6、   如果scanf要接收的是数字,那么不管你输入多少个空格,或者回车,都不会停止让你输入,直到你输入一个数字才会停止
        7、   如果接收的是int类型,你输入一个小数,那么会截取小数的整数部分
        8、  如果接收的是数字,你输入的是字符,那么会结束输入,但是不会把值给你存起来

 scanf的运行原理:
        scanf接收用户的输入,但是用户的输入并不是直接给了变量,而是存在一个叫缓冲区的地方
   1.接收输入的时候,会先去缓冲区里面找,看缓冲区里面有没有合适的值,如果有,那么就直接不让你输入,直接把缓冲区里面的值给到你的变量,如果没有呢?会让用户继续输入,直到合适,才停止
 了解:C语言中的实型精度有微小误差


 例子:

include

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值