码迷,mamicode.com
首页 > 其他好文 > 详细

printf和scanf函数

时间:2015-08-21 00:05:10      阅读:229      评论:0      收藏:0      [点我收藏+]

标签:

一、printf函数

  这是在stdio.h中声明的一个函数,因此使用前必须加入#include <stdio.h>,使用它可以向标准输出设备(比如屏幕)输出数据

  1.用法

    (1)1> printf(字符串)

printf("Hello, World!");

    输出结果是:技术分享

    (2)printf(字符串, 格式符参数)

// 使用常量作参数
printf("My age is %d\n", 26);

// 也可以使用变量
int age = 17;
printf("My age is %d", age);

    (3)

      a)格式符%d表示以有符号的十进制形式输出一个整型,格式符参数中的26和age会代替%d的位置。

      b)第2行代码中的\n是个转义字符,表示换行,所以输出了第一句"My age is 26"后会先换行,再输出"My age is 27"

      输出结果:技术分享

      c)如果去掉第2行中的\n,将会是这样的效果

      输出结果:技术分享

 

      总结:左边字符串中格式符的个数必须跟右边格式符参数的个数一样;格式符的类型决定了格式符参数的类型,比如使用%d,说明对应的格式符参数必须是整型。

  2.常用格式符及其含义

  技术分享  

  3.格式符还可以添加一些精细的格式控制

    (1) 输出宽度

      a) 我们先看看默认的整型输出      

printf("The price is %d.", 14);

     输出结果(注意,后面是有个点的):技术分享

      b)如果我把%d换成%4d:      

printf("The price is %4d.", 14);

      输出结果:技术分享,你会发现"is"跟"14"的距离被拉开了,%4d的意思是输出宽度为4,而"14"的宽度为2,因此多出2个宽度,多出的宽度就会在左边用空格填补,因此你会看到"14"左边多了2个空格;如果实际数值宽度比较大,比如用%4d输出宽度为6的"142434",那就会按照实际数值宽度6来输出。

printf("The price is %4d.", 142434);

      输出结果:技术分享,"142434"的输出宽度为6

      c)如果换成%-4d

printf("The price is %-4d.", 14);

      输出结果:技术分享,你会发现"14"跟"."的距离被拉开了,%-4d表示输出宽度为4,如果比实际数值宽度大,多出的宽度会在右边用空格填补;如果4比实际数值宽度小,就按照实际数值的宽度来输出

    (2)浮点数的小数位数

      a)我们先看下默认的浮点数输出      

printf("My height is %f", 179.95f);

      输出结果:技术分享,默认是输出6位小数

      b)如果只想输出2位小数,把%f换成%.2f即可

printf("My height is %.2f", 179.95f);

      输出结果:技术分享

      c)当然,可以同时设置输出宽度和小数位数

printf("My height is %8.1f", 179.95f);

       输出结果:技术分享,输出宽度为8,保留1位小数

 

二、scanf函数

  1.这也是在stdio.h中声明的一个函数,因此使用前必须加入#include <stdio.h>。当执行到scanf函数时,程序就暂停等待用户输入,该函数只接受变量的地址,格式为&变量名。是一个阻塞式的函数,2用户输入完毕后,则将值赋值给变量,至此函数调用完毕。敲回车键告知计算机键入完毕。

  2.使用注意

    (1)同时输入多个值。Scanf(“%d,%d”,&num1,num2); 

    (2)Scanf(“%d\n”,&a);//在内部不能使用\n转义字符,否则没完没了。

     注意:在这里两个占位符之间是,隔开,则要求在输入时也使用逗号隔开如输入1,2。此时为num1=1,num2=2。若内部为“%d#%d”则输入1#2。若内部为“%dy%d”,则输入1y2。如果中间的字符是空格,则在输入时可以用空格隔开,也可以敲tab键或者是回车键作为分隔符隔开,后两者可以看做是由空格组成的。

  

printf和scanf函数

标签:

原文地址:http://www.cnblogs.com/songshuhaoNB/p/4746392.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!