C语言的输入和输出
- 格式:ppt
- 大小:184.00 KB
- 文档页数:23


C语言数据的输入与输出
一.Printf函数
函数原型在头文件stido.h中(使用时可以不包括)
printf函数的返回值等于成功输入得数据的个数
1.printf函数得一般调用形式
printf(格式控制字符串,输出项列表)
格式控制字符串包括:
(1)格式指示符
格式:%[标志][宽度][.精度][[h|l]]
(2)转义字符
如:'\n','\0'
(3)普通字符
如:printf("max=%d,min=%d\n",a,b);
“max=”和“,min=”是普通字符;“%d”是格式指示符;“\n”是转义字符;
a和b是输出类表中的输出项(可以是常量、变量、或表达式)。
2.print函数中常用得格式控制说明
(1)数据类型控制字符格式字符说明
%c输出一个字符
%d或%i以十进制形式输出一个带符号得整数(正数不输出符号)
%u以十进制形式输出无符号整数。若有符号则自动将符号位转化为数值位,%o
和%x也具有类似得功能
%o以八进制形式输出无符号整型数(不带前导0)
%x或%X以十六进制形式输出无符号整型数(不带前导0x或0X)。对于十六进制数
中的字符abcdef,用%x时输出得是小写字母,%X时输出的是大写字母
%f以小数形式输出单精度或双精度实数
%e或%E以指数形式输出单精度或双精度实数
%g或%G有系统决定是采用%f还是%e格式,以使输出结果的总宽度最小,并且不
输出没意义的0
%s依次输出字符串中得各个字符,知道遇到'\0'是结束
(2)数据类型修饰符
数据类型修饰符在%和数据类型控制符之间
如:长整型"%ld",短整型"%hd"
(3)输出数据所占得宽度与精度1)在%与格式字符之间插入一个整数来指示输出宽度。
若指定得输出宽度不够,系统自动以数据实际值得宽度作为输出宽度;如果
指定的输出宽度多于数据实际所需宽度,数据右对齐,左边补以空格。
如:printf("%5d\n",42);\*输出结果:42*\
2)float或double类型得实型数可以用“整数1.整数2”的形式在指定总
C语言中的输入输出函数总结.doc
C语言中的输入输出函数是程序中非常重要的部分,主要负责对数据的输入和输出进行处理。在输入时,我们需要将外部数据读取到程序中进行内部处理,而输出则需要将程序内部处理过的结果输出到外部。
1. scanf函数:用于从标准输入设备(键盘)中读取输入数据并格式化。
2. printf函数:用于将输出数据按照设置的格式输出到标准输出设备(屏幕)上。
5. puts函数:用于将一个字符串输出到标准输出设备上,并自动写入换行符。
8. fgets函数:用于从指定文件中读取一行字符串。
这些函数都需要包含stdio.h头文件才能使用。下面我们对这些函数进行简要介绍:
1. scanf函数
scanf函数的语法为:scanf(“格式字符串”,变量名1,变量名2,……);
其中格式字符串用来指定输入的数据类型和格式,变量名用来接收输入的数据。例如,要输入一个整数可以使用如下代码:
int num;
scanf("%d",&num);
2. printf函数
3. getchar函数
getchar函数的语法为:getchar(),用于从标准输入设备中读取一个字符。
例如,要读取一个字符并输出可以使用如下代码:
char c = getchar();
printf("c=%c",c);
5. puts函数
char str[] = "hello world";
puts(str);
fputs函数的语法为:fputs(字符串,文件指针),用于将一个字符串输出到指定文件中。 FILE *fp;
char str[]="hello world";
fp=fopen("test.txt","w");
C语言字符串的输入和输出
字符串的输入和输出
%c人为加入\0进行输入输出
%s直接输入输出
*输入输出字符串时字符数组应有足够的存储空间,指针变量作为输入
项时,指针必须已经指向确切的、足够大的存储空间
%s的使用
scanf("%s",地址值)
地址值:字符数组名、字符指针、字符数组元素的地址
例:charstr[15];scanf("%s",str);abc1231.不读入空格和回车,从空格处结束
2.输入字符串长度超过字符数组元素个数,不报错
3.当输入项为字符指针时,指针必须已指向确定的有足够空间的连续
存储单元
4.当为数组元素地址时,从此元素地址开始存放
2.printf("%s",地址值)
输出时遇到第一个'\0'为止
3.gets和puts函数
开头必须stdio.h#include"stdio.h"1.gets(地址值)
地址值:字符数组名、字符指针、字符数组元素的地址
4.当为数组元素地址时,从此元素地址开始存放
5.printf("%s",地址值)
输出时遇到第一个'\0'为止
6.gets和puts函数
开头必须stdio.h#include"stdio.h"1.gets(地址值)
地址值:字符数组名、字符指针、字符数组元素的地址
7.例:charstr[10];gets(str);包括空格符
8.2.puts(字符串起始地址)
遇第一个'\0'结束,自动加入换行符
9.字符串数组:数组中每个元素都是一个存放字符串的数组
可以将一个二维数组看作是字符串数组10.charca[3][5]={"A","BB","CCC"};A\0BB\0CCC\0字符型指针数组char*pa[3]={"a","bb","ccc"};pa[0]pa[1]pa[2]可以重新赋值gets(pa[2]);11.pa[2]中的地址未变,仍指向具有4个元素的无名字符数组,只能在
一行上输入包含3个字符的字符串
*(pa[2]+1)、pa[2][1]、等形式引用pa数组所指字符串的字符
1
C语言文件的输入与输出
一. 文件指针
每个被使用的文件都在内存中开辟一个区,用来存放文件的有关信息(如文件的名字、文什状态及文件当前位置等)。这些信息是保存在一个结构体变量中的。该结构体类型是由系统定义的,取名为FILE。在sudio.h文件中有以下的文件类型声明:
typedef struct{
short level; /*缓冲区“满”或“空”的程度*/
unsigned flags; /*文件状态标志*/
char fd; /*文件描述符*/
unsigned char hold; /*如无缓冲区不读取字符*/
short bsize; /*缓冲区的大小*/
unsigned char *buffer;/*数据缓冲区的位置*/
unsigned char *curp; /*指针,当前的指向*/
unsigned istemp; /*临时文件,指示器*/
short token; /*用于有效性检查*/
}FILE;
在缓冲文件系统中,每个被使用的文件都要在内存中开辟一FILE类型的区,存放文件的有关信息。 2
FILE类型的数组:FILE f[5];定义了一个结构体数组f,它有5个元素,可以用来存放5个文件的信息。
有了文件指针类型,就可以用它来定义文件指针变量,用文件指针变量来访问文件,其形式为:FILE *指针变量名。例如:FILE *fp;其中fp是指向要访问文件的指针变量。例如,通过文件指针访问text.exe文件,有如下的访问:
FILE *fp;
fp=fopen(“text.exe”, “rb”);
ch=getc(fp);
第一行语句只定义了一个没有指向的文件指针fp,第二行是打开文件text.exe,并同时确定对访问文件的操作方式(此处对访问的文件只进行读操作),这时给文件结构中的成员信息赋值,并使fp指向text.exe文件,第三行是利用文件指针对文件进行操作,操作方式应当与打开文件时确定的方式一致(只读)。由此可以看出,操作文件过程中不出现对文件结构成员的访问语句。