c语言中函数与符号的区别 c语言指针与函数的关系( 四 )


【c语言中函数与符号的区别 c语言指针与函数的关系】3)在TC屏幕下运行含本函数程序时,将退出TC 屏幕进入用户屏幕等待用户输入 。输入完毕再返回TC屏幕 。
二、格式输入与输出
(1)printf函数(格式输出函数)
printf函数称为格式输出函数 , 其关键字最末一个字母f即为“格式”(format)之意 。其功能是按用户指定的格式,把指定的数据显示到显示器屏幕上 。在前面的例题中我们已多次使用过这个函数 。
(1)printf函数调用的一般形式
printf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中 。但作为一个特例 , 不要求在使用 printf 函数之前必须包含stdio.h文件 。printf函数调用的一般形式为:printf(“格式控制字符串”,输出表列),其中格式控制字符串用于指定输出格式 。格式控制串可由格式字符串和非格式字符串两种组成 。格式字符串是以%开头的字符串 , 在%后面跟有各种格式字符,以说明输出数据的类型、形式、长度、小数位数等 。如:“%d”表示按十进制整型输出;“%ld”表示按十进制长整型输出;“%c”表示按字符型输出等 。非格式字符串在输出时原样照印 , 在显示中起提示作用 。输出表列中给出了各个输出项,要求格式字符串和各输出项在数量和类型上应该一一对应 。
***格式字符串
格式: [标志][输出最小宽度][.精度][长度]类型
1)类型:类型字符用以表示输出数据的类型,其格式符和意义如下表所示:
d,以十进制形式输出带符号整数(正数不输出符号)
o,以八进制形式输出无符号整数(不输出前缀0)
x或X ,以十六进制形式输出无符号整数(不输出前缀Ox)
u,以十进制形式输出无符号整数
f , 以小数形式输出单、双精度实数
e或E,以指数形式输出单、双精度实数
g或G,以%f或%e中较短的输出宽度输出单、双精度实数
c , 输出单个字符
s , 输出字符串
2)标志:标志字符为-、+、#、空格四种,其意义下表所示:
-,结果左对齐,右边填空格
+,输出符号(正号或负号)
空格 , 输出值为正时冠以空格,为负时冠以负号
#,对c,s,d,u类无影响;对o类,在输出时加前缀o;对x类,在输出时加前缀0x;对e,g,f 类当结果有小数时才给出小数点
3)输出最小宽度:用十进制整数来表示输出的最少位数 。若实际位数多于定义的宽度,则按实际位数输出,若实际位数少于定义的宽度则补以空格或0 。
4)精度:精度格式符以“.”开头,后跟十进制整数 。本项的意义是:如果输出数字,则表示小数的位数;如果输出的是字符,则表示输出字符的
个数;若实际位数大于所定义的精度数,则截去超过的部分 。
5.长度:长度格式符为h,l两种,h表示按短整型量输出,l表示按长整型量输出 。
(2)scanf函数(格式输入函数)
scanf函数称为格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中 。
(1) scanf函数的一般形式
scanf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中 , 与printf函数相同,C语言也允许在使用scanf函数之前不必包含stdio.h文件 。scanf函数的一般形式为:scanf(“格式控制字符串”,地址表列);其中,格式控制字符串的作用与printf函数相同,但不能显示非格式字符串 , 也就是不能显示提示字符串 。地址表列中给出各变量的地址 。地址是由地址运算符“”后跟变量名组成的 。这个地址就是编译系统在内存中给a,b变量分配的地址 。在C语言中 , 使用了地址这个概念,这是与其它语言不同的 。应该把变量的值和变量的地址这两个不同的概念区别开来 。变量的地址是C编译系统分配的,用户不必关心具体的地址是多少 。

推荐阅读