• 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
  • 相关阅读:
    Eclipse配置SVN的几种方法及使用详情
    重新定位svn地址的方法(windows和linux),svn switch(sw)的帮助信息
    SVN版本库修改URL路径或者IP地址
    DEA中MAVEN项目有多个子目录,如何加载构建
    DBA的40条军规
    搜索 比MySQL快10倍?这可能是目前AWS Aurora最详解读!
    HttpClient 4.5.3 get和post请求
    基于HttpClient4.5.2实现的HttpClient工具类
    httpClient使用总结
    为何只能在其关联的线程内启动timer?(Qt会检查一致性,否则就不执行)
  • 原文地址:https://www.cnblogs.com/KevinGeorge/p/10231226.html
Copyright © 2020-2023  润新知