C语言scanf()与printf()函数用法

汇总

%c 单个字符
%d 十进制整数(int)
%ld 十进制整数(long)
%f 十进制浮点数(float)
%lf 十进制浮点数(double)
%o 八进制数
%s 字符串(char)
%u 无符号十进制数(DWORD)
%x 十六进制数(0x00000)

举例

printf( "%4d", 1 );
   1        //输出1的前边有3个空格,补齐4位的宽度
printf( "%4d", 11);
  11        //输出11前边有2个空格,补齐4位的宽度
printf( "%4d", 11111 );
11111       //因为超过了4位,所以前边没有空格

print("%-4d",1);
1           //"-"代表左对齐,

其他类型与以上相似

%.4d与%.4f

%d表示一个数字以整数十进制方式输出。
%f表示一个数字以单精度浮点数形式输出。

%d意思是输出为整型,%f输出为实型。%.4d意思是输出字符长度为4,

举例

printf("%.4d",20);
0020
printf("%.4f",3.45678);
3.4568				//因为最后一位8超过了可输出的范围,所以会四舍五入变成3.4568而不是3.4567

\t \r \n

\t \r \n都是转义字符,空格就是单纯的空格,输入时可以输入空格

\t 的意思是 :水平制表符。将当前位置移到下一个tab位置。

\r 的意思是: 回车。将当前位置移到本行的开头。

\n 的意思是:回车换行。将当前位置移到下一行的开头。

\f的意思是:换页。将当前位置移到下一页的开头。

scanf()

1、scanf("%d%d",&a,&b)输入的两个数据用空格,TAB或者回车区分开。

2、scanf("%d,%d",&a,&b) 输入的两个数据用逗号区分开。

3、scanf函数功能是从外设读取数据并赋值给变量,%d代表接收一个整形数,&a代表变量a的内存地址,也就是说把读取的第一个整形数赋值给变量a。
4、scanf函数称为格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中,其关键字最末一个字母f即为“格式”(format)之意。

扩展资料
1、在高版本的 Visual Studio 编译器中,scanf 被认为是不安全的,被弃用,应当使用scanf_s代替 scanf。

2、对于字符串数组或字符串指针变量,由于数组名可以转换为数组和指针变量名本身就是地址,因此使用scanf()函数时,不需要在它们前面加上"&"操作符。

3、 可以在格式化字符串中的"%"各格式化规定符之间加入一个整数,表示任何读操作中的最大位数。

4、 scanf函数中没有类似printf的精度控制。

如: scanf("%5.2f",&a); 是非法的。不能企图用此语句输入小数为2位的实数。

5、scanf中要求给出变量地址,如给出变量名则会出错

如 scanf("%d",a);是非法的,应改为scanf("%d",&a);才是合法的。

6、 在输入多个数值数据时,若格式控制串中没有非格式字符作输入数据之间的间隔,则可用空格,TAB或回车作间隔。

C编译在碰到空格,TAB,回车或非法数据(如对“%d”输入“12A”时,A即为非法数据)时即认为该数据结束。

posted @ 2023-04-11 21:10  h云淡风轻  阅读(40)  评论(0编辑  收藏  举报  来源