C语言编程0基础学习历程(3)—— 输入输出
目录:
- 输出语句
- 输入语句
变量被赋值之后,又该如何将其显示在屏幕上呢?这就需要用到我们的输出语句了。
一、输出语句
C语言中使用printf()函数(标准输出函数)来实现输出。其作用为输出一个字符串,或按照指定格式和类型输出变量。
示例:
#include <stdio.h>
int main()
{
int a=1;
printf("%d\n",a);
printf("Hello!\n");
return 0;
}
在上例中我们看到了诸如 “%d” “\n” 之类的字符,那么他们的作用是什么呢?
(1)格式转换说明
附:表1
符号 | 用法 |
---|---|
%d | 输出带符号的十进制整数(正数符号忽略) |
%u | 输出无符号的十进制整数 |
%o | 输出无符号八进制整数(不带前导符0) |
%x | 输出无符号十六进制整数(小写,且不带前导符0x) |
%X | 输出无符号十六进制整数(大写,且不带前导符0x) |
%c | 输出一个字符 |
%s | 输出一个字符串 |
%f | 以十进制小数输出(隐含输出小数点后6位) |
%e | 以指数形式输出实数(小数点前有且仅有一位非0数字) |
%E | 以指数形式输出实数 |
%g | 自动选择f或g格式中宽度较小的一种且不输出无意义的0 |
%% | 输出 ‘%‘ |
(2)转义字符
附:表2
字符 | 含义 |
---|---|
\n | 换行 |
\r | 将光标停至行首但不换行 |
\0 | 空字符,用于字符串末尾表结束 |
\t | 水平制表 |
\v | 垂直制表 |
\b | 退格 |
\f | 走页换纸 |
\a | 提示音 |
\" | 打印一个双引号 |
\’ | 打印一个单引号 |
\ | 打印一个反斜线 |
\? | 打印一个问号 |
\ddd | 1到3位8进制ASCII码所代表的字符 |
\xhh | 1到2位16进制ASCII码所代表的字符 |
(3)格式修饰符
附:表3
格式修饰符 | 用法 |
---|---|
l | 在诸如d,o,x,u之类格式符之前添加,输出long型数据 |
l | 在诸如f,e,g之类格式符之前添加,输出long double型数据 |
h | 在诸如d,o,x之类格式符之前添加,输出short型数据 |
m | 若为正,当数据宽度小于m时,右对齐;大于m时全部输出;若m前有前导符0,则在左侧补充0直到到达m宽度; 若为负,则左对齐。 (注:m为整数) |
.n | 对于浮点数,指定输出小数点后几位; 对于字符串指定从左侧开始输出的字符数。 (注:n为非负整数) |
例:
#include <stdio.h>
int main()
{
int a=100000;
printf("%10d",a);
return 0;
}
运行结果:

(4)printf 函数输出格式
printf (“格式控制字符串”);
或
printf(“格式控制字符串”,输出值参数表);
(5)其他输出函数
putchar():把一个字符输出到屏幕当前光标的位置。
二、输入函数
C语言的输入主要使用scanf()函数(标准输入函数)来实现。其作用为从输入缓存区中读入一个字符串。
示例:
#include <stdio.h>
int main()
{
int a;
scanf("%d",&a);
printf("%d",a);
return 0;
}
运行结果:
其中第一行为输入,第二行为输出。
(1)输入结束标志:
- 遇到空格符、回车、制表符时;
- 达到输入域宽;
- 遇到非法字符输入;
输入必然有一个输入的结束标志,否则电脑不知道何时才停止对数据的读入。因此规定第一条的三种情况为输入结束标志。
如同输出可以指定输出长度,输入也可以指定输入长度,使用方法同输出函数。不同的是当数据超过指定宽度时,输入函数结束本次输入,而输出函数则将数据全部输出。
输入函数中包含格式修饰符,因此输入数据类型必须与函数所提供的格式保持一致,否则可能引发错误,(读者可以自己动手试一试)当遇到不同类型的输入时可以结束此次输出,如要求输入一个整数类型,而输入为“1,”,当遇到“,”时,程序认为结束此次输入。可通过检查输入函数返回值来判断是否成功读入数据,若返回指定数据则为成功,若返回EOF值(stdio.h中为-1)则表示失败。
例1:
#include <stdio.h>
int main()
{
int a;
scanf("%3d",&a);
printf("%d",a);
return 0;
}
运行结果:
例2:
#include <stdio.h>
int main()
{
int a;
scanf("%d",&a);
printf("%d",a);
return 0;
}
运行结果:
(2)注意事项:
- 在使用“%c”格式读入字符时,空格字符和转义字符(包括回车)都会被当做有效字符输入。
- 输入格式中的变量前需加上取址符“&”。输入格式字符串中不能包含诸如‘\n’类的转义字符。
- 实型数据无法规定输入精度。
(3)scanf函数输入格式
scanf(“格式控制符”,参数地址表);