输入与输出(初学者)

1、数据输入与输出

(1)所谓输入与输出是以计算机为主题而言的。

(2)本博客介绍的是向标准输出设备显示器输出数据的语句。

(3)在C语言中,所有数据输入输出都是由库函数完成,因此都是函数语句。

(4)在使用C语言库函数时,要用预编译命令#include将有关“头文件”包括到源文件中。使用标准输入输出库函数时要用到"stdio.h"文件,因此源文件开头应有以下预编译命令:

#include<stdio.h>或#include"stdio.h"

stdio是standand input&output的意思。

(5)考虑到printf和scanf函数使用频繁,系统允许在使用这两个函数时可不加#include<stdio.h>

2、字符数据的输入输出

(1)putchar函数(字符输出函数):putchar函数是字符输出函数,其功能是在显示器上输出单个字符。其一般形式为:putchar(字符变量)

例如:putchar('A');     //输出大写字母A

           putchar(x);       //输出字符变量x的值

           putchar('\101')  //也是输出字符A,注:101为八进制

           putchar('\n')      //换行

注:(1)对控制字符则执行控制功能,不在屏幕上显示。

(2)使用本函数前必须要用文件包含命令:#include<stdio.h>

例:

#include <stdio.h>

void main()
{
    char a='B',b='o',c='k';
    putchar(a);putchar(b);putchar(b);putchar(c);putchar('\t');putchar(a);putchar(b);
    putchar('\n');
    putchar(b);putchar(c);
}

(2)getchar函数(键盘输入函数):getchar函数的功能是从键盘上输入一个字符。其一般形式为:getchar();通常把输入的字符赋予一个字符变量,构成赋值语句,如:cahr C;C=getchar();

例:

#include <stdio.h>

void main()
{
    char C;
    printf("input a character\n");
    C=getchar();
    putchar(C);
    putchar('\n');
}

3、格式输入与输出:printf函数(格式输出函数):printf函数称为格式输出函数,其最末一个字母f即为”格式“(format)之意。其功能是按用户指定的格式,把指定的数据显示到显示器的屏幕上。

(1)print函数调用的一般形式:printf函数是一个标准库函数,它的函数原型在头文件”stdio.h"中。但作为一个特例,不要求在使用printf函数之前必须包含stdio.h文件。

printf函数调用的一般形式为:printf(“格式控制字符串”,输出列表)其中格式控制字符串用于指定输出格式。格式控制字符串可由格式字符串和非格式字符串两种组成。格式字符串是以%开头的字符串,在%后面跟有各种格式字符,以说明输出数据的类型、形式、长度、小数、位数等。常见的有:

%d:十进制整数
%x十六进制整数
%o八进制整数
%u无符号十进制整数
%c一个字符
%s字符串
%e浮点数(指数形式,有称科学记数法)
%f浮点数(小数形式),有六位小数部分
%ld十进制长整型数
%lf双精度浮点数(小数形式),取到小数点后20位
%%百分号本身
非格式字符串在输出时原样打印,在显示中其提示作用。
输出列表中输出了各个输出项,要求格式字符串和个输出项在数量和类型上一一对应。
例:
#include <stdio.h>

void main()
{
    int a=88,b=89;
    printf("%d%d\n",a,b);
    printf("%d%d\n",a,b);
    printf("%c,%c\n",a,b);
    printf("a=%d,b=%d",a,b);
}

(2)标志: 标志字符为-+#、空格四种,其意义下表所示:

标志 意义
-  结果左对齐,右边填空格
+  输出符号(正号或负号)
空格 输出值为正时冠以空格,为负时冠以负号
# 对c,s,d,u类无影响;对o类, 在输出时加前缀。对x类,在输出时加前缀0x;对e,g,f 类当结果有小数时才给出小数点 

(3)输出最小宽度:用十进制整数来表示输出的最少位数。 若实际位数多于定义的宽度,则按实际位数输出, 若实际位数少于定义的宽度则补以空格或0·

(4)精度:精度格式符以“.”开头,后跟十进制整数。本项的意义是:如果输出数字,则表示小数的位数;如果输出的是字符, 则表示输出字符的个数;若实际位数大于所定义的精度数,则截去超过的部分。

(5)长度:长度格式符为h,l两种,h表示按短整型量输出,l表示按长整型量输出。

例:

#include <stdio.h>

void main()
{
    int a=15;
    float b=123.1234567;
    double c=12345678.1234567;
    char d='p';
    printf("a=%d,%5d,%o,%x\n",a,a,a,a);
    printf("b=%f,%lf,%5.4lf%e\n",b,b,b,b);
    printf("c=%lf,%f,%8.4f\n",c,c,c);
    printf("d=%c,%8c\n",d,d);
}

注:输出列表中的求值顺序,不同编译器不一定相同,可以从左到右,也可以从右到左。

区分:单个printf语句和多个printf语句输出结果是不同的。

#include <stdio.h>

void main()
{
    int i=8;
    printf("%d\n%d\n%d\n%d\n%d\n%d\n",++i,--i,i++,i--,-i++,-i--);
}
#include <stdio.h>

void main()
{
    int i=8;
    printf("%d\n",++i);
    printf("%d\n",--i);
    printf("%d\n",i++);
    printf("%d\n",i--);
    printf("%d\n",-i++);
    printf("%d\n",-i--);
}

猜你喜欢

转载自www.cnblogs.com/lvfengkun/p/10171743.html