c语言里怎么使用printf?

printf表示输出,那输入怎么表示及使用?

第1个回答  2018-11-23


C语言怎么用printf输出字符串

printf函数的一般格式
printf(格式控制字符串,输出表列);
以图1所示为例。
图1.


函数参数包括两部分:
【1】格式控制字符串,是用双引号括起来的字符串,也称为转换控制字符串,它指定输出数据项的类型和格式。
它包括两种信息:


●格式说明项:由%和格式字符组成,如%d,%f等。格式说明总是由%字符开始,到格式字符终止。它的作用是将输出的数据项转换为指定的格式输出。输出表列中的每个数据项对应一个格式说明项。


● 普通字符:即需要原样输出的字符,如逗号和换行符。


【2】输出列表,是需要输出的一些数据项,可以是表达式。
例如:假如a=3,b=4,那么printf("a=%db=%d",a,b);,输出a=3b=4。其中两个 “%d”是格式说明,表示输出两个整数,分别对应变量a,b。“a=”,“b=”是普通字符,原样输出。


由于printf是函数,因此,格式控制字符串和输出表列实际上都是函数的参数。printf函数的一般形式可以表示为:
printf(参数1,参数2,参数3,…,参数n)

printf函数的功能是将参数2到参数n按照参数1给定的格式输出。

【3】格式字符 (构成格式说明项)
对于不同类型的数据项,应当使用不同的格式字符构成的格式说明项。常用的有以下几种格式字符:(按不同类型数据,列出各种格式字符的常用用法)


【d格式符】用来输出十进制整数。有以下几种用法:
● %d,按照数据的实际长度输出。
● %md,m指定输出字段的宽度 (整数)。如果数据的位数小于m,则左端补以空格(右对齐);若大于m,则按照实际位数输出。
● %-md,m指定输出字段的宽度 (整数)。如果数据的位数小于m,则右端补以空格 (左对齐);若大于m,则按照实际位数输出。
● %ld,输出长整型数据,也可以指定宽度%mld。

【o格式符】以八进制形式输出整数。注意:是将内存单元中的各位的值按八进制形式输出,输出的数据不带符号,即将符号位也一起作为八进制的一部分输出。


例如:
inta=-1;
printf("%d,%o,%x",a,a,a);
-1的原码:1000,0000,0000,0001。
-1在内存中的补码表示为:
1111,1111,1111,1111=1,111,111,111,111,111=1,7,7,7,7,7=ffff
输出:-1,177777,ffff


【s格式符】用来输出一个字符串。有以下几种用法:
● %s,输出字符串。
● %ms,输出的字符串占m列,如果字符串长度大于m,则字符串全部输出;若字符串长度小于m,则左补空格 (右对齐)。
● %-ms,输出的字符串占m列,如果字符串长度大于m,则字符串全部输出;若字符串长度小于m,则右补空格 (左对齐)。
● %m.ns,输出占m列,但只取字符串左端n个字符,左补空白 (右对齐)。
● %-m.ns,输出占m列,但只取字符串左端n个字符,右补空白 (左对齐)。


【 f 格式符】用来输出实数 (包括单、双精度,单双精度格式符相同),以小数形式输出。有以下几种用法:
● %f,不指定宽度,使整数部分全部输出,并输出6位小数。注意,并非全部数字都是有效数字,单精度实数的有效位数一般为7位 (双精度16位)。
● %m.nf,指定数据占m列,其中有n位小数。如果数值长度小于m,左端补空格(右对齐)。
● %-m.nf,指定数据占m列,其中有n位小数。如果数值长度小于m,右端补空格(左对齐)。


【 e 格式符】以指数形式输出实数。可用以下形式表示:
● %e,不指定输出数据所占的宽度和小数位数,由系统自动指定。如6位小数,指数占5位,-e占1位,指数符号占1位,指数占3位。数值按照规格化指数形式输出 (小数点前必须有而且只有1位非0数字)。

第2个回答  2012-01-30
输入是用scanf语句,用法:scanf("%输入格式类型",&变量)
例子:#include<stdio.h>
{
int i;
scanf("%d",&i);
printf("%d",i);
}
输入的格式类型有很多种,要看你定义的变量是什么类型
常见的类型有:
%d输出带符号十进制数
%o输出无符号八进制数
%x输出无符号十六进制数
%u输出无符号数
%c输出单个字符
%s输出一串字符
%f输出实数(6位小数)
%e以指数形式输出实数
%g选用f与e格式中输出宽度较小的格式,不输出0
%ld输入输出long型数据
%lf输入输出double型数据
%m数据输出宽度为m
%.n输出小数位数为n
第3个回答  2012-01-30
#include<stdio.h>
main()
{
int a,b,c;
scanf("%d%d\n",&a,&b);
c=a+b;
printf("%d\n",c);
return 0;
}
输入10,进入a;输入5,进入b;最后输出c,在机子上显示15;
清楚吧
给分啊!!!
第4个回答  推荐于2017-09-09
printf("输出格式类型",变量);
例如
int a = 10;
printf("%d\n",a);本回答被提问者采纳
相似回答