printf(\); 运行结果为: a,97 a,97
也可以指定输出字数宽度,例如:printf(\);
(6)s格式符,用来输出一个字符串,有几种用法:
① %s。例如:
printf(\);
输出字符串“CHINA”(不包括双引号)。
② %ms。输出的字符串占
m列,如字符串本身长度大于m,
则突破m的限制,将字符串全部输出,若串长小于m,则左补空格。
③ %-ms。跟以上的区别就是右补空格。 ④ %m.ns。输出的字符串占
m列,只取字符串左端n个字
符,不足位数,左补空格。
⑤ %-m.ns。跟以上的区别就是右补空格。
(7)f格式符。用来输出实数(包括单、双精度),以小数形式输出。有以下几种用法:
① %f,不指定字段宽度,由系统自动指定,整数部分全
部输出,并输出6位小数。单精度实数的有效位数一般为7位(包括整数和小数位数)。
例如: float x,y;
x=111111.111;y=222222.222; printf(\); 输出结果为: 333333.328125
显然,只有前7位数字是有效数字,千万不要以为凡是计算机输出的数字都是准确的。双精度数也可以用%f格式输出,它的有效位数一般为16位,给出小数6位。
② %m.nf,指定输出的数据共占
m列,其中有n位小数。
长度不够,左补空格。
③ %-m.nf,右补空格。
(8)e格式符。以指数形式输出实数。详细情况参阅谭浩强的《C语言程序设计》。
(9)g格式符。用来输出实数,它根据数值的大小,自动选择f格式或e格式。详细情况参阅谭浩强的《C语言程序设计》。
(10)
2. 一些特殊规定字符
━━━━━━━━━━━━━━━━━━━━━━━━━━
字符 作用
──────────────────────────
\\n 换行 \\f 清屏并换页 \\r 回车 \\t Tab符
\\xhh 表示一个ASCII码用16进表示, 其中hh是1到2个16进制数 ━━━━━━━━━━━━━━━━━━━━━━━━━━
C程序中的第一条语句#include
C编译器(Turbo C或VC++6.0)对每个库函数使用的变量及函数类型都已作了定义与说明, 放在相应头文件\中, 用户用到这些函数时必须要用#include<*.h>或#include\语句调用相应的头文件, 以供连接。若没有用此语句说明, 则连接时将会出现错误。但有些编译器已经将常用的头文件默认包含,可以将语句:
#include
二、scanf()函数
scanf()函数是格式化输入函数, 它从标准输入设备(键盘) 读取输入的信息。 其调用格式为:
scanf(\格式化字符串>\地址表>); 格式化字符串包括以下三类不同的字符;
1. 格式化说明符: 格式化说明符与printf()函数中的格式说明符基本相同。
2. 空白字符: 空白字符会使scanf()函数在读操作中略去输入中的一个或多个空白字符。
3. 非空白字符: 一个非空白字符会使scanf()函数在读入时剔除掉与这个非空白字符相同的字符。
地址表是需要读入的所有变量的地址, 而不是变量本身。这与printf()函数完全不同, 要特别注意。各个变量的地址之间同\分开。 例2: main() {
int i, j;
printf(\ scanf(\ }
上例中的scanf()函数先读一个整型数, 然后把接着输入的逗号剔除掉, 最后读入另一个整型数。如果\这一特定字符没有找到, scanf()函数就终止。若参数之间的分隔符为空格, 则参数之间必须输入一个或多个空格。 说明:
(1). 对于字符串数组或字符串指针变量, 由于数组名和指针变量名本身就
是地址, 因此使用scanf()函数时, 不需要在它们前面加上\操作符。例如
mian() {
char *p, str[20]; scanf(\ scanf(\ printf(\ printf(\ }