C语言基础——数据输入输出

五、数据输入输出

5.1 概述

C 语言中,所有的数据输入/输出都是由库函数完成的,都为函数语句。

在使用 C 语言库函数时,要用预编译命令 #include 将有关头文件包括到源文件中;如,使用标准输入输出时,要用到 **“stdio.h”**文件:

#include#include"stdio.h"

printf("格式控制字符串", 输出表列); 	//格式输出函数
scanf("格式控制字符串", 地址表列); 	//格式输入函数

putchar(字符变量); 	//字符输出函数,输出单个字符
getchar();					//键盘输入函数,只能接受单个字符

puts(字符数组名); 		字符串输出函数
gets(字符数组名);		字符串输入函数

5.2 格式输出函数

printf("格式控制字符串", 输出表列); 	//格式输出函数
//其中,格式字符串的一般形式为:
[标志][输出最小宽度][.精度][长度]类型

格式字符串 说明如下:
(1)类型,见上述限定符或,如下:
C语言基础——数据输入输出_第1张图片
(2)标志,有四种,如下:
C语言基础——数据输入输出_第2张图片
(3)输出最小宽度:用十进制整数来表示输出的最少位数。若实际位数多于定义的宽度,则按实际位数输出,若实际位数少于定义的宽度则补以空格或0。
(4)精度:精度格式符以 “.” 开头,后跟十进制整数。本项的意义是:如果输出数字,则表示小数的位数;如果输出的是字符,则表示输出字符的个数;若实际位数大于所定义的精度数,则截去超过的部分。
(5)长度:长度格式符为 h, l 两种,h 表示按短整型量输出,l表示按长整型量输出。

5.3 格式输入函数

scanf("格式控制字符串", 地址表列); 	//格式输入函数
//其中,格式字符串同 printf 函数中作用相同,一般形式为:
%[*][输入数据宽度][长度]类型
//地址由地址运算符 “&” 后跟变量名组成,如:
&a, &b

格式字符串说明如下:
(1)类型,如下:
C语言基础——数据输入输出_第3张图片
(2) " ∗ " "*" "" 符:用以表示该输入项,读入后不赋予相应的变量,即跳过该输入值。如:

scanf("%d %*d %d", &a, &b);
// 当输入为:1 23时,把1赋予a,2被跳过,3赋予b。

(3)宽度:用十进制整数指定输入的宽度(即字符数)。如:

scanf("%5d", &a); //输入:12345678,即将把1234赋予a,其余部分被截去。
scanf("%4d %4d", &a); //输入:12345678,即将把1234赋予a,而把5678赋予b。

(4)长度:长度格式符为 h, l 两种,h 表示按短整型量输入,l表示按长整型量输入。

scanf 函数的注意点

  1. scanf 函数中没有精度控制,即 scanf("%5.2f",&a) 是非法的;
  2. scanf中要求给出变量地址,如给出变量名则会出错;
  3. 在输入多个数值数据时,若格式控制串中没有非格式字符作输入数据之间的间隔则可用空格,TAB或回车作间隔。C编译在碰到空格,TAB,回车或非法数据(如对"%d"输入“12A"时,A即为非法数据)时即认为该数据结束;
  4. 在输入字符数据时,若格式控制串中无非格式字符,则认为所有输入的字符均为有效字符;
  5. 如果格式控制串中有非格式字符则输入时也要输入该非格式字符,如:
scanf("%d,%d,%d",&a,&b,&c); //其采用非格式字符 “,”作为间隔符,故输入应为:5,6,7
scanf("a=%d,b=%d,c=%d",&a,&b,&c); //则其输入应为:a=5,b=6,c=7

5.4 字符输出/输入函数

putchar(字符变量); 	//字符输出函数,输出单个字符

getchar();					//键盘输入函数,只能接受单个字符,
//1.输入数字也按字符处理;
//2.当输入多于一个字符时,只接受第一个字符;
//3.输入单个字符后,必须按一次回车,计算机才接受输入的字符

你可能感兴趣的:(C语言,c语言)