zoukankan      html  css  js  c++  java
  • C语言程序设计--输入与输出

    C语言的输入



    所有的输入都是依赖于C语言函数进行的,这个函数是C语言标准库自带的,定义在头文件<stdio.h>里面,所以,要想使用与输入相关的函数,都需要包含这个头文件

    #include <stdio.h>
    

    输入函数gets


    这是一个获取输入字符串的函数,其定义如下文,作用是从 stdin 读取一行到 s 所指向的缓冲区,直到一个终止符或 EOF。

    char * gets(char * string){...}
    

    试验gets


    代码如下文

    #include <stdio.h>
    
    #define BANNER "Please input:"
    
    int main(void){
      char string[100];
      printf(BANNER);
      gets(string);
      puts(string);
      return 0;
    }
    


    很简单,但是不推荐,因为gets是不安全的,他可以输入任意长度的字符,可以覆盖超过变量定义支持的长度,缓冲区溢出风险大。

    输入函数getchar


    这是一个获取输入字符的函数,其定义如下文,作用是从屏幕读取下一个可用的字符,并把它返回为一个整数。这个函数在同一个时间内只会读取一个单一的字符。您可以在循环内使用这个方法,以便从屏幕上读取多个字符。

    int getchar(void){...}
    

    试验getchar


    代码如下文

    #include <stdio.h>
    
    #define BANNER "Please input:"
    
    int main(void){
      char string;
      printf(BANNER);
      string = getchar();
      putchar(string);
      return 0;
    }
    
    


    不推荐,因为获取多个字符输入会很麻烦。

    输入函数scanf


    这是一个获取输入特定数据类型的函数,其定义如下文,函数从标准输入流 stdin 读取输入,并根据提供的 format 来浏览输入。

    int scanf(const char *format, ...){}
    

    试验scanf


    代码如下文

    #include <stdio.h>
    
    #define BANNER "Please input:"
    
    int main(void){
      char input_char;
      int input_int;
      char input_string[100];
      float input_float;
      double input_double;
      printf(BANNER);
      scanf("%d", &input_int);
      printf("%d
    ", input_int);
      printf(BANNER);
      scanf("%c", &input_char);
      printf("%c
    ", input_char);
      printf(BANNER);
      scanf("%s", input_string);//这里只能是数组,因为如果是char *,则不知道大小,会发生段错误,这里使用&input_string 效果一样,但是会有warning,不推荐,
      printf("%s
    ",input_string);
      printf(BANNER);
      scanf("%f", &input_float);
      printf("%f
    ", input_float);
      printf(BANNER);
      scanf("%lf", &input_double);
      printf("%lf
    ", input_double);
      return 0;
    }
    

    C语言的输出



    所有的输出都是依赖于C语言函数进行的,这个函数是C语言标准库自带的,定义在头文件<stdio.h>里面,所以,要想使用与输出相关的函数,都需要包含这个头文件

    #include <stdio.h>
    

    输出函数puts


    函数把字符串 s 和一个尾随的换行符写入到 stdout。

    int puts(const char *s){...}
    

    试验puts


    在试验gets中试验过了puts

    输出函数putchar


    函数把字符输出到屏幕上,并返回相同的字符。这个函数在同一个时间内只会输出一个单一的字符。您可以在循环内使用这个方法,以便在屏幕上输出多个字符。

    int putchar(int c){...}
    

    试验putchar


    在试验getchar中试验过了putchar

    输出函数printf


    函数把输出写入到标准输出流 stdout ,并根据提供的格式产生输出。

    int printf(const char *format, ...){...}
    

    试验printf


    在试验scanf中试验过了printf

    附录:标准化输入输出的格式:

    数据格式类型 输入输出的类型标识符
    十进制整数 %d
    字符型 %c
    整数 %i
    浮点数 %e, %f, %g
    八进制数 %o
    字符串 %s
    十六进制书 %x
    指针 %p
    一个等于读取字符数量的整数 %n
    一个无符号整数 %u
  • 相关阅读:
    openCV中cvSnakeImage()函数代码分析
    程序所有重构,升级的目标(备注,更新)
    基础总结篇之中的一个:Activity生命周期
    Tomcat全攻略
    VRRP协议具体解释
    二叉树三种遍历(递归以及非递归实现)
    AssertValid函数学习
    java定时器的使用(Timer)
    循环队列
    使用Heartbeat实现双机热备
  • 原文地址:https://www.cnblogs.com/KevinGeorge/p/10231226.html
Copyright © 2011-2022 走看看