1、C 语言输入函数程序执行要有输入,然而键盘输入设备上每敲的一个键都会输入一个字符,然后输入函数对敲进的字符串予以处理(转变、储存) 。以下对 C 语言中常用的输入函数作以详细说明。Scanf(“%d%d”,&a,&b) 敲入整数、实数。敲入字符串 “12 23” 将12转变为整数 12 存于变量 a 中,将23 转变为整数 23 存于变量 b 中。其中空格为第一个整数输入结束符。若第一个敲入的不是 数字字符(正负号除外,正负号表示上次输入结束)则后面的输入不被转化,输入结束(包括后面紧跟的 scanf 语句) 。浮点型不能以整型输出!整型也不可以以浮点型输出!。 (只能用空格、回车、tab 作
2、数输入的间隔!)scanf 函数:返回 正确输入项目的个数 !, (scanf(“%d”,&a) 输入字母时就出错!证明全部输入错误! 返回 0 scanf(“%d%d”,&a,&b) 输入两个整数,证明输入正确返回 2Scanf(“a=%d,b=%f”,&a,&b) 输入项中有非格式控制串(格式控制串%d、%f)必须原样输入。Scanf(“%c%c”,&a,&b) 回车、转义、空格等字符都会被收入。Scanf(“%d%c%f”,&a,&b,&c) 敲入:123a23.1 遇 a 则认为%d 输入结束,%c只认可接受一个字符。故其间不需要输入间隔字符。Scanf(“%s%s%s”,&a,&b,
3、&c) 输入字符串。每个字符串间以空格、回车、tab 间隔。Getchar() 无参函数。接受单个字符并回显!回车才结束,回车前的全部回显但只有第一个(作为函数返回值)存入变量中。键盘输入信息时,并不是敲一个字符就执行一个字符,而是暂存于键盘的缓存器中,只有敲了回车才把之前敲入的字符送入计算机处理。Getche() 同 getchar 唯一的区别是不用敲回车就将第一个敲入的字符送入计算机处理。返回读入字符的 ASCII 值,十进制的无符号整型数unsigneint。Getch() 不回显、不用敲回车!就将第一个字符送入计算机处理。返回读入字符的 ASCII 值,十进制的无符号整型数 unsig
4、neint。Scanf(“%4d%f”,&a,&b) 其中的 4 确定了第一个数的长度!(慎用!)若输入Scanf(“%i”,&a) 输入有符号八进制、十进制、十六进制整数。输入数据按何种格式转换,取决与输入格式!若输入:077 则为八进制,若输入:99 则为十进制,若输入:0x77 则为十六进制。Scanf(“%O%u%x”,&a,&b,&c) 输入无符号八进制、十进制、十六进制。若输入:77 空格 99 空格 ff 回车 77 转为八进制、99 转换为十进制、ff 转换为十六进制。 (输入本类型时若有本类型非法字符,则输入错误!八进制:07、+、十进制:09、 +、。十六进制:09、af、
5、AF、+、) 。Scanf(“%d%*d%d”,&a,&b,&c) * 为跳过它指定的数据项。输入: 1 空格 2 空格 3回车则:字符1被转换为整数 1 赋予 a。字符2被转换为整数 2 但不赋给任何变量。字符3被转换为整数 3 赋予 b。Scanf(“%*c”) 可使程序运行至此暂停!等待用户按回车继续。Gets(a) 任何键入的字符 都被存于 aN中(aN足够大) ,最后用回车结束!但此时回车(n)被空字符(0 字符串结束符)代替存于 aN中(aN实际长度为输入字符数+1) 。 Gets 函数返回一个指针值(数组 aN的首地址值) 。C 语言输出函数Printf() 其中非格式字符串照样
6、输出(格式字符串%d、%f 、%c ) ,格式字符串被后面相应的变量之所代替。Printf(”%s”,c) 输出 c 字符数组中的字符,遇0 结束。Printf(“%s” , “china”) 输出字符串 chinaPutchar(C ) 输出一个字符 C 可以是字符变量、字符常量、整型常量、整型变量(整形量范围必须在 0127)Putchar(101 ) 输出 APutchar(015 ) 八进制 15 为十进制 13, 即回车字符( r) ,不换行使输出的当前位置移至本行开头,一个整数在 0127 之间,也可以输出其相应 ASC码对应的字符。输出前系统将该整数作为 ASC 码转换为相应的字符Short a=121 printf(“%c”,a) y a 占一个字节。 若 a127!Int a=377 printf(“%c”,a) 此时 a 为整形占两个字节,输出是第一个字节的信息不被考虑 ( 337 的二进制数据后一个字节中的数据对00000001 01111001应十进制 121) 因此仍然输出y 。Puts(a ) 函数。将一个以0 (空字符)结尾的字符串输出,字符串中的转义字符按其对应输出显示!a 为数组名。其中 puts()执行完自动换行!参数也可以数字符串常量,例如:“china”!(双引号括的!单引号括的为单个字符!)其中的转义字符也正常输出!