精华内容
下载资源
问答
  • 这句话正确。 输入和输出并不是c++语言中的正式成分。C和C++本身都没有为输入输出提供专门的语句结构。输入输出并不是有C++本身定义的,而是在编译系统提供的I/O中定义的。

    这句话正确。

    输入和输出并不是c++语言中的正式成分。C和C++本身都没有为输入输出提供专门的语句结构。输入输出并不是有C++本身定义的,而是在编译系统提供的I/O中定义的。

    展开全文
  • [color=violet][size=small]//输入输出语句: // printf("请输入一个数:"); // 输出语句 // 格式:printf(格式控制,输出项1,.......); //格式说明符: // 作用:就是使数据按格式说明符的要求进行...
    [color=violet][size=small]//输入输出语句:
    // printf("请输入一个数:"); // 输出语句
    // 格式:printf(格式控制,输出项1,.......);

    //格式说明符:
    // 作用:就是使数据按格式说明符的要求进行输出。、
    // 组成:由%号和紧跟在其后的格式描述符组成。
    // int---%d
    // float或double ----%f或e%
    // char------%c
    /*
    %c: 输出一个字符
    %d: 输出一个十进制的数据
    %o:以八进制格式输出
    %X:以十六进制输出
    %U:无符号十进制输出
    %f: 以带小数点的数字输出
    %e: 以指数的形式输出
    %s: 输出一个字符串
    %%: 输出一个%号
    %4d: 输出的数据长度是4四个长度,当原来的长度大于4个时会自动突破,小于四个则填充
    %x.yf: x 代表数字的宽度(包括小数点) y表示小数点后面的小数位数;

    格式符要满足顺序对应,格式对应!

    \n: 换行[/size][/color]


    */
    #include <stdio.h>
    main()
    {
    int a = 6;
    double b = 34;
    float f = 32.32;
    char c = 'c';
    printf("八进制输出:a=%O",a);
    printf(" A=%d",a);
    printf("b的值为:b=%f",b); //格式说明符
    printf("f的值为:%e\n",f);
    printf("a=%d,b=%e,f=%f,c=%c\n",a,b,f,c);

    printf("输出一个%号:%%\n");
    }


    [color=violet][size=small]//输入语句
    /*
    格式:scanf(格式控制,输入项1,输入项2....);
    说明:
    1、格式说明符与输出语句一样;
    2、在格式串中,必须含有与输入项一一对应的格式转换符的说明符;
    3、在vc6.0的环境下,接收double类型的数据,格式说明符一定要调用
    %lf,否则不能正确的输入数据
    4、由于输入的是一个字符流,所以当输入的数据少于输入项时,程序会
    等待用户输入,知道满足要求;
    当输入的数据多余输入项时,多余的数据会自动的作废;


    */[/size][/color]
    #include<stdio.h>
    main()
    {
    int a ;
    float b;
    double c;
    printf("请输入三个数字:\n");

    //输入时注意对应类型和数量
    scanf("%d%f%lf",&a,&b,&c); //&a 取值符

    // 使用逗号进行数据的分割 输入:2,3.4,5.455 满足
    scanf("%d,%f,%lf",&a,&b,&c);
    printf("你刚才输入的数是:%d %f %f",a,b,c);

    //限制输入数据流中的单位长度
    scanf("%3d",&a);
    printf("用户输入的a:%d",a);

    //跳过某个变量对下一个变量进行赋值
    scanf("%d%*d%d",&a,&b,&c);
    }
    展开全文
  • C++的赋值语句具有其他高级语言的赋值语句的功能。但不同的是,C++中的赋值号“=“是一个运算符,可以写成 a=b=c=d; 而在其他大多数语言中赋值号不是运算符,上面的写法是不合法的。 关于赋值表达式与赋值语句的...
  • C 语言编程 — 输入/输出与文件操作

    千次阅读 2020-04-04 18:02:21
    文章目录目录前文列表输入/输出scanf() printf()getchar() putchar()文件操作打开文件关闭文件写入文件读取文件二进制 I/O 函数 前文列表 《程序编译流程与 GCC 编译器》 《C 语言编程 — 基本语法》 《C 语言...

    目录

    前文列表

    程序编译流程与 GCC 编译器
    C 语言编程 — 基本语法
    C 语言编程 — 基本数据类型
    C 语言编程 — 变量与常量
    C 语言编程 — 运算符
    C 语言编程 — 逻辑控制语句
    C 语言编程 — 函数
    C 语言编程 — 高级数据类型 — 指针
    C 语言编程 — 高级数据类型 — 数组
    C 语言编程 — 高级数据类型 — 字符串
    C 语言编程 — 高级数据类型 — 枚举
    C 语言编程 — 高级数据类型 — 结构体与位域
    C 语言编程 — 高级数据类型 — 共用体
    C 语言编程 — 高级数据类型 — void 类型
    C 语言编程 — 数据类型的别名
    C 语言编程 — 数据类型转换
    C 语言编程 — 宏定义与预处理器指令
    C 语言编程 — 异常处理
    C 语言编程 — 头文件

    输入/输出

    输入,意味着要向程序输入数据,可以是以文件的形式或从命令行中进行。
    输出,意味着要在屏幕上、打印机上或任意文件中输出数据。

    C 语言把所有的设备都当作文件。所以处理设备(e.g. 显示器)的输入/输出的方式与文件操作的方式相同。以下三个文件称之为标准输入/输出文件,会在程序执行时自动打开,以便访问键盘和屏幕。C 语言中常用的标准输入/输出函数在 stdio.h 头文件中声明。

    在这里插入图片描述

    注:文件指针是访问文件的入口。

    scanf() 和 printf()

    • int scanf(const char *format, ...) 函数从标准输入流 stdin 读取输入,并根据提供的 format 来浏览输入。
    • int printf(const char *format, ...) 函数把输出写入到标准输出流 stdout ,并根据提供的格式产生输出。

    format 可以是一个简单的常量字符串,可以分别指定 %s、%d、%c、%f 等来输出或读取字符串、整数、字符或浮点数类型数据。还有许多其他可用的格式选项,可以根据需要使用。

    #include <stdio.h>
    
    int main() {
        float f;
        printf("Enter a number: ");
        scanf("%f",&f);
        printf("Value = %f", f);
        return 0;
    }
    

    getchar() 和 putchar()

    • int getchar(void) 函数从屏幕读取下一个可用的字符,并把它返回为一个整数。这个函数在同一个时间内只会读取一个单一的字符。可以在循环内使用这个方法,以便从屏幕上读取多个字符。
    • int putchar(int c) 函数把字符输出到屏幕上,并返回相同的字符。这个函数在同一个时间内只会输出一个字符。可以在循环内使用这个方法,以便在屏幕上输出多个字符。
    #include <stdio.h>
     
    int main() {
       int c;
       
       printf("Enter a value :");
       c = getchar( );
     
       printf("\nYou entered: ");
       putchar(c);
       printf("\n");
       return 0;
    }
    

    文件操作

    常见的文件操作有创建、打开、关闭文本文件或二进制文件。一个文件,无论它是文本文件还是二进制文件,都是代表了一系列的字节。C 语言不仅提供了访问顶层的函数,也提供了操作系统的系统调用来处理存储设备上的文件。

    打开文件

    使用 fopen() 函数来创建一个新的文件或者打开一个已有的文件,这个函数调用会初始化并返回一个 FILE 类型变量,其包含了所有用来控制文件数据流的必要的信息。

    FILE *fopen(const char * filename, const char * mode);
    
    • mode 类型
      在这里插入图片描述

    如果处理的是二进制文件,则需使用下面的访问模式来替代:

    "rb", "wb", "ab", "rb+", "r+b", "wb+", "w+b", "ab+", "a+b"
    

    关闭文件

    使用 fclose() 函数:

    int fclose(FILE *fp);
    

    这个函数实际上会清空缓冲区中的数据,关闭文件,并释放用于该文件的所有内存。如果成功关闭文件,函数会返回整数零,如果关闭文件时发生错误,函数返回 EOF。EOF 是一个定义在头文件 stdio.h 中的常量。

    写入文件

    • 函数 fputc() 把实参整型 c 的字符值写入到 fp 所指向的输出流中。如果写入成功,它会返回写入的字符,如果发生错误,则会返回 EOF。
    int fputc(int c, FILE *fp);
    
    • 函数 fputs() 把把一个以 null 结尾的字符串 s 写入到 fp 所指向的输出流中。如果写入成功,它会返回一个非负值,如果发生错误,则会返回 EOF。
    int fputs(const char *s, FILE *fp);
    
    • 还可以使用 fprintf() 函数来写把一个字符串写入到文件中。
    int fprintf(FILE *fp,const char *format, ...)
    

    示例:

    #include <stdio.h>
    
    int main() {
       FILE *fp = NULL;
    
       fp = fopen("/tmp/test.txt", "w+");
       fprintf(fp, "This is testing for fprintf...\n");
       fputs("This is testing for fputs...\n", fp);
       fclose(fp);
       return 0;
    }
    

    读取文件

    • 函数 fgetc() 从 fp 所指向的输入文件中读取一个字符。返回值是读取的字符,如果发生错误则返回 EOF。
    int fgetc(FILE *fp);
    
    • 函数 fgets() 从 fp 所指向的输入流中读取 n-1 个字符。它会把读取的字符串复制到缓冲区 buf,并在最后追加一个 null 字符来终止字符串。如果这个函数在读取最后一个字符之前就遇到一个换行符 '\n' 或文件的末尾 EOF,则只会返回读取到的字符,包括换行符。
    char *fgets(char *buf, int n, FILE *fp);
    
    • 可以使用 fscanf() 函数来从文件中读取字符串,但是在遇到第一个空格和换行符时,它会停止读取。
    int fscanf(FILE *fp, const char *format, ...)
    

    示例:

    #include <stdio.h>
    
    int main() {
       FILE *fp = NULL;
       char buff[255];
    
       fp = fopen("/tmp/test.txt", "r");
       fscanf(fp, "%s", buff);
       printf("1: %s\n", buff);
    
       fgets(buff, 255, fp);
       printf("2: %s\n", buff);
       
       /* 使用显示的强制类型转换,实际上可忽略 */
       fgets(buff, 255, (FILE*)fp);
       printf("3: %s\n", buff );
       fclose(fp);
    
       return 0;
    }
    

    运行:

    $ ./main
    1: This
    2:  is testing for fprintf...
    
    3: This is testing for fputs...
    

    首先,fscanf() 函数只读取了 This,因为它在后边遇到了一个空格。其次,调用 fgets() 读取剩余的部分,直到行尾。最后,调用 fgets() 完整地读取第二行。

    二进制 I/O 函数

    size_t fread(void *ptr,
                 size_t size_of_elements, 
                 size_t number_of_elements,
                 FILE *a_file);
                  
    size_t fwrite(const void *ptr,
                  size_t size_of_elements, 
                  size_t number_of_elements,
                  FILE *a_file);
    
    展开全文
  • 例如C++语言的标准输入输出流cincout使用非常方便,但在涉及大量数据输入输出时,由于需要花费时间自动判断输入输出数据的类型并转化为相应的格式输入输出,所以运行效率并不是最高。而这在算法竞赛中,编写的代码...

    C语言-004-输入输出语句printf、scanf、sscanf-2020-3-4

    导语

    C++语言功能非常强大,但是强大的代价是功能复杂、运行效率低。例如C++语言的标准输入输出流cin和cout使用非常方便,但在涉及大量数据输入输出时,由于需要花费时间自动判断输入输出数据的类型并转化为相应的格式输入输出,所以运行效率并不是最高。而这在算法竞赛中,编写的代码运行效率过低是致命的。因此对于某些题目,例如需要大量读写数据时,使用功能简单而直接C语言代码是个不错的选择。这是因为C++语言是由C语言拓展改进而来,C++支持C语言的几乎全部功能。

    printf

    printf函数(格式输出函数)可以向终端输出任意类型的多个数据。

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

    printf("%d,%c\n",i,c);//表示将变量以整数形式输出,变量c以字符形式输出,两变量间以逗号间隔。
    

    print可用的格式字符表

    格式字符 说明
    %d 以十进制符号形式输出整数
    %o 以八进制符号形式输出整数
    %x,%X 以十六进制符号形式输出整数
    %u 以十进制符号形式输出整数
    %c 以字符形式输出,只能输出一个字符
    %s 输出字符串
    %f 以小数形式输出单,双精度数,隐含输出6位小数
    %e,%E 以指数形式输出实数
    %l 加在格式符d、o、x、u前,用于长整型数据

    1.输出整数形式可以用%d或%md,m为指定的输出字符宽度,输出数据右对齐。

    printf("a=%d,a=%4d",a,a);//若a=1,结果为a=1,a=       1。
    

    2.输出长整型可以用%ld,一个int型数据可以用%d或%ld格式输出。
    3.输出字符串用%s

    printf("%s","Hello");
    

    4.%ms输出的字符串占m列,如字符串本身长度大于m,则突破m的限制,将字符串全部输出。若串长小于m,则左补空格。
    5.%-ms,如果串长小于m,则在m的范围内,字符串向左靠,右补空格。
    6.%m.ns,输出占m列,但只取字符串中左端n个字符。这n个字符输出在m列的右侧,左补空格。
    7.%-m.ns,m,n含义同上,n个字符输出在m列范围的左侧,右补空格。如果n>m,则m自动取n值,即保证n个字符正常输出。
    8.%m.nf输出浮点数,输出数据共占m列,其中有n位小数,如果数值长度小于m,则左端补空格。
    %-m.nf与上例基本相同,只是使输出的数值向左端靠齐,右端补空格 。

    scanf

    scanf函数(格式输入函数)的作用是输入指定形式的数据。该函数的一般格式如下:

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

    ”格式控制“的含义同printf函数;”地址表列“是由若干个地址组成的表列,可以是变量的地址,也可以是字符串的首地址。格式字符的使用与printf的格式字符使用方法类似,此处省略。

    #include<stdio.h>
    int main()
    {
    int a;
    float b;
    scanf("%d",&a);
    scanf("%f",&b);
    printf("%d,%f",a,b);
    getchar();
    getchar();
    
    1. &是C语言中的取地址符
    2. scanf函数需要键入&取地址符,printf函数不需要键入取地址符。

    getchar()表示从键盘获得一个字符,常用于程序的暂停,但此程序使用了两句getchar命令,这是因为当使用了scanf()函数时,输入的数据最后需要按一下回车键以确定,该回车符恰好被第一个getchar()
    函数所获取而导致程序提前结束,使屏幕一闪而过而看不清屏幕输出结果。

    scanf("%3d %3d %2d",&m,&n);
    //输入112 118 68
    112,68分别赋值给m,n因为
    号表示跳过它相应的数据所以118不赋予任何变量。

    sscanf

    功能是从一个字符串中读进与指定格式相符的数据。

    //sscanf的用法
    //将读入的一整行字符串按空格,制表符或回车符分割成连个字符串。
    #include<stdio.h>
    int main()
    {
    	char str[100],str1[100],str2[100];
    	gets(str);
    	sscanf(str,"%2s%s",str1,str2);
    	printf("%s | %s",str1,str2);
        getchar ();
    	getchar ();
    } 
    
    //输入hello
    hello
    he | llo
    
    
    --------------------------------
    Process exited with return value 0
    Press any key to continue . . .
    
    展开全文
  • 在ACM程序设计中通常使用C++语言作为程序的整体框架,主要原因:C++本身兼容了C,一方面它既保持了C的简洁、高效接近汇编语言的特性,同时也对C类型系统进行了改进扩充;另一方面,C++也支持面向过程的程序设计...
  • 输入输出语句: printf("请输入一个数:"); // 输出语句 格式:printf(格式控制,输出项1,.......); 格式说明符: 作用:就是使数据按格式说明符的要求进行输出。、 组成:由%号紧跟在其后的格式描述符...
  • C输入输出

    2012-12-04 20:48:48
    C 语言本身不提供输入输出语句输入和输出操作是由函数来实现的。  1、 printf( )函数 常用的字符格式 d 格式符:用来输出十进制整数 ⑴ %d:按整型数据的实际长度输出  例:printf(“%d\n”,12345);  ...
  • C++ 输入cin 和输出cout

    2017-02-10 12:08:21
    C和C++本身都没有为输入和输出提供专门的语句结构。输入输出不是由C++本身定义的,而是在编译系统提供的I/O库中定义的。C++的输出和输入是用“流”(stream)的方式实现的。图3.2和图3.3表示C++通过流进行输入输出的...
  • 输入输出

    2019-06-10 22:44:30
    C 和C++本身都没有为输入和输出提供专门的语句结构。输入输出不是由C++本身定义的,而是在 的I/O库中定义的。 C++的输出和输入是用“流”(stream)的方式实现,即调用输入输出流库中的流对象cin和cout。 “流”指的...
  • 输入和输出并不是C++语言中的正式组成成分,C和C++本身都没有为输入和输出提供专门的语句结构。输入输出不是由C++本身定义的,而是在编译系统提供的I/O库中定义的。 C++的输出和输入是用“流”(stream)的方式实现的...
  • C/C++编程:输入输出

    2021-02-01 16:34:32
    iostream包含了两个基础类型istream和ostream,分别表示输入和输出流 一个流就是一个字符序列,是从IO设备读出或者写入IO设备的 术语“流”可以理解为:随着时间的推移,字符是顺序生成或者消耗的 四个标准输入...
  • C++输入输出—coutcin的用法

    万次阅读 多人点赞 2013-04-30 00:41:08
    输入和输出并不是C++语言中的正式组成成分。C和C++本身都没有为输入和输出提供专门的语句结构。输入输出不是由C++本身定义的,而是在编译系统提供的I/O库中定义的。 C++的输出和输入是用“流”(stream)的方式实现...
  • C++输入输出—cincout的用法

    千次阅读 2018-04-02 10:39:38
    输入和输出并不是C++语言中的正式组成成分。C和C++本身都没有为输入和输出提供专门的语句结构。输入输出不是由C++本身定义的,而是在编译系统提供的I/O库中定义的。C++的输出和输入是用“流”(stream)的方式实现的。...
  • 【C++】输入 & 输出

    2019-05-21 13:57:49
    因为 C 和 C++ 本身都没有为输入和输出提供专门的语句结构。   在 C 语言中,输入和输出的功能是通过调用 scanf 函数和 printf 函数来实现的,在 C++ 中是通过调用输入输出流库中的流对象 cin 和 cout 实现的。 也...
  • C++输入+输出

    2018-11-09 12:52:55
    C和C++本身都没有为输入和输出提供专门的语句结构;输入输出不是由C++本身定义的,而是在编译系统提供的I/O库中定义的。 C++的输出和输入是用“流”(stream)的方式实现的: 我们似乎看每本书开始的程序都是从hello ...
  • c++输入输出

    2018-09-03 21:42:08
    输入和输出并不是C++语言中的正式组成成分。C和C++本身都没有为输入和输出提供专门的语句结构。输入输出不是由C++本身定义的,而是在编译系统提供的I/O库中定义的。printf,scanf比较简单,本文章也不再赘述。...
  • 输入输出 我对C语言中输入输出理论的理解 第一次提交:出于各种原因,我于2020年开始学习C.现在,我将证明我对学习计算机科学... 在C实现中,在C标准库中为输入和输出指定的getchar()和putchar()函数。 在while语句
  • 输入输出功能并不是 C 语言本身的组成部分,但是,程序与环境之间的交互比较复杂。 ANSI标准精确定义了一些库函数,因此,在任何可以使用 C 语言的系统中都有这些函数的兼容形式。如果程序的系统交互部分仅仅使用...
  • 【C++】输入输出

    2018-06-19 21:02:01
    语句结构,C语言中,输入和输出的功能是通过调用scanf函数和printf函数来实现的,在C++中是通过调用输入输出流库中的流对象cin和cout实现的,也就是说输入输出不是由C++本身定义的,而是在编译系统提...
  • 第一节,输出和输入

    2020-10-28 22:28:47
    C语言简介 特点: 简洁,具有结构化的控制...编程语言中所有出现的符号均为英文符号(除输出语句中的符号) 养成好习惯,做好注释,单行注释用//;多行注释用/* */ 学习方法: 多记笔记,多练习,不要死记词汇 多看
  • C++ 标准输入输出

    千次阅读 2017-03-24 10:33:44
    本来想好好总结下C++输入输出流的 内容,看到GitHub上面xuelangZF,总结的已经非常好了,在此转载过来,原文网址:...C和C++本身都没有为输入和输出提供专门的语句结构
  • 输入和输出并不是C++语言中的正式组成成分。C和C++本身都没有为输入和输出提供专门的语句结构。输入输出不是由C++本身定义的,而是在编译系统提供的I/O库中定义的。 C++的输出和输入是用“流”(stream)的方式实现的...
  • C++输入cout与输出cin

    2019-09-27 19:52:33
    C和C++本身都没有为输入和输出提供专门的语句结构。输入输出不是由C++本身定义的,而是在编译系统提供的I/O库中定义的。C++的输出和输入是用“流”(stream)的方式实现的。图3.2和图3.3表示C++通过流进行输入输出的...
  • 3.4、C++输入输出

    2015-03-05 15:33:42
    C和C++本身都没有为输入和输出提供专门的语句结构。输入输出不是由C++本身定义的,而是在编译系统提供的I/O库中定义的。 C++的输出和输入是用“流”(stream)的方式实现的。图3.2和图3.3表示C++通过流进行输入输出...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 900
精华内容 360
关键字:

c语言输入和输出语句

c语言 订阅