📄 王大刚--c语言编程宝典--输入输出函数及控制流程语句.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0054)http://www.cnread.net/cnread1/dnwl/cxsj/c/cyyb/011.htm -->
<HTML><HEAD><TITLE>王大刚-->C语言编程宝典-->输入输出函数及控制流程语句</TITLE>
<META http-equiv=Content-Type content="text/html; charset=GB2312">
<META content="王大刚 C语言编程宝典 输入输出函数及控制流程语句" name=keywords>
<META content="王大刚 - C语言编程宝典 - 输入输出函数及控制流程语句" name=description>
<STYLE>#page {
LEFT: 0px; POSITION: absolute; TOP: 0px
}
.tt3 {
FONT: 9pt/12pt "宋体"
}
.tt2 {
FONT: 12pt/15pt "宋体"
}
A {
TEXT-DECORATION: none
}
A:hover {
COLOR: blue; TEXT-DECORATION: underline
}
</STYLE>
<META content="MSHTML 6.00.2800.1106" name=GENERATOR></HEAD>
<BODY text=#000000 vLink=#006699 aLink=#9900ff link=#006699 bgColor=#ffffff
leftMargin=3 topMargin=3 marginwidth="3" marginheight="3">
<TABLE cellSpacing=0 cellPadding=10 width="100%" border=0>
<TBODY>
<TR>
<TD class=tt3 vAlign=top width="8%" bgColor=#e0e0e0><STRONG><A
href="http://www.cnread.net/cnread1/dnwl/cxsj/c/cyyb/012.htm">后一页</A><BR><A
href="http://www.cnread.net/cnread1/dnwl/cxsj/c/cyyb/010.htm">前一页</A><BR><A
href="http://www.cnread.net/cnread1/dnwl/cxsj/c/cyyb/index.html">回目录</A><BR><A
href="http://www.cnread.net/cnread1/index.htm">回首页</A><BR></STRONG></TD>
<TD class=tt2 width="84%" bgColor=#f5f8f8>
<CENTER><B><FONT style="FONT-SIZE: 16.5pt" face=楷体_GB2312
color=#ff6666>输入输出函数及控制流程语句</FONT></B></CENTER>
<HR width="94%" color=#ee9b73 SIZE=1>
<BR>
<P> 本节主要介绍Turbo C2.0标准输入输出函数和文件的输入输出函数。通过本
<BR>节的学习可以使读者掌握Turbo C2.0的屏幕输出、键盘输入输出以及磁盘文件的 <BR>读写函数, 并能开始进行一些简单的程序的编写。
<BR> 控制流程语句主要包括: 条件语句、循环语句和开关语句。 <BR> <BR>
<BR>
<P> 1.1 标准输入输出函数 <BR>
<P> 1.1.1 格式化输入输出函数 <BR> Turbo C2.0
标准库提供了两个控制台格式化输入、 输出函数printf( ) 和 <BR>scanf(),
这两个函数可以在标准输入输出设备上以各种不同的格式读写数据。 <BR>printf()函数用来向标准输出设备(屏幕)写数据; scanf()
函数用来从标准输入 <BR>设备(键盘)上读数据。下面详细介绍这两个函数的用法。 <BR>
一、printf()函数 <BR> printf()函数是格式化输出函数, 一般用于向标准输出设备按规定格式输出
<BR>信息。在编写程序时经常会用到此函数。printf()函数的调用格式为: <BR>
printf("<格式化字符串>", <参量表>); <BR>
其中格式化字符串包括两部分内容: 一部分是正常字符, 这些字符将按原 <BR>样输出; 另一部分是格式化规定字符, 以"%"开始,
后跟一个或几个规定字符, <BR>用来确定输出内容格式。 <BR> 参量表是需要输出的一系列参数,
其个数必须与格式化字符串所说明的输出 <BR>参数个数一样多, 各参数之间用","分开, 且顺序一一对应, 否则将会出现意想
<BR>不到的错误。 <BR> 1. 格式化规定符 <BR> Turbo
C2.0提供的格式化规定符如下: <BR>━━━━━━━━━━━━━━━━━━━━━━━━━━ <BR>
符号
作用 <BR>────────────────────────── <BR>
%d
十进制有符号整数 <BR>
%u
十进制无符号整数 <BR>
%f
浮点数 <BR>
%s
字符串 <BR>
%c
单个字符 <BR>
%p
指针的值 <BR>
%e
指数形式的浮点数 <BR> %x,
%X 无符号以十六进制表示的整数
<BR>
%0
无符号以八进制表示的整数 <BR>
%g
自动选择合适的表示法 <BR>━━━━━━━━━━━━━━━━━━━━━━━━━━ <BR> 说明:
<BR> (1). 可以在"%"和字母之间插进数字表示最大场宽。
<BR> 例如: %3d 表示输出3位整型数, 不够3位右对齐。
<BR>
%9.2f 表示输出场宽为9的浮点数, 其中小数位为2, 整数位为6,
<BR>
小数点占一位, 不够9位右对齐。
<BR>
%8s 表示输出8个字符的字符串, 不够8个字符右对齐。 <BR>
如果字符串的长度、或整型数位数超过说明的场宽, 将按其实际长度输出。 <BR>但对浮点数, 若整数部分位数超过了说明的整数位宽度,
将按实际整数位输出; <BR>若小数部分位数超过了说明的小数位宽度, 则按说明的宽度以四舍五入输出。 <BR>
另外, 若想在输出值前加一些0, 就应在场宽项前加个0。 <BR> 例如:
%04d 表示在输出一个小于4位的数值时, 将在前面补0使其总宽度 <BR>为4位。 <BR>
如果用浮点数表示字符或整型量的输出格式, 小数点后的数字代表最大宽度, <BR>小数点前的数字代表最小宽度。
<BR> 例如: %6.9s 表示显示一个长度不小于6且不大于9的字符串。若大于9, 则
<BR>第9个字符以后的内容将被删除。 <BR> (2). 可以在"%"和字母之间加小写字母l,
表示输出的是长型数。 <BR> 例如: %ld
表示输出long整数
<BR>
%lf 表示输出double浮点数 <BR> (3). 可以控制输出左对齐或右对齐,
即在"%"和字母之间加入一个"-" 号可 <BR>说明输出为左对齐, 否则为右对齐。 <BR>
例如: %-7d 表示输出7位整数左对齐
<BR>
%-10s 表示输出10个字符左对齐 <BR> 2. 一些特殊规定字符
<BR>━━━━━━━━━━━━━━━━━━━━━━━━━━ <BR>
字符
作用 <BR>────────────────────────── <BR>
\n
换行 <BR>
\f
清屏并换页 <BR>
\r
回车 <BR>
\t
Tab符 <BR>
\xhh
表示一个ASCII码用16进表示,
<BR>
其中hh是1到2个16进制数 <BR>━━━━━━━━━━━━━━━━━━━━━━━━━━ <BR>
由本节所学的printf()函数, 并结合上一节学习的数据类型, 编制下面的程 <BR>序, 以加深对Turbo C2.0数据类型的了解。
<BR> 例1 <BR>
#include<stdio.h> <BR>
#include<string.h> <BR> int main()
<BR> {
<BR> char c, s[20],
*p; <BR> int a=1234,
*i; <BR> float
f=3.141592653589;
<BR> double
x=0.12345678987654321;
<BR> p="How do you
do"; <BR> strcpy(s,
"Hello, Comrade");
<BR> *i=12;
<BR> c='\x41';
<BR>
printf("a=%d\n", a); /*结果输出十进制整数a=1234*/
<BR>
printf("a=%6d\n", a); /*结果输出6位十进制数a= 1234*/
<BR>
printf("a=%06d\n", a); /*结果输出6位十进制数a=001234*/
<BR>
printf("a=%2d\n", a); /*a超过2位, 按实际值输出a=1234*/
<BR>
printf("*i=%4d\n", *i); /*输出4位十进制整数*i= 12*/
<BR>
printf("*i=%-4d\n", *i); /*输出左对齐4位十进制整数*i=12*/
<BR>
printf("i=%p\n", i); /*输出地址i=06E4*/
<BR>
printf("f=%f\n", f); /*输出浮点数f=3.141593*/
<BR>
printf("f=6.4f\n", f); /*输出6位其中小数点后4位的浮点数
<BR>
f=3.1416*/ <BR>
printf("x=%lf\n", x); /*输出长浮点数x=0.123457*/
<BR>
printf("x=%18.16lf\n", x);/*输出18位其中小数点后16位的长浮点
<BR>
数x=0.1234567898765432*/
<BR>
printf("c=%c\n", c); /*输出字符c=A*/
<BR>
printf("c=%x\n", c); /*输出字符的ASCII码值c=41*/
<BR>
printf("s[]=%s\n", s); /*输出数组字符串s[]=Hello, Comrade*/
<BR>
printf("s[]=%6.9s\n", s);/*输出最多9个字符的字符串s[]=Hello,
<BR>
Co*/ <BR>
printf("s=%p\n", s); /*输出数组字符串首字符地址s=FFBE*/
<BR>
printf("*p=%s\n", p); /* 输出指针字符串p=How do you do*/
<BR>
printf("p=%p\n", p); /*输出指针的值p=0194*/
<BR> getch();
<BR> retunr 0;
<BR> } <BR>
上面结果中的地址值在不同计算机上可能不同。 <BR>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -