语言的输入输出语句有:“getchar(void);”和“putchar(int c);”、“scanf("格式控制字符串",地址列表);”和“printf("格式控制字符串",输出列表);”、“gets()”和“puts()”等等。
控制台的输出:
字符数据的输入,输出;
getchar():会读取所有的字符,包括空格,回车等等;
getchar():当输入回车的时候,才会将缓冲区的内容给读入;
1.字符输出:putchar(int c):
2.字符输入:getchar(void);
2.字符串输入输出函数
gets() & puts() 函数:
char *gets(char *s) 函数从 stdin 读取一行到 s 所指向的缓冲区,直到一个终止符或 EOF。 返回指针与参数指针相同,指向同一块内存,一般不需要关注。C11中已移除,使用gets_s替代。
char *gets_s(char *s,int size) 函数从 stdin 读取一行到 s 所指向的缓冲区,直到一个终止符或 EOF。 使用时比gets要安全,推荐用字符数组长度-1作为size(留空'\0')。
int puts(const char *s) 函数把字符串 s 和一个尾随的换行符写入到 stdout。返回值为执行成功返回非 负数。执行失败返回EOF(-1值)。
格式化输入、输出
1.格式化输入: printf("格式控制字符串",输出列表);
2. 格式输入 :scanf("格式控制字符串",地址列表);
c语言中的所有转义字符:
- \n 回车换行
- \t 横向跳格(Tab键)
- \v 竖向跳格(打印机专用)
- \r 回车
- \f 换页(打印机专用)
- \b 退格(BackSpace键)
- \ 反斜杠 \
- \’单引号 ’
- \”双引号 ”
- \ddd以八进制形式代表的ASCII字符
- \xhh以十六进制形式代表的ASCII字符
- \0空值
转换说明符:%[flags][width][.precision][length]specifier
下面是specifier
%a(%A) 浮点数、十六进制数字和p-(P-)记数法(C99)
%c 字符
%d 有符号十进制整数
%f 浮点数(包括float和doulbe)
%e(%E) 浮点数指数输出[e-(E-)记数法]
%g(%G) 浮点数不显无意义的零"0"
%i 有符号十进制整数(与%d相同)
%u 无符号十进制整数 %o 八进制整数
%x(%X) 十六进制整数0f(0F) e.g. 0x1234
%p 指针 (地址)
%s 字符串
%% 输出字符%
注意:在 C 语言中,可以使用运算符 & 求某个变量的地
下面是:flags:
-:在给定的字段宽度内左对齐,默认是右对齐(参见 width 子说明符)。
+:强制在结果之前显示加号或减号(+ 或 -),即正数前面会显示 + 号。默认情况下,只有 负数前面会显示一个 - 号。
空格:如果没有写入任何符号,则在该值前面插入一个空格。
#:与 o、x 或 X 说明符一起使用时,非零值前面会分别显示 0、0x 或 0X。与 e、E 和 f 一起 使用时,会强制输出包含一个小数点,即使后边没有数字时也会显示小数点。默认情况 下,如果后边没有数字时候,不会显示显示小数点。与 g 或 G 一起使用时,结果与使用 e 或 E 时相同,但是尾部的零不会被移除。
0:在指定填充 padding 的数字左边放置零(0),而不是空格(参见 width 子说明符)。
下面是:Width:
(number);要输出的字符的最小数目。如果输出的值短于该数,结果会用空格填充。如果输出 的值长于该数,结果不会被截断。
*:宽度在 format 字符串中未指定,但是会作为附加整数值参数放置于要被格式化的参 数之前