C语言输入输出格式

作者&投稿:步轻 (若有异议请与网页底部的电邮联系)
C语言中输入输出函数有几种格式?~

C语言输入输出函数有很多,标准I/O函数中包含了如下几个常用的函数:
scanf,printf,getc,putc,getchar,putchar,gets,puts,fgets,fputs,fgetc,fputc,fscanf,fprintf等.

int scanf(const char *format, arg_list)
scanf主要从标准输入流中获取参数值,format为指定的参数格式及参数类型,如scanf("%s,%d",str,icount);
它要求在标准输入流中输入类似"son of bitch,1000"这样的字符串,同时程序会将"son of bitch"给str,1000给icount.
scanf函数的返回值为int值,即成功赋值的个数,在上例中如果函数调用成功,则会返回2,所以我们在写程序时,可以通过
语句if(scanf("%s,%d",str,icount) != 2){...}来判断用户输入是否正确.

int printf(const char *format, arg_list)
printf主要是将格式化字符串输出到标准输出流中,在stdio.h头文件中定义了标准的输入和输出,分别是stdin,stdout.
arg_list可以是变量名,也可以是表达式,但最终都会以值的形式填充进format中.

int getc(FILE *fp)
getc主要是从文件中读出一个字符.常用的判断文件是否读取结束的语句为:(ch = getc(fp)) != EOF.EOF为文件结束标志,
定义在stdio.h中,就像EXIT_SUCCESS,EXIT_FAILURE定义在stdlib.h中一样,文件也可以被理解为一种流,所以当fp为stdin
时,getc(stdin)就等同于getchar()了.

int putc(int ch,FILE *fp)
putc主要是把字符ch写到文件fp中去.如果fp为stdout,则putc就等同于putchar()了.

int getchar(void)
getchar主要是从标准输入流读取一个字符.默认的标准输入流即stdio.h中定义的stdin.但是从输入流中读取字符时又
涉及到缓冲的问题,所以并不是在屏幕中敲上一个字符程序就会运行,一般是通过在屏幕上敲上回车键,然后将回车前的字符
串放在缓冲区中,getchar就是在缓冲区中一个一个的读字符.当然也可以在while循环中指定终止字符,如下面的语句:
while ((c = getchar()) != '#')这是以#来结束的.

int putchar(int ch)
putchar(ch)主要是把字符ch写到标准流stdout中去.

char * gets(char *str)
gets主要是从标准输入流读取字符串并回显,读到换行符时退出,并会将换行符省去.

int puts(char *str)
puts主要是把字符串str写到标准流stdout中去,并会在输出到最后时添加一个换行符.

char *fgets(char *str, int num, FILE *fp)
str是存放读入的字符数组指针,num是最大允许的读入字符数,fp是文件指针.fgets的功能是读一行字符,该行的字符数
不大于num-1.因为fgets函数会在末尾加上一个空字符以构成一个字符串.另外fgets在读取到换行符后不会将其省略.

int fputs(char *str, file *fp)
fputs将str写入fp.fputs与puts的不同之处是fputs在打印时并不添加换行符.

int fgetc(FILE *fp)
fgetc从fp的当前位置读取一个字符.

int fputc(int ch, file *fp)
fputc是将ch写入fp当前指定位置.

int fscanf(FILE *fp, char *format,...)
fscanf按照指定格式从文件中出读出数据,并赋值到参数列表中.

int fprintf(FILE *fp, char *format,...)
fprintf将格式化数据写入流式文件中.

在C语言中,输入输出字符串有以下两种方式:
1 用scanf/printf输入输出。
scanf/printf是C语言的格式化输入输出函数,可以用于输入输出各种基础类型,字符串(char*)也
其支持范围内。
格式化字符为%s。
定义
char str[100];
输入
scanf("%s",str);
输出
printf("%s",str);
2 C语言还支持专门的字符串输入输出函数:gets/puts。gets的作用为,读入一行输入,并将读到的换行符替换为字符串结束符。puts的作用为,将字符串单行输出,即输出字符串内容后,会自动在结尾增加换行。定义
char str[100];
输入
gets(str);
输出
puts(str);

扩展资料:
起初,C语言没有官方标准。1978年由美国电话电报公司(AT&T)贝尔实验室正式发表了C语言。布莱恩·柯林汉(Brian Kernighan) 和 丹尼斯·里奇(Dennis Ritchie) 出版了一本书,名叫《The C Programming Language》。
这本书被 C语言开发者们称为K&R,很多年来被当作 C语言的非正式的标准说明。人们称这个版本的 C语言为K&R C。
K&R C主要介绍了以下特色:
结构体(struct)类型
长整数(long int)类型
无符号整数(unsigned int)类型
把运算符=+和=-改为+=和-=。因为=+和=-会使得编译器不知道使用者要处理i = -10还是i =- 10,使得处理上产生混淆。
即使在后来ANSI C标准被提出的许多年后,K&R C仍然是许多编译器的最 准要求,许多老旧的编译器仍然运行K&R C的标准。
1970到80年代,C语言被广泛应用,从大型主机到小型微机,也衍生了C语言的很多不同版本。
1983年,美国国家标准协会(ANSI)成立了一个委员会X3J11,来制定 C语言标准。
1989年,美国国家标准协会(ANSI)通过了C语言标准,被称为ANSI X3.159-1989 "Programming Language C"。因为这个标准是1989年通过的,所以一般简称C89标准。有些人也简称ANSI C,因为这个标准是美国国家标准协会(ANSI)发布的。
1990年,国际标准化组织(ISO)和国际电工委员会(IEC)把C89标准定为C语言的国际标准,命名为ISO/IEC 9899:1990 - Programming languages -- C 。
因为此标准是在1990年发布的,所以有些人把简称作C90标准。不过大多数人依然称之为C89标准,因为此标准与ANSI C89标准完全等同。
1994年,国际标准化组织(ISO)和国际电工委员会(IEC)发布了C89标准修订版,名叫ISO/IEC 9899:1990/Cor 1:1994,有些人简称为C94标准。
1995年,国际标准化组织(ISO)和国际电工委员会(IEC)再次发布了C89标准修订版,名叫ISO/IEC 9899:1990/Amd 1:1995 - C Integrity [7] ,有些人简称为C95标准。
参考资料:百度百科-c语言

在C语言中,输入使用的是scanf函数,scanf函数的格式为scanf(格式控制,地址列表),如scanf("%d"&a)。

输出使用的是printf()函数,printf函数的格式为printf(格式控制,输出表列),如printf("%d
",a)。在输出时可以在"%"和字母之间插进数字表示最大场宽。可以根据需要输出数字的位数来决定“%”前的数值。

如:%3d表示输出3位整型数, 不够3位右对齐。

%9.2f 表示输出场宽为9的浮点数, 其中小数位为2, 整数位为7,小数点占一位, 不够9位右对齐。

%8s 表示输出8个字符的字符串, 不够8个字符右对齐。

扩展资料

C语言输入输出时的规则:

一、格式说明符个数与输入数据个数不相等的情况:

当我们输入数据时,只要没有按回车键,所输入的数据都还存放在缓冲区,并没有存入变量中。按【Enter】键后,scanf()函数才会从缓冲区中取走数据。缓冲区是一个先进先出的队列,即取走数据的时候,遵循先输入的数据先取走的原则。

scanf函数的格式说明符有几个就要取几次数据,只要碰到格式说明符就必须把数据取走,至于是不是要把取走的数据存放起来,就得看数据列表中的数据个数。没取完的数据继续留在缓冲区中。

二、宽度输出的情况:

1、在%和格式字符之间加入一个整数来控制输出数据所占宽度

2、在%和格式字符f之间加入一个“整数1. 整数2”来控制输出数据的格式。

整数1:整个输出数据占的总宽度

整数2:输出实数的小数部分的个数

注意:先用整数2处理小数部分,再用整数1处理整个数据,包括已处理好的小数部分

三、宽度输入的情况:

宽度输入指的是在%和格式说明符d之间加入一个整数。如:scanf("%2d", &x);

注意:

1、%d与%1d是不同的,它们具有不同的含义。

2、 当宽度小于数据的实际宽度时,截取指定宽度的部分作为一个数进入缓冲区,再将剩余部分作为另一个数放入缓冲区。

参考资料来源:百度百科——scanf

百度百科——printf()



常用的格式符还有 %n.mf --   浮点数,  总长n ,m位小数 。(可不用,取默认长)

 %c  -- 单字符, %s  -- 字串 ,%t  -- 固定下一区(8 位) 

注:printf()中每个格式符都要与同类型的变量挂钩,一个对一个。

理解原样照印:设 x= 3   y=5 

           printf(“x=%d  y=2*x-1=%d”,x,y); 

 输出 为           x=3  y=2*x-1=5



%3d 是根据自己的需要决定的。例如输出数为1到3位,你考虑各行输出数据对齐,
你可以用 %3d, 例如:
int a=1,b=18,c=123;
int d=23,e=35,f=56;
printf("%3d %3d %3d\n",a,b,c);
printf("%3d %3d %3d\n",d,e,f);
白白1 空白18 空123
白23空白35空白56
------
%d 是默认格式。
----
输入%3d 在特殊情况下用,一般用 %d 灵活。
特殊的例子:
int a,b;
scanf("%3d%3d",&a,&b); // 输入数据之间无空隔,例如: 123456
printf("%d %d",a,b); // 输出 123 456
如果不用%3d%3d, 123456 就会被看成一个数, 不处理成3位3位。

格式的完整版是-0m.n(l或h)+格式字符 我们平常用的都是缺省格式很多位置没填,你首先要弄明白格式的意思。。。。
-是对齐方式,0是空位的填补方式(缺省表示填空格否则是填0) m是整个数占用字符个数,n是小数点后的位数,l或h是长度标识,l就是long的意思,长整形或双精度,h就是short的意思用于短整型(不填就是单精度或整形)。。。d就是输出格式可以是16进制10进制,8进制,你用的d就是10进制的意思。。。。
3d就是m处填3,格式字符是10进制,所以意思就是3位十进制数,如果大于3位多出的会不输出。。。

%d是直接输出,%3d是要占三个字符的位置,
比如要输出百度这两个字
你输出%d就是直接输出个:百度
输出%3d就是输出: 百度
就是这个意思。
希望回答能帮到你
%3d用的时候一般是让程序美观


C语言输入输出格式
scanf_s(" %c", &a);%c前添加空格,用于滤除空白符。1、程序的第一行#include <stdio.h>是预处理器指令,告诉 C 编译器在实际编译之前要包含 stdio.h 文件。2、下一行int main()是主函数,程序从这里开始执行。3、下一行printf(...)是 C 中另一个可用的函数,会在屏幕上显示消息 "Hell...

C语言中无符号长整型数的输入输出格式是什么?
C语言中无符号长整型数的输入输出格式%u。示例:intmain(){ unsignedinta;intb=-1;a=b;printf(“%u”,a);}

c语言输入输出格式
intmain(){ inti,j,n,p;ints=0;cout<<"n=";cin>>n;for(i=1;i<=n;i++){ p=1;for(j=1;j<=i;j++){ p*=j;} s+=p;} cout<<"1!+2!+3!+...+n!="<<s<<endl;return0;}

C语言输入输出格式
在C语言中,输入使用的是scanf函数,scanf函数的格式为scanf(格式控制,地址列表),如scanf("%d"&a)。输出使用的是printf()函数,printf函数的格式为printf(格式控制,输出表列),如printf("%d\\n",a)。在输出时可以在"%"和字母之间插进数字表示最大场宽。可以根据需要输出数字的位数来决定“%”...

C语言 %d 、 %f 分别是什么意思?
d表示输出输入格式为整型,用于int ,short int;%f表示输出实数,以小数形式输出,默认情况下保留小数点6位。C语言中,输入输出的格式为:输入输出符号("<格式化字符串>", <参量表>),格式化字符串由格式控制、和输出表列两部分组成,其中格式控制包含格式声明和普通字符。格式声明由“%”和格式字符组成...

c语言中% u是什么意思?
c语言中的%u是输入输出格式说明符,表示按unsigned int格式输入或输出数据。1、%d\/i 接受整数值并将它表示为有符号的十进制整数,i是老式写法。2、%o 无符号8进制整数(不输出前缀0)。3、%u 无符号10进制整数。4、%x\/X 无符号16进制整数,x对应的是abcdef,X对应的是ABCDEF(不输出前缀0x)。5...

c语言输入输出函数的格式
1、无m输出单个字符 2、有m输出m位,补空格 3、有+(默认为+)右对齐(左补空格)4、有-左对齐(右补空格)(+)-m.ns 字符串 一串字符 1.无m、n按实际字符串输出全部字符 2、有m、n仅输出前n个字符,补空格 3.有+(默认为+)右对齐(左补空格)4、有-左对齐(右补空格)二:格式输入...

c语言输出格式为%* s,是什么意思?
c语言输出格式%*s,标识形参占位。在printf中使用,表示用后面的形参替代的位置,实现动态格式输出。例如:printf("%*s",10,s);意思是输出字符串s,但至少占10个位置,不足的在字符串s左边补空格,这里等同于printf("%10s",s)。

C语言中无符号长整型数的输入输出格式是什么
以%开头的都是输出控制符。主要有%d、%u、%ld、%p。1、%d它的意思是按十进制整型数据的实际长度输出。2、%u输出无符号整型(unsigned)。输出无符号整型时也可以用 %d,这时是将无符号转换成有符号数,然后输出。3、%ld它的意思是输出长整型数据。4、%p 输出变量的内存地址。

printf中的% d% c是什么意思?
d 表示有符号十进制整数, %c 表示字符。这一类符号是“格式说明”用于格式输入与格式输出,就是我们常见的printf和scanf函数中在输入输出时,对不同类型的数据(如int,float,char等)要使用不同的格式说明。其中%d,用来输出十进制整数%f,用来输出实数(包括单,双精度),以小数形式输出%c,用来输出一...

溆浦县15255054212: 在C语言中输出格式字符是怎么使用的 -
祝岭普济: 输出格式字符控制输出项的显示格式. printf(“a=%d\n”,a);输出格式:a=XXX,是十进制整数输出,无小数,并换行. printf(“%f\n”,b); 输出格式:XXX ,是按浮点数输出的,可以输出小数,并换行.

溆浦县15255054212: C语言中,输出字符的格式是什么? -
祝岭普济: %c 这些格式可以用百度百科printf来查

溆浦县15255054212: C语言输入输出格式 -
祝岭普济: 在输入时scanf中 %*d 表示跳过此项 也就是说 i 接受值为10 j 跳过20的数 接受的是30 k 根本没有接受值 因为应该是初始值 0 结果为10 30 0

溆浦县15255054212: c语言用什么函数能够完成精确的输出格式 -
祝岭普济: 1答:%c是输出字符的格式.你要输出字符.就要用%c的格式%d是输出整型数据的格式.%4d和%6d的也是输出整型数据,但是他们分别是输出左补空.LZ可以试下就能更好的理解.#includemain(){inta=1,b=2,c=3;printf("%d%d%d\n",a,b,c);printf("%4d%4d%4d\n",a,b,c);}

溆浦县15255054212: C语言本身 输入输出语句 -
祝岭普济: 输入:scanf 输出:printf 下面就是输入输出的格式:scanf("%d%d%d",&a,&b,&c); printf("a=%d,b=%d,c=%d",a,b,c);

溆浦县15255054212: C语言输出格式 -
祝岭普济: 字符'1'、字符'2'、字符'3'的asc码值分别为49、50、51.计算机运行 printf("%c,",b++); 语句时,输出格式为 %c 字符格式,所以先输出字符 b 也就是 2 ,再将 b 增一 ;这时b=3 ,asc码值为51.接着运行 printf("%d\n",b-a); 输出格式为 %d 整形格式,所以输出 b 的asc码值与 a 的asc码值的差;也就是 51-49=2 ;所以程序的运行结果为 2 ,2

溆浦县15255054212: 在c语言中怎么输出指数格式! -
祝岭普济: C语言中输出指数格式: 使用格式控制符“%e”以指数形式输出实数. printf的格式控制的完整格式: % - 0 m.n l或h 格式字符 其中格式控制说明如下:下面对组成格式说明的各项加以说明: ①%:表示格式说明的起始符号,不可缺少. ②-:...

溆浦县15255054212: C语言 格式输出 printf("y=% - 8ld\n",y); 与printf("y=% - 08ld\n",y); printf(&qu -
祝岭普济: 如程序: #include "stdio.h" void main() {int y=9;printf("y=%-8ld\n",y);printf("y=%-08ld\n",y);printf("y=%08ld\n",y);printf("y=%+8ld\n",y); } 输出结果为: y=9 y=9 y=00000009 y= +9 为什么呢? 因为 "-08" "+8" "08" 都代表...

溆浦县15255054212: c语言按格式读取输出数据. -
祝岭普济: 先按行读,然后查找匹配那几个关键字符,然后就能取出字符串格式的数字了,然后在按照格式输出到另一个文档.

溆浦县15255054212: c语言的输入输出格式 输入样例 2.12 88 c 4.7输出样例c 88 2.12 4.7 -
祝岭普济: 最近正在奋斗二级C语言,不知道你说的是不是这个意思:输入 a b c d 按照 c b a d的顺序输出,其中c为字符,ad为实型数据,b为整形数据,以下是我写的一个程序,你试试看对不对,编译环境VC6,其他编译坏境可能会有差别: #include<stdio.h> main() {int a;float b,d;char c;printf("Plese Enter Number And Char: \n");scanf("%f %d %c %f",&b,&a,&c,&d);printf("%c %d %f %f",c,a,b,d); }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网