过程式输入输出:
在头文件cstdio或stdio.h中声明
输出:
int printf(const char *format [,<参数表>]);
其参数format指向的式一个格式字符串(故:一定是双引号!!!!),该字符串包含两类字符:普通字符和控制字符。普通字符将直接输出到标准输出设备上,控制字符则用于解释和控制<参数表>中数据的类型和输出格式。<参数表>中的参数为表达式
例:printf("i=%d, j=%f\n",i,j);
控制字符 | 类型 | 输出格式 |
%c | int | 字符 |
%d | int | 有符号十进制整数 |
%f | double | [ - ]dddd.dddd |
%s | char* | 字符串 |
进一步设置输出格式
格式字符串:%[标志][补的内容?][输出最少宽度][.精度][长度]类型
(即 % - 0 m.n l或h 类型)
解释如下:① %:表示格式说明的起始符号,不可缺少。
② 标志: 左对齐:"-" e.g. "%-20s"
右对齐:"+" e.g. "%+20s"(正负号省略也表示右对齐!)
空格:若符号为正,则显示空格,负则显示"-" e.g. "% "
③补的内容:有0表示指定空位填0,如省略表示指定空位不填(指补空格)。
④ m(.n):m指域宽,即对应的输出项在输出设备上所占的字符数。N指精度。用于说明输出的实型数的小数位数。为指定n时,隐含的精度为n=6位。(n是可以省略的!没有 . 估计就不会判断n吧)
⑤l或h:l对整型指long型,对实型指double型。h用于将整型的格式字符修正为short型。
附部分普通字符(普通字符位置不定故上没有给出具体位置):
空字符 | \0 |
换页 | \f |
换行 | \n |
回车 | \r |
水平tab | \t |
竖直tab | \v |
输入:
int scanf( const char *format [,<参数表>]);
format指向一个格式字符串,<参数表>中的参数为存储输入数据的变量的地址。scanf的格式字符串的作用基本相同,与printf不同的是:scanf格式字符串中普通字符(非格式控制字符)不是作为输出,而是用于与输入字符进行匹配,即在输入时,除了输入控制字符所规定的数据外,还需要输入格式字符串中的普通字符。