juliusun.com
第 7/50 节 冥河C语言教程
表达式、变量、常量等值可以通过printf函数输出。printf用法如下:
printf( 格式控制 , 参数列表 );
参数列表用逗号分隔,可以为空,格式控制是字符串,用双引号引起来。比如要输出Hello World!,代码如下:
为了使代码能运行,我们把整个程序代码补充完整
运行效果类似如下图:
printf格式控制字符串中,可能通过格式声明,来输出其它信息,如用%d来输出整数,用%c输出字符。格式声明由百分号%加格式字符组成。带有百分号的按格式输出,不带百分号的原样输出。常用格式声明列表如下:
格式控制字符 | 描述 |
---|---|
%d | 10进制输出整数,一般输出int类型 |
%数字d | 至少占用"数字"个字符位,不足则前补空格,其它与 %d 相同 |
%i | 10进制输出整数,一般输出int类型,同%d |
%l | 输出长整型,一般输出long类型,也可写作 %ld |
%数字l | 至少占用"数字"个字符位,不足则前补空格,其它与 %l 相同 |
%o | 以8进制输出整数 |
%x | 以16进制输出整数,a-f以小写形式输出 |
%X | 以16进制输出整数,A-F以大写形式输出 |
%u | 输出无符号整数,一般输出unsigned int类型 |
%c | 输出字符,一般输出char类型 |
%s | 输出字符串 |
%f | 输出单精度浮点型,一般输出float类型 |
%数字.数字f | 第一个"数字"代表整个数字至少占用位数,第二个"数字"代表小数点位数,其它同%f |
%lf | 输出双精度浮点型,一般输出double类型 |
%数字.数字lf | 第一个"数字"代表整个数字至少占用位数,第二个"数字"代表小数点位数,其它同%lf |
%e | 以指数形式输出实数,e小写 |
%E | 以指数形式输出实数,E大写 |
%% | 百分号 |
表格内容不需要刻意背诵,需要时查询即可。
使用printf时,格式声明顺序和类型要与参数列表对应项相同。以下面代码为例:
格式声明和参数类型不符合时,可能会输出错误的内容。
输入我们常用scanf函数。scanf使用方法与printf类似,用法如下:
scanf( 格式控制 , 地址列表 );
scanf只能变量来接收用户输入数据,因为变量是记录可变信息的,是可以改变的。常量或表达式值是确定的,无法改变,所以不能接收用户输入数据。
格式控制字符串使用方法和printf函数类似。
scanf 函数的格式控制字符串中的非格式控制字符,需要原样输入。
scanf 函数用回车表示一次输入完成。
scanf 函数在回车输入完成后,发现输入信息不完整,会要求用户继续输入,直接用户输入回车并确认完整。
地址列表,就是在每个接收数据的变量前加个取地址符&,其它的和printf很类似,如下例子,输入两个数,输出两个数之和。
运行后输入9空格 (空格不是格式控制字符,需要原样输出,不能用逗号等代替) 和12,运行效果类似如下图:
再介绍一个用户输入函数getchar,这个函数返回用户输入的字符,为char类型,使用时类似如下:
上面printf和scanf函数调用了getchar函数,意义是通过等待用户输入,达到程序暂停的目的,防止窗口一闪而过,无法查看输出结果。vc6等编译器调试时自动暂停,可以省略。命令行执行程序时同样能查看输出结果,也可省略。
没有合适的编译器,可点击 编译器下载地址。