1.有关数据输入输出的概念
注意以下几点:
(1)所谓输入输出是以计算机主机为主体而言的。从计算机向输出设备(如显示器、打印机等)输出数据称为输出,从输入设备(如键盘、光盘、扫描仪等)向计算机输入数据称为输入。
(2)C语言本身不提供输入输出语句。输入和输出操作是由C标准函数库中的函数来实现的。C语言函数库中有一批标准的输入输出函数,其中有putchar(输出字符)、getchar(输入字符)、printf(格式输出)、scanf(格式输入)、puts(输出字符串)、gets(输入字符串)。
(3)要在程序文件的开头用预处理指令#include把有关头文件放在本程序中。如:
#include<stdio.h> //其中stdio.h称为头文件
#include指令还有一种形式,如: #include"stdio.h"
2.printf函数输出数据
1.printf函数的一般格式
printf函数的一般格式为:printf(格式控制,输出表列)
(1)"格式控制"是用双撇号括起来的一个字符串,称为格式控制字符串,简称格式字符串。它包括两个信息:
①格式声明。格式声明由"%"和格式字符组成,如% d 、% f 等。它的作用是将输出的数据转换为指定的格式后输出。格式声明总是由"%"字符开始的。
②普通字符。普通字符即需要在输出时原样输出的字符。
(2)输出表列是程序需要输出的一些数据,可以是常量、变量或表达式。
2.格式字符
(1)d格式符
用来输出一个有符号的十进制整数。
可以在格式声明中指定输出数据的域宽(所占的列数),如用"%5d",指定输出数据占5列,输出的数据显示在此五列区域的右侧。若输出long(长整型)数据,在格式符数据前加字母l(代表long),即"%ld"。若输出long long (双长整型)数据, 格式符d前加两个字母代表 ll(long long),即"%lld "。
(2)c格式符
用来输出一个字符。
一个整数如果在0-127范围里,也可以用"%c"使之按字符形式输出,在输出前,系统会将该整数作为ASCII码转换成相应的字符;如:
short a=121;
printf("%c",a);
输出字符y。
(3)s格式符
用来输出一个字符串。
(4)f格式符
用来输出实数(包括单、双精度,长双精度),以小数形式输出。
①基本类型,为%f。
②如果指定数据宽度和小数位数,用%m.nf。
③输出的数据向左对齐,用%-m.nf。
(5)e格式符
用格式声明%e指定以指数形式输出实数。如果不指定输出数据所占的宽度和数字部分的小数位数,许多 C 编译系统(如 Visual C ++)会自动给出数字部分的小数位数为6位,指数部分占5列(如 e +002,其中" e "占1列,指数符号占1列,指数占3列)。数值按标准化指数形式输出(即小数点前必须有而且只有1位非零数字)。如:
printf("%e",123.456);
输出结果为:1.234560e+002。所输出的实数共占13列宽度(不同的系统规定略有不同)。
也可以用"%m.ne"形式声明。格式符e也可以写成大写模式E。
(6)其他格式符
①i格式符
作用与 d 格式符相同,按十进制整型数据的实际长度输出。一般习惯用% d 而少用% i 。
②o格式符
以八进制整数形式输出。将内存单元中的各位的值(0或1)按八进形式输出,因此输出的数值不带符号,即将符号位也一起作为八进制数的一部分输出。
③x格式符
以十六进制数形式输出整数。同时也可以用"%lx"来输出长整型数,也可以指定字段的宽度。
④u格式符
用来输出无符号(unsigned)型数据,以十进制整数形式输出。
⑤g格式符
用来输出浮点数,系统自动选f格式或e格式输出,选择其中长度较短的格式,不输出无意义的0。
3.scanf函数输入数据
1.scanf函数的一般形式。
scanf(格式控制,地址表列)
而其格式声明与输出的相似。
注意:scanf函数中的格式控制后面应当跟变量地址,而不是变量名。
4.字符输入输出输出函数
用putchar输出一个字符,用getchar输入一个字符。