C语言中的输入输出

简单格式的输入输出

简单的输出语句:printf

  • 语法printf "格式控制" 输出表列

  • 举例:

    printf("%d,%f,%c",a,b,c);
  • 说明:

    %和特定字符组成,如:%d、%c、%f等,是格式说明符,用于说明输出项目所采用的格式;

  • 基本的格式字符

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

    • %c 仅输出一个字符。

    • %s printf("%s\n", "CHINA");输出的结果是字符串 CHINA

    • %f 以小数形式输出一个实数(含单双精度数)。整数部分全部输出,并输出6位小数。

    • %e或%E 以指数形式输出一个实数(含单双精度数)。小数点前仅1位非0数字,并输出6位小数。

    简单的输出语句:scanf

    • 语法scanf "格式控制" 地址表列

    • 举例:

      scanf("%d%f%s",&a,&b,&c);
    • 说明:

      “格式控制”的含义同printf函数,说明输入的数据应使用的格式。

      “地址表列”是由若干个地址组成的,可以是变量的地址或字符串的首地址。&是取地址运算符,用于取出变量的地址。 与格式输出一样,在格式控制中,用于说明输入数据格式的格式说明符总是以开头,后面紧跟的是具体的格式。

    较复杂的输入输出格式

    按指定格式输出数据的宽度、小数位数、上下行数据按小数点对齐、用八进制、十六进制输出等。

    输出数据格式控制

    整型格式说明符
    • 十进制形式

      • %d或%md int型

      • %ld或%mld long型

      • %u或%mu 无符号基本型

      • %lu或%mlu 无符号长整型

    • 八进制形式

      • %o或%mo

      • %lo或%mlo

    • 十六进制形式

      • %x或%mx

      • %lx或%mlx

    特殊说明:m表示输出的整型数据所占总宽度(即列数),其中: 当实际数据的位数不到m位时,数据前面将用空格补满; 若实际数据位数大于m,则以数据的实际位数为准进行输出。

    字符型格式说明
    • 字符char型

      • %mc 输出的字符占m列

       printf("%3c",a);  //  a
    • 字符串

      • %ms 输出的字符串占m列。若串长>m,全部输出;若串长<m,左面补空格。

      • %-ms 输出的字符串长<m,右面补空格

      • %-m.ns 只取字符串前n个字符。若n<m,右面补空格;若n>m,m自动取n值。

    • 实型格式说明符

      • 十进制形式 %m.nf或-%m.nf

      • 指数形式 %m.ne或-%m.ne

      • %g或%G形式 根据数值的大小,自动选%f 或 %e中宽度较短的一种格式,不输出无意义的0。

      • 顺序程序结构案例

    • 案例一
          /*
          **输入三角形的三条边,求三角形的面积
          */
      #include <stdio.h>
      #include <math.h>
          
      int main()
      {
          // 定义三条边
          float a,b,c,
          // 定义面积
          float area;
          float s;
          scanf("%f%f%f",&a,&b,&c);
          s = (a + b + c) / 2.0;
          area = sqrt(s*(s-a)(s-b)(s-c));// 三角形海伦公式
          printf("%.2f",area);
      }
      案例二
      /*
      *从键盘输入一个大写字母,要求用小写输出。
      */
      #include <stdio.h>
      
      int main()
      {
          char a,a1;
          scanf("%c",&a);
          a1 = a + 32;
          printf("%c",a1);
      }
      案例三
      /*
      *求一元二次方程ax2+bx+c=0的根。
      */
      #include <stdio.h>
      #include <math.h>
      #include <stdlib.h>
          
      int main()
      {
          // 定义一元二次方程的三个参数
          int a,b,c;
          // 定义方程的两个根
          float x1,x2,p;
          // 定义根的计算值
          int m,n;
          
          scanf("%d,%d,%d",&a,&b,&c);//键盘输入一元二次函数的三个参数
          
          m = -b / 2 * a;
          p = abs(b^2 - 4 * a * c);
          n = sqrt((b^2 - 4 * a * c) / 2 * a);
          
          printf("此方程的解x1=%f,x2=%f",x1,x2);
          
          return 0;
      }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值