c语言中数据的输入输出

1.语句概述

程序应该包括数据描述(由声明部分来实现)和数据操作(由语句来实现)。数据描述包括定义数据结构和在需要时对数据赋予初值。数据操作的任务是对已提供的数据进行加工。

c语句分为以下5类:

   1.  控制语句 :控制语句用于完成一定的控制功能。如:

       if()…else…                         (条件语句)
       for()…                                 (循环语句)
       while()                                 (循环语句)
       do…while()                         (循环语句)
       continue                              (结束本次循环语句)
       break                                  (中止执行 switch 或循环语句)
       switch                                 (多分支选择语句)
       goto                                    (转向语句)
       return                                  (从函数返回语句)
   2.函数调用语句:函数调用语句由一个函数调用加一个分号构成;

    3.表达式语句:表达式语句由一个表达式加一个分号构成;如:a =3;

   4.空语句:只有一个分号的语句;如   ;

   5.复合语句:可以用{}把一些语句括起来成为复合语句;

2.数据输入输出的概念

       (1)所谓输人输出是以计算机主机为主体而言的。从计算机向外部输出设备(如显示器、打印机等)输出数据称为输出,从输人设备(如键盘、鼠标、扫描仪等)向计算机输入数据称为输人。

       (2)C语言本身不提供输人输出语句,输人和输出操作是由C函数库中的函数来实现的。

       (3)在使用系统库函数时,要用预编译命令“#include”将有关的“头文件”包括到用户源文件中。在头文件中包含了调用函数时所需的有关信息。

3.字符数据的输入输出

      1.putchar函数

          putchar函数的作用是向终端输出一个字符,其一般形式为:

          putchar(c)

          他输出字符变量c的值,c可以是字符型变量也可以是整型变量。

         putchar函数也可以输出控制字符。

     2.getchar函数

         getchar 函数(字符输人函数)的作用是从终端(或系统隐含指定的输入设备)输人一个字符。               getchar函数没有参数,其一般形式为:
         getchar()
         函数的值就是从输人设备得到的字符。

         注意:getchar函数只能接收一个字符。getchar函数得到的字符可以赋给一个字符变量或整型变量,也可以不赋给任何变量,作为表达式的一部分。

        输入字符时,会先进缓冲区,遵循先进先出的原则。

abcdef

4.格式输入与输出

    1.printf函数

        printf的一般格式为

        printf(格式控制,输出表列)

        括号内包括两部分:
       (1)“格式控制”是用双撒号括起来的字符串,也称“转换控制字符串”,它包括两种信息。
               ①格式说明。格式说明由“%”和格式字符组成,如%d、%f等。它的作用是将输出的数据转 换为指定的格式输出。格式说明总是由“%”字符开始的。
               ②普通字符。普通字符即需要原样输出的字符。例如上面printf函数中双撒号内的逗号、空格和换行符。
      (2)“输出表列"是需要输出的一些数据,可以是表达式。

  格式字符

       %d  :按十进制整型数据的实际长度输出。

       %md   : 为指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。

       %ld      :输出长整型数据。

       %o      :以八进制的整数形式输出。

       对长整数(long型)可以用“%lo”格式输出。

       %x   :以十六进制数形式输出整数,不会出现负的十六进制数。

       可以用“%lx”输出长整型数,也可以指定输出字段的宽度,如“%12x”。

       %u   :  用来输出unsigned 型数据,即无符号数,以十进制整数形式输出。

       一个有符号整数(int型)也可以用%u格式输出;反之,一个unsigned 型数据也可以用%d格式输出。

       %c    : 用来输出一个字符。

       注:一个整数,只要它的值在0~255范围内,也可以用“%c”使之按字符形式输出,在输出前,系统会将该整数作为ASCII码转换成相应的字符;反之,一个字符数据也可以用整数形式输出。

      %s    : 用来输出一个字符串。

      %ms,输出的字符串占m列,如字符串本身长度大于m,则突破m的限制,将字符
串全部输出。若串长小于m,则左补空格。

      %-ms,如果串长小于m,则在m列范围内,字符串向左靠,右补空格。

      %m.ns,输出占m列,但只取字符串中左端n个字符。这n个字符输出在m列的右侧,左补空格。
      %-m.ns,其中 m、n含义同上,n个字符输出在m列范围的左侧,右补空格。如果n>m,则m自动取n值,即保证n个字符正常输出。

      %f  :用来输出实数(包括单、双精度),以小数形式输出,不指定字段宽度,由系统自动指定,使整数部分全部输出,并输出6位小数应当注意,在输出的数字中并非全部数字都是有效数字。单精度实数的有效位数一般为7位。 

      %m.nf,指定输出的数据共占m列,其中有n位小数。如果数值长度小于 m,则左端补空格。

      %-m.nf 与%m.nf基本相同,只是使输出的数值向左端靠,右端补空格。

      %e : 以指数形式输出实数。

      %g  : 用来输出实数,它根据数值的大小,自动选f格式或e格式(选择输出时占宽度较小的一种),且不输出无意义的零。

      %%  : 输出字符“%”。

  2.scanf函数

     一般形式           scanf(格式控制,地址表列)
    “格式控制”的含义同 printf函数;“地址表列”是由若干个地址组成的表列,可以是变量的地址,或字符串的首地址。

     输入数据时,在两个数据之间以一个或多个空格间隔,也可以用 Enter 键、Tab键。

    可以指定输人数据所占的列数,系统自动按它截取所需数据。

    如果在%后有一个“*”附加说明符,表示跳过它指定的列数,输人数据时不能规定精度。

  使用scanf函数时应注意的问题

     (1)scanf函数中的“格式控制”后面应当是变量地址,而不应是变量名。

     (2)如果在“格式控制”字符串中除了格式说明以外还有其他字符,则在输人数据时在对应位置应输入与这些字符相同的字符。

     (3)在用“%c"格式输入字符时,空格字符和“转义字符”都作为有效字符输人。

     (4)在输人数据时,遇以下情况时认为该数据结束,
        ①遇空格,或按“回车”或“跳格”(Tab)键;
        ②按指定的宽度结束,如“%3d”,只取3列;
        ③ 遇非法输人。

       输入任意一个三位数,将其各位数字反序输出(如输入123,输出321)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值