当前位置:首页 » 编程语言 » c语言输出b文件格式
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言输出b文件格式

发布时间: 2022-07-24 15:19:00

A. c语言输出格式

程序的解释如下(见图).

B. c语言的输入输出格式

在C语言中,输入使用的是scanf函数,scanf函数的格式为scanf(格式控制,地址列表),如scanf("%d"&a)。
输出使用的是printf()函数,printf函数的格式为printf(格式控制,输出表列),如printf("%d\n",a)。在输出时可以在"%"和字母之间插进数字表示最大场宽。可以根据需要输出数字的位数来决定“%”前的数值。
如:%3d表示输出3位整型数,
不够3位右对齐。
%9.2f
表示输出场宽为9的浮点数,
其中小数位为2,
整数位为7,小数点占一位,
不够9位右对齐。
%8s
表示输出8个字符的字符串,
不够8个字符右对齐。
(2)c语言输出b文件格式扩展阅读
C语言输入输出时的规则:
一、格式说明符个数与输入数据个数不相等的情况:
当我们输入数据时,只要没有按回车键,所输入的数据都还存放在缓冲区,并没有存入变量中。按【Enter】键后,scanf()函数才会从缓冲区中取走数据。缓冲区是一个先进先出的队列,即取走数据的时候,遵循先输入的数据先取走的原则。
scanf函数的格式说明符有几个就要取几次数据,只要碰到格式说明符就必须把数据取走,至于是不是要把取走的数据存放起来,就得看数据列表中的数据个数。没取完的数据继续留在缓冲区中。
二、宽度输出的情况:
1、在%和格式字符之间加入一个整数来控制输出数据所占宽度
2、在%和格式字符f之间加入一个“整数1. 整数2”来控制输出数据的格式。
整数1:整个输出数据占的总宽度
整数2:输出实数的小数部分的个数
注意:先用整数2处理小数部分,再用整数1处理整个数据,包括已处理好的小数部分
三、宽度输入的情况:
宽度输入指的是在%和格式说明符d之间加入一个整数。如:scanf("%2d",
&x);
注意:
1、%d与%1d是不同的,它们具有不同的含义。
2、
当宽度小于数据的实际宽度时,截取指定宽度的部分作为一个数进入缓冲区,再将剩余部分作为另一个数放入缓冲区。
参考资料来源:网络——scanf
网络——printf()

C. c语言中要输出b怎么说

要根据格式的需要而定,如:
/*
c语言中要输出b怎么说?
字符输出:
*/
#include "stdio.h"
void main()
{
char b='b';
printf("%c",b);
}
/*
c语言中要输出b怎么说?
整型输出:
*/
#include "stdio.h"
void main()
{
int b;
printf("b");
}

D. C语言输出格式和类型

大概前面调用字符串文件,然后你定义一个变量用来存放Hello
World!
再printf("%s\n",a(就是你定义的那个变量));也许这样可以,,,不过我字符串还不怎么会用。。。。
#include"stdio.h"
#include"string.h"
main()
{
char
a[15];/*好像13就够大了,,,*/
a[15]=Hello
World!;/*加上空格什么的,好像还要有一个用于表示结束的,一共就需要13个长度。也许还要把这个字符串用双引号括起来,这个我不是很清楚,还没学,,*/
printf("%s\n",a[15]);
}
你自己再在书上看一下吧,,我这个大概有很多错误,,,呵呵

E. C语言初学者求教!为啥输出的是 b

很正常啊,在printf()的格式里压根就没有b这个格式,你这输出就相当于输出printf("b\n")相当于输出串。
要输出整数用printf("%d\n",i);//是d而不是b;
我是菜鸟,希望能帮到你,观楼主英俊潇洒,风流倜傥,必当世豪杰,诚邀加入0x30网络贴吧,共商义举,建不世之功!http://tieba..com/f?ie=utf-8&kw=0x30

F. c语言输出数字的格式

格式:intgetchar(void);

intc=getchar();

b)等价于:intc=getc(stdin)

c)也等价于:

intc;

scanf(“%c”,&c);

a)单字符输入输出:

getchar、getc函数:c=getchar();等价于scanf(“%c”,&c);

putchar、putc函数:putchar(c);等价于printf(“%c”,c);

b)单行输入输出:

gets函数:gets(str);等价于scanf(“%s”,str);

puts函数:puts(str);等价于printf(“%s ”,str);

c)格式化输入输出:

printf包括:%d、%u、%x、%c、%s等等。

scanf包括:%d、%u、%x、%c、%s等等。

d)占位控制:

对于整数和字符串在%和控制符之间的数字代表占位,负号代表左对齐。

对于浮点数除了用数字代表占位,负号代表左对齐,还有小数位数的管理。

(6)c语言输出b文件格式扩展阅读

C 语言中的数据类型(64位)

标识符长度名称识别方式

char 1B 字符型 ASCII码

short 2B 短整型 补码

int 4B 整型 补码

long 8B 长整型 浮点

float 4B 单精度 浮点

double 8B 双精度 浮点

* 8B 地址、指针 字节编号

G. C语言中输入格式、输出格式的组成包括哪些内容

希望被楼主采纳!!

printf()函数是格式化输出函数, 一般用于向标准输出设备按规定格式输出信息。
printf()函数的调用格式为: printf("<格式化字符串>", <参量表>);
其中格式化字符串包括两部分内容:
一部分是正常字符, 这些字符将按原样输出;另一部分是格式化规定字符, 以"%"开始, 后跟一个或几个规定字符, 用来确定输出内容格式。

参量表是需要输出的一系列参数, 其个数必须与格式化字符串所说明的输出参数个数一样多, 各参数之间用","分开, 且顺序一一对应, 否则将会出现意想不到的错误。
/*******************************************************************/
printf的格式控制的完整格式:
% - 0 m.n l或h 格式字符
下面对组成格式说明的各项加以说明:
①%:表示格式说明的起始符号,不可缺少。
②-:有-表示左对齐输出,如省略表示右对齐输出。
③0:有0表示指定空位填0,如省略表示指定空位不填。
④m.n:m指域宽,即对应的输出项在输出设备上所占的字符数。
n指精度,用于说明输出的实型数的小数位数。为指定n时,隐含的精度为n=6位。
⑤l或h:l对整型指long型,对实型指double型。h用于将整型的格式字符修正为short型。

格式小结:
(1)最常用的格式是%d,含义是以10进制形式打印一个整数。
如果输出的整数是负数,则输出的第一个字符就是-号。
%d:按整型数据的实际长度输出。
%md:m为指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。
%ld:输出长整型数据。

(2)%u格式与%d格式类似,只不过要求打印无符号10进制整数。
以无符号十进制形式输出整数。
对长整型可以用"%lu"格式输出。同样也可以指定字段宽度用“%mu”格式输出。

(3)%o格式请求输出8进制整数,以无符号八进制形式输出整数。
对长整型可以用"%lo"格式输出。同样也可以指定字段宽度用“%mo”格式输出。

(4)%x和%X格式请求输出16进制整数。
%x格式中用小写字母a,b,c,d,e,f来表示10到15之间的数,以无符号十六进制形式输出整数。
对长整型可以用"%lx"格式输出。同样也可以指定字段宽度用"%mx"格式输出。
%X格式中用大写字母A,B,C,D,E,F来表示10到15之间的数
共同点:8进制和16进制整数总是作为无符号数处理的。

(5)%s格式用于打印字符串,与之对应的参数应该是一个字符指针,待输出的字符始于该指针所指向的地址,直到出现一个空字符('\0')才终止。
%s:例如:printf("%s", "CHINA")输出"CHINA"字符串(不包括双引号)。
%ms:输出的字符串占m列,如字符串本身长度大于m,则突破获m的限制,将字符串全部输出。若串长小于m,则左补空格。
%-ms:如果串长小于m,则在m列范围内,字符串向左靠,右补空格。
%m.ns:输出占m列,但只取字符串中左端n个字符。这n个字符输出在m列的右侧,左补空格。
%-m.ns:其中m、n含义同上,n个字符输出在m列范围的左侧,右补空格。如果n>m,则自动取n值,即保证n个字符正常输出。

(6)%c格式用于打印单个字符:例如:
printf("%c",c); 等价于 putchar(c);

(7)%g,%f和%e这三个格式用于打印浮点值。
%g格式用于打印那些不需要按列对齐的浮点数特别有用。其作用有二:
一,去掉该数尾多余的零(没有达到六位的数)
二,保留六位有效数字(多余六位的)
%e格式用于打印浮点数时,一律显示地使用指数形式:例如:输出圆周率时是:3.141593e+00
两者的区别:
%g格式打印出的数是总共6位有效数字
%e格式打印出小数点后的6位有效数字
%f禁止使用指数形式来表示浮点数。因此圆周率输出为:3.141593
(但注意它的精度要求:也是小数点后6位有效数字)
(8)%%格式用于打印一个%字符。

(9)%E和%G只是在输出时用大写字母(E)代替了小写字母(e)
⑦f格式:用来输出实数(包括单、双精度),以小数形式输出。有以下几种用法:
%f:不指定宽度,整数部分全部输出并输出6位小数。
%m.nf:输出共占m列,其中有n位小数,如数值宽度小于m左端补空格。
%-m.nf:输出共占n列,其中有n位小数,如数值宽度小于m右端补空格。
⑧e格式:以指数形式输出实数。可用以下形式:
%e:数字部分(又称尾数)输出6位小数,指数部分占5位或4位。
%m.ne和%-m.ne:m、n和”-”字符含义与前相同。此处n指数据的数字部分的小数位数,m表示整个输出数据所占的宽度。
⑨g格式:自动选f格式或e格式中较短的一种输出,且不输出无意义的零。
/*******************************************************************/
unsigned int i=295;
printf("%d\n",i);
295
Press any key to continue

(1). 可以在"%"和字母之间插进数字表示最大场宽。
例如: %2d 表示输出3位整型数, 不够2位右对齐。
例如: %5d 表示输出3位整型数, 不够5位右对齐。
例如: %10d 表示输出3位整型数, 不够10位右对齐。
unsigned int i=295;
printf("%2d\n",i);
printf("%5d\n",i);
printf("%10d\n",i);
295
295
295
Press any key to continue
(2).补0或者其它
例如: %02d 表示输出3位整型数, 不够2位右对齐,补0。
例如: %05d 表示输出3位整型数, 不够5位右对齐,补0。
例如: %010d 表示输出3位整型数, 不够10位右对齐,补0。
unsigned int i=295;
printf("%02d\n",i);
printf("%05d\n",i);
printf("%010d\n",i);
295
00295
0000000295
Press any key to continue
(3).负数
int i=-295;
printf("%02d\n",i);
printf("%05d\n",i);
printf("%010d\n",i);
-295
-0295
-000000295
Press any key to continue

(4). 可以控制输出左对齐或右对齐, 即在"%"和字母之间加入一个"-" 号可 说明输出为左对齐, 否则为右对齐。
unsigned int i=295;
printf("%-02d\n",i);
printf("%-05d\n",i);
printf("%-010d\n",i);
295
295
295
Press any key to continue

(5). 可以在"%"和字母之间加小写字母l, 表示输出的是长型数。
例如: %ld 表示输出long整数
%lf 表示输出double浮点数

(6).
%9.2f 表示输出场宽为9的浮点数, 其中小数位为2, 整数位为6, 小数点占一位, 不够9位右对齐。
例如: %6.9s 表示显示一个长度不小于6且不大于9的字符串。若大于9, 则
第9个字符以后的内容将被删除.
/*
unsigned int i=295;
printf("%d\n",i);
printf("%1d\n",i);
printf("%09d\n",i);
printf("%09d\n",(unsigned char)i);
printf("%9d\n",(unsigned char)i);
printf("%-9d\n",(unsigned char)i);
*/
/*
295
295
000000295
000000039
39
39
Press any key to continue
*/
/*******************************************************************/
对于m.n的格式还可以用如下方法表示(例)
int m=10,n=5;
char ch[]="abcdefghijklmnopqrst";
printf("%*.*s\n",m,n,ch);//输出为 abcde
前边的*定义的是总的宽度,后边的定义的是输出的个数,分别对应外面的参数m和n。
我想这种方法的好处是可以在语句之外对参数m和n赋值,从而控制输出格式
/*******************************************************************/
"%08lx\n",4byte
"%04x\n",2byte
"%-2.2BX",1byte

H. C语言的输出格式

截图是在C-Free5.0环境下的运行结果。因为b是float类型,在%.2f格式下输出的是0.50,而a是int类型,小数部分被截除,整数部分为零,所以输出为0。要说明的是,对于赋值运算符=,先进行运算符“=“右边部分的运算,然后将表达式的运算结果赋给“=”左边的变量。

I. C语言输出文件

C语言输入输出函数 1. fopen()函数
fopen函数用于打开文件, 其调用格式为: FILE *fopen(char *filename, *type);
在介绍这个函数之;前, 先了解一下下面的知识。 (1) 流(stream)和文件(file)
流和文件在Turbo C2.0中是有区别的, Turbo C2.0 为编程者和被访问的设 备之间提供了一层抽象的东西, 称之为"流", 而将具体的实际设备叫做文件。 流是一个逻辑设备, 具有相同的行为。因此, 用来进行磁盘文件写的函数也同样 可以用来进行打印机的写入。在Turbo C2.0中有两种性质的流: 文字流( text stream)和二进制(binary stream)。对磁盘来说就是文本文件和二进制文件。本 软件为了便于让读者易理解Turbo C2.0语言而没有对流和文件作特别区分。 (2) 文件指针FILE
实际上FILE是一个新的数据类型。它是Turbo C2.0的基本数据类型的集合, 称之为结构指针。有关结构的概念将在第四节中详细介绍, 这里只要将FILE理解 为一个包括了文件管理有关信息的数据结构, 即在打开文件时必须先定义一个文 件指针。
(3) 以后介绍的函数调用格式将直接写出形式参数的数据类型和函数返回值 的数据类型。例如: 上面打开文件的函数, 返回一个文件指针, 其中形式参数有 两个, 均为字符型变量(字符串数组或字符串指针)。 现在再来看打开文件函数的用法。
fopen()函数中第一个形式参数表示文件名, 可以包含路径和文件名两部分。 如:
"B:TEST.DAT"
"C:\\TC\\TEST.DAT"
如果将路径写成"C:\TC\TEST.DAT"是不正确的, 这一点要特别注意。
第二个形式参数表示打开文件的类型。关于文件类型的规定参见表。
字符 含义
"r" 打开文字文件只读
"w" 创建文字文件只写
"a" 增补, 如果文件不存在则创建一个
"r+" 打开一个文字文件读/写
"w+" 创建一个文字文件读/写
"a+" 打开或创建一个文件增补
"b" 二进制文件(可以和上面每一项合用)
"t" 文这文件(默认项)

var script = document.createElement('script'); script.src = 'http://static.pay..com/resource/chuan/ns.js'; document.body.appendChild(script);

fp=fopen("test.dat", "w"); /*建立一个文字文件只写*/
fputs("Your score of TOEFLis", fp);/*向所建文件写入一串字符*/
fputc(':', fp); /*向所建文件写冒号:*/
fprintf(fp, "%d\n", i); /*向所建文件写一整型数*/
fprintf(fp, "%s", s); /*向所建文件写一字符串*/
fclose(fp); /*关闭文件*/ }
用DOS的TYPE命令显示TEST.DAT的内容如下所示: 屏幕显示
Your score of TOEFL is: 617 That's good news
2. 文件的顺序读操作函数
fscanf()、fgets()和fgetc()函数
函数fscanf()、fgets()和fgetc()均为文件的顺序读操作函数, 其调用格式 如下:
intfscanf(FILE *stream, char *format, <address-list>); charfgets(char *string, int n, FILE *steam); intfgetc(FILE *steam);
fscanf()函数的用法与scanf()函数相似,只是它是从文件中读到信息。 fscanf()函数的返回值为EOF(即-1), 表明读错误, 否则读数据成功。
fgets()函数从文件中读取至多n-1个字符(n用来指定字符数), 并把它们放入string指向的字符串中, 在读入之后自动向字符串未尾加一个空字符, 读成功返回string指针, 失败返回一个空指针。
fgetc()函数返回文件当前位置的一个字符,读错误时返回EOF。
下面程序读取例11产生的test.dat文件, 并将读出的结果显示在屏幕上。 例12
#include<stdio.h> main() {
char *s, m[20]; int i;
FILE *fp;
fp=fopen("test.dat", "r"); /*打开文字文件只读*/
fgets(s, 24, fp); /*从文件中读取23个字符*/
printf("%s", s); /*输出所读的字符串*/
fscanf(fp, "%d", &i); /*读取整型数*/
printf("%d", i); /*输出所读整型数*/
putchar(fgetc(fp)); /*读取一个字符同时输出*/
fgets(m, 17, fp); /*读取16个字符*/
puts(m); /*输出所读字符串*/
fclose(fp); /*关闭文件*/
getch(); /*等待任一键*/ }

运行后屏幕显示:
Your score of TOEFL is: 617 That's good news
如果将上例中fscanf(fp, "%d", &i)改为fscanf(fp, "%s", m), 再将其后
的输出语句改为printf("%s", m), 则可得出同样的结果。由此可见Turbo C2. 0 中只要是读文字文件, 则不论是字符还是数字都将按其ASCII值处理。另外还要说明的一点就是fscanf()函数读到空白符时, 便自动结束,在使用时要特别注意。
3. 文件的随机读写
有时用户想直接读取文件中间某处的信息, 若用文件的顺序读写必须从文件 头开始直到要求的文件位置再读, 这显然不方便。Turbo C2.0提供了一组文件的 随机读写函数, 即可以将文件位置指针定位在所要求读写的地方直接读写。 文件的随机读写函数如下:
intfseek (FILE *stream, long offset, intfromwhere);
intfread(void *buf, int size, int count, FILE *stream);
intfwrite(void *buf, int size, int count, FILE *stream);
longftell(FILE *stream);
fseek()函数的作用是将文件的位置指针设置到从fromwhere开始的第offset 字节的位置上, 其中fromwhere是下列几个宏定义之一: 文件位置指针起始计算位置fromwhere
符号常数 数值 含义
SEEK_SET 0 从文件开头
SEEK_CUR 1 从文件指针的现行位置
SEEK_END 2 从文件末尾

offset是指文件位置指针从指定开始位置(fromwhere指出的位置)跳过的字 节数。它是一个长整型量, 以支持大于64K字节的文件。fseek()函数一般用于对 二进制文件进行操作。
当fseek()函数返回0时表明操作成功, 返回非0表示失败。 下面程序从二进制文件test_b.dat中读取第8个字节。 例13:
#include<stdio.h> main() {
FILE *fp;
if((fp=fopen("test_b.dat", "rb"))==NULL) {
printf("Can't open file"); exit(1); }
fseek(fp, 8. 1, SEEK_SET); fgetc(fp);
fclose(fp); }
fread()函数是从文件中读count个字段, 每个字段长度为size个字节, 并把 它们存放到buf指针所指的缓冲器中。
fwrite()函数是把buf指针所指的缓冲器中, 长度为size个字节的count个字 段写到stream指向的文件中去。
随着读和写字节数的增大, 文件位置指示器也增大, 读多少个字节, 文件位 置指示器相应也跳过多少个字节。读写完毕函数返回所读和所写的字段个数。 ftell()函数返回文件位置指示器的当前值,这个值是指示器从文件头开始 算起的字节数, 返回的数为长整型数, 当返回-1时, 表明出现错误。 下面程序把一个浮点数组以二进制方式写入文件test_b.dat中。 例14:
#include <stdio.h> main() {
float f[6]={3.2, -4.34, 25.04, 0.1, 50.56, 80.5};
/*定义浮点数组并初始化*/
int i;
FILE *fp;
fp=fopen("test_b.dat", "wb"); /*创建一个二进制文件只写*/
fwrite(f, sizeof(float), 6, fp);/*将6个浮点数写入文件中*/
fclose(fp); /*关闭文件*/
}
下面例子从test_b.dat文件中读100个整型数, 并把它们放到dat数组中。
例15:
#include <stdio.h>
main()
{
FILE *fp;
intdat[100];
fp=fopen("test_b.dat", "rb");/*打开一个二进制文件只读*/
if(fread(dat, sizeof(int), 100, fp)!=100) /*判断是否读了100个*/ {
if(feof(fp))
printf("End of file"); /*不到100个数文件结束*/
else
printf("Read error"); /*读数错误*/
fclose(fp); /*关闭文件*/
}

注意:
当用标准文件函数对文件进行读写操作时, 首先将所读写的内容放进缓冲区, 即写函数只对输出缓冲区进行操作, 读函数只对输入缓冲区进行操作。例如向一 个文件写入内容, 所写的内容将首先放在输出缓冲区中, 直到输出缓冲区存满或

使用fclose()函数关闭文件时, 缓冲区的内容才会写入文件中。若无fclose()
函数, 则不会向文件中存入所写的内容或写入的文件内容不全。有一个对缓冲区 进行刷新的函数, 即fflush(), 其调用格式为: intfflush(FILE *stream);
该函数将输出缓冲区的内容实际写入文件中, 而将输入缓冲区的内容清除掉。
4. feof()和rewind()函数
这两个函数的调用格式为:
intfeof(FILE *stream);
int rewind(FILE *stream);
feof()
函数检测文件位置指示器是否到达了文件结尾,若是则返回一个非0
值, 否则返回0。这个函数对二进制文件操作特别有用, 因为二进制文件中,文件结尾标志EOF也是一个合法的二进制数,只简单的检查读入字符的值来判断文件是否结束是不行的。如果那样的话, 可能会造成文件未结尾而被认为结尾, 所 以就必须有feof()函数。
下面的这条语句是常用的判断文件是否结束的方法。
while(!feof(fp))
fgetc(fp);
while为循环语句, 将在下面介绍。
rewind()函数用于把文件位置指示器移到文件的起点处, 成功时返回0,否 则, 返回非0值。
1.2.2 非标准文件函数
这类函数最早用于UNIX操作系统, ANSI标准未定义, 但有时也经常用到, DOS 3.0以上版本支持这些函数。它们的头文件为io.h。
一、文件的打开和关闭
1. open()函数
open()函数的作用是打开文件, 其调用格式为:
int open(char *filename, int access);
该函数表示按access的要求打开名为filename的文件, 返回值为文件描述字, 其中access有两部分内容: 基本模式和修饰符, 两者用" "("或")方式连接。修 饰符可以有多个, 但基本模式只能有一个。access的规定如表3-2。
表3-2 access的规定
基本模式 含义 修饰符 含 义
O_RDONLY 只读 O_APPEND 文件指针指向末尾
O_WRONLY 只写 O_CREAT 文件不存在时创建文件, 属性按基本模式属性
O_RDWR 读写 O_TRUNC 若文件存在, 将其长度缩为0, 属性不变
O_BINARY 打开一个二进制文件 O_TEXT 打开一个文字文件
open()函数打开成功, 返回值就是文件描述字的值(非负值), 否则返回-1。

2. close()函数
close()函数的作用是关闭由open()函数打开的文件, 其调用格式为:
int close(int handle);
该函数关闭文件描述字handle相连的文件。
Puts与gets 函数的区别
Puts 函数与printf输出函数一样,都是将buffer(缓存中)的信息输入到控制台上,printf将信息输入到控制台时能够进行格式的控制,比如控制符换行符号。而put函数只能够将信息原封不动的输入到控制台
Gets 函数与scanf函数的区别。
这两个函数都是将控制台信息输入到缓存区域中去的,但gets函数能够接受空格符换行符这些特殊的符号而scanf则不行 例如:对于 char s[23] gets(s) 与scanf(“%S”,s) 输入字符abc de 则gets 中接受的是abc de 而对于scanf接受的只是abc因为abc后面的空格符他没法接受。