zoukankan      html  css  js  c++  java
  • 格式输入函数

    格式输入函数,就像写汉字一样,写出什么样的字体,就会看到什么样的字体。

    在C语言中,格式输入使用scanf()函数。该函数的功能是指定固定的格式,并且按照指定的格式接收用户在键盘上输入的数据,最后将数据存储在指定的变量中。

    scanf()函数的一般格式如下:

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

    通过scanf()函数的一般格式可以看出,参数位置中的格式控制与printf()函数相同。如“%d”表示十进制的整型,“%c”表示单字符。而在地址列表中,此处应该给出用来接收数据变量的地址。如得到一个整型数据的操作语句如下:

    scanf("%d",&iInt);                               /*得到一个整型数据*/

    在这一行代码中,“&”符号表示取iInt变量的地址,因此不用关心变量的地址具体是多少,只要在代码中变量的标识符前加“&”,就表示取变量的地址。

    注意:编写程序时,在scanf()函数参数的地址列表处,一定要使用变量的地址,而不是变量的标识符,否则编译器会提示出现错误。

    如表5.3所示列出了scanf()函数中常用的格式字符。

    表5.3  scanf()函数的格式字符

    格 式 字 符

    功 能 说 明

    d,i

    用来输入有符号的十进制整数

    u

    用来输入无符号的十进制整数

    o

    用来输入无符号的八进制整数

    x,X

    用来输入无符号的十六进制整数(大小写作用是相同的)

    c

    用来输入单个字符

    s

    用来输入字符串

    f

    用来输入实型,可以用小数形式或指数形式输入

    e,E,g,G

    与f作用相同,e与f、g之间可以相互替换(大小写作用相同)

    说明:格式字符“%s”用来输入字符串。将字符串送到一个字符数组中,在输入时以非空白字符开始,以第一个空白字符结束。字符串以串结束标志“”作为最后一个字符。

     

     实例07   计算圆的周长和球的体积 

    在本实例中,输入圆的半径,计算圆的周长和球的体积。利用scanf()函数得到用户输入的圆的半径,因为scanf()函数只能用于输入操作,所以需要使用显示函数将计算的信息显示在屏幕上。具体代码如下:

    01  #include<stdio.h>
    
    02   
    
    03  int main()
    
    04  {
    
    05        float Pie=3.14f;                            /*定义圆周率*/
    
    06        float fArea;                                /*定义变量*/
    
    07        float fRadius;
    
    08        puts("Enter the radius:");
    
    09        scanf("%f",&fRadius);                       /*输入圆的半径*/
    
    10        fArea=2*fRadius*Pie;                        /*计算圆的周长*/
    
    11        printf("The perimeter is: %.2f
    ",fArea);   /*输出计算的结果*/
    
    12            fArea=4/3*(fRadius*fRadius*fRadius*Pie);    /*计算球的体积*/
    
    13        printf("The volume is: %.2f
    ",fArea);      /*输出计算的结果*/
    
    14        return 0;                               /*程序结束*/
    
    15  }

    运行程序,显示结果如图5.10所示。

    图5.10  面积和体积结果

    从该实例代码和运行结果可以看出:

    (1)为了能接收用户输入的数据,在程序代码中定义了一个变量fRadius。因为scanf()函数只能接收用户的数据,而不能显示信息,所以先使用puts函数输出一段字符表示信息提示。

    (2)调用scanf()格式输入函数,在函数参数中可以看到,在格式控制的位置使用双引号将格式字符包括,“%f”表示输入的是float浮点类型数据。在参数中的地址列表位置,使用“&”符号表示变量的地址。此时变量fRadius已经得到了用户输入的数据。

    (3)利用表达式计算圆的周长和球的体积,调用printf()函数将变量进行输出。

    注意:printf()函数使用的是变量的标识符,而不是变量的地址。scanf()函数使用的是变量的地址,而不是标识符。

    说明:在输入多个数据时,scanf()函数使用空白字符分隔输入的数据,这些空白字符包括空格、换行、制表符(tab)。例如在本程序中,使用换行作为空白字符。

    练一练:

    输入身高和体重,计算身体质量指数(BMI),计算公式 BMI = 体重/身高2

     

    实例07只输入一个数据,scanf()函数也可以输入多个数据,初学者在设计格式输入时,最好把每个格式控制符分隔开,例如下面的实例08。

    实例08  输入x和y两个数值,并输出交换后的值

    在本实例中,利用scanf()函数输入x和y两个数值。交换后调用printf()函数输出。具体代码如下:

    01 #include <stdio.h>                              /*包含头文件*/
    
    02 int main()                                   /*主函数main*/
    
    03 {
    
    04     int x,y;                                 /*定义变量*/
    
    05     printf("please  enter two numbers:
    ");    /*提示信息*/
    
    06     scanf("x=%d,y=%d",&x,&y);                  /*输入x,y数据*/
    
    07     x=y-x;                                    /*交换x,y的值*/
    
    08     y=y-x;
    
    09     x=y+x;  
    
    10     printf("x=%d,y=%d
    ",x,y);                 /*输出交换后的数据*/
    
    11     return 0;                                /*程序结束*/
    
    12 }

    运行程序,显示结果如图5.11所示。

     

    图5.11  交换数值

    从该实例代码和运行结果可以看出:

    (1)使用printf()函数显示一串字符,提示输入的数据两个数据,调用scanf()函数使变量x和y得到用户输入的数据。

    (2)第7~第9行代码实现x和y两个数的交换。最后利用printf()函数将输入得到的数据进行输出。

    练一练:

    输入大写字母,同时输出对应的小写字母。

     

    本文摘自明日科技出版的《零基础学C语言》,转载请注明出处!!!

  • 相关阅读:
    C#之纯数字判断
    C#之仿魔兽登录
    jQuery考试之错题分析
    初学jQuery之jQuery虚假购物车-------与真实数据无关
    Jquery中绑定事件的异同
    总结java基础
    初学jQuery之jQuery事件与动画
    初学jQuery之jQuery选择器
    JavaScript 实现复制到剪贴板的总结
    IE和其他浏览器的表现差异:盒子间的空隙,图片变形,justify-content无效
  • 原文地址:https://www.cnblogs.com/mrxy/p/8301679.html
Copyright © 2011-2022 走看看