VC作业Word文档下载推荐.docx
《VC作业Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《VC作业Word文档下载推荐.docx(25页珍藏版)》请在冰豆网上搜索。
intmain(void
)
{
charc;
printf(“inputacharacter\n”);
c=getchar();
putchar(c);
return0;
}
注意:
程序最后两行可用下面两行的任意一行代替:
putchar(getchar());
printf(“%c”,getchar());
2.1.2函数printf()的简单介绍及实现方法
函数原型:
intprintf(constchar*,
参数说明:
format确定输出格式的格式字符串;
为n个表达式。
功能说明:
把表达式
的值按格式字符串中的第
个格式指示转换为外部形式的数据(一串字符),用以取代格式字符串中的第
个格式指示(格式指示符如表2-1所示),若输出的是整型数据,
可整型变量、整型数组元素或常型变量。
向标准输出设备输出所有转换完成后的格式字符串。
输出整数时,格式字符标志为:
“%d”(int型十进制整数),“%u”(unsigned型十进制整数),“%ld”(long型十进制整数)。
表2-1C语言中的实数
类型说明符
字节数
有效数字
数的范围
float
32(4)
6~7
~
double
64(8)
15~16
longdouble
128(16)
18~19
例2-2printf()格式化输出。
intmain(void)
inta=15;
floatb=123.1234567;
doublec=12345678.1234567;
chard=‘p’;
printf(“a=%d,%5d,%o,%x\n”,a,a,a,a);
//要求以4种格式输出整型变量a的值,输出宽度为5
printf(“b=%f,%lf,%5.4lf,%e\n”,b,b,b,b,);
//要求以4种格式输出实型变量b的值,输出宽度为5,精度为4
printf(“c=%lf,%f,%8.4lf\n”,c,c,c);
printf(“d=%c,%8c\n”,d,d);
return0:
2.2C语言的文件操作
在C语言中,文件操作都是由库函数来完成的。
文件指针在C语言中用一个指针变量指向一个文件,
这个指针称为文件指针。
通过文件指针就可对它所指的文件进行打开、关闭、读、写、定位等各种操作。
2.2.1文件的打开与关闭
fopen函数用来打开一个文件,其调用的一般形式为:
文件指针名=fopen(文件名,使用文件方式)
其中,“文件指针名”必须是被说明为FILE
类型的指针变量,“文件名”是被打开文件的文件名。
“使用文件方式”是指文件的类型和操作要求。
“文件名”是字符串常量或字符串数组。
例如:
FILE
*fp;
fp=("
file
a"
"
r"
);
其意义是在当前目录下打开文件file
a,只允许进行“读”操作,并使fp指向该文件。
在打开一个文件时,如果出错,fopen将返回一个空指针值NULL。
在程序中可以用这一信息来判别是否完成打开文件的工作,并作相应的处理。
因此常用以下程序段打开文件:
if((fp=fopen("
c:
\\hzk16"
rb"
)==NULL)
{
printf("
\nerror
on
open
\\hzk16
file!
"
getch();
exit
(1);
}
文件一旦使用完毕,应用关闭文件函数把文件关闭,以防意外操作导致数据丢失或被非法篡改。
关闭文件的实质是取消系统与正在操作的文件之间的关联,关闭文件操作由标准库函数fclose()实现,其一般形式为:
fclose(文件指针);
fclose(fp);
正常完成关闭文件操作时,fclose函数返回值为0。
如返回非零值则表示有错误发生。
编译时通常用下列语句判断文件是否正常关闭:
if(fclose(fp)){
printf(“can’tclosethefile!
\n)”;
exit
(1);
}
2.2.2文件的读写
在C语言中提供了多种文件读写的函数:
字符读写函数
:
fgetc和fputc
字符串读写函数:
fgets和fputs
数据块读写函数:
freed和fwrite
格式化读写函数:
fscanf和fprinf
使用以上函数都要求包含头文件stdio.h。
字符读写函数:
fgetc和fputc是以字符
(字节)为单位的读写函数。
每次可从文件读出或向文件写入一个字符。
下面以一个复制文件的例子简单介绍C语言文本文件读写的特点。
例2-3打开现存文件f1.txt和新建的文件f2.bak,并读取f1.txt中的字符,写到f1.bak中,直至读到f1.txt文件末尾。
该例实现的算法流程图如图2-1所示。
图2-1文件复制流程图
在这里,将用到两个函数:
fgetc()和fputc(),fgetc()函数的原型在stdio.h
中申明如下:
intfgetc(FILE*stream);
其调用方式如下:
ch=fgetc(fp);
ch为字符型变量,fp为文件型指针变量。
函数fgetc()从文件中读取1个字符赋值给ch,fgetc()在读取字符过程中,如果遇到文件结束符,函数将返回文件结束标志EOF(在stdio.h中EOF的值定义为-1)。
如需要在屏幕上显示一个文本文件,可以用以下语句实现:
while(ch!
=EOF)
putchar(ch);
fputc()函数的原型在stdio.h中申明如下:
intfputc(charch,FILE*stream);
ch为字符型变量或字符型常量,fp为文件型指针变量。
函数fputc()将ch的值输出
到fp指针指向的文件中,如果输出成功,函数返回ch的内容,否则返回EOF。
程序实现如下:
#include<
process.h>
stdlib.h>
intmain(void)
FILE*fp1,*fp2;
charch;
if(fp1=fopen((“f1.txt”,“r”))==NULL)
printf(“cannotopenf1.txt\n”);
if((fp2=fopen(“f1.bak”,“w”))==NULL)
printf(“cannotopenf2.bak\n”);
While((ch=fgetc(fp1))!
fputc(ch,fp2);
fclose(fp1);
3.C++输入输出(文件操作)
程序在执行期间,接受外部信息的操作称为程序的输入;
而把程序向外部发送信息的操作称为程序的输出。
在C++中没有专门的输入输出语句,所有输入输出是通过输入输出流来实现的。
接下来会简单介绍输入输出数据方法。
准输入输出流库函数iostream常用的输入和输出函数为cin和cout。
在使用C++输入输出流之前,必须在程序的开头增加一行:
iostream.h>
。
3.1C++输入输出
3.1.1输入语句:
cin
语法:
cin>
>
变量>
变量
,提取运算符:
“>
”。
cin可以输入任何类型的变量。
从键盘输入数据时,相应位置上的值必须符合变量的类型。
若输入的类型不致,则输入的数据不正确。
例3-1
inti,j;
floatx,y;
cin>
i>
j>
x>
y;
当输入:
2722771.2321.30时,变量值为i=27j=227x=71.23y=21.3。
(1)字符变量输入
为字符变量输入数据时,输入的数据必须是字符型数据。
设有如下的程序片段:
例3-2
charc1,c2,c3,c4;
cin
c1
c2
c3;
c4;
当输入abcd或者abcd时,变量值为
c1=‘a’c2=‘b’c3=‘c’
c4=‘d’。
若要把从键盘上输入的每一个字符,包括空格和回车键都作为一个输入字符赋给字符型变量时,必须使用函数cin.get()。
其格式为:
cin.get(<
字符变量>
)。
例3-3
charc1,c2,c3,c4;
cin.get(c1);
cin.get(c2);
cin.get(c3);
cin.get(c4);
执行到既定行数时,若输入:
CD,字符C前没有空格,在字符C与D之间有一个空格;
则将字符C、空格、D分别赋给c1,c2,c3,该行中的回车键赋给变量c4,若用cin>
c4代替cin.get(c4),则输入行的回车键不起作用,等待用户输入一个字符。
若此处没有cin.get(c4),则回车键保留。
(2)输入十六进制或八进制数据
对于整型变量,从键盘上输入的数据也可以是八进制或十六进制数据。
在缺省的情况下,系统约定输入的整型数是十进制数据。
当要求按八进制或十六进制输入数据时,在cin中必须指明相应的数据类型:
hex为十六进制;
oct为八进制;
dec为十进制。
格式:
cin>
hex>
整型变量;
(输入十六进制整数)
oct>
(输入八进制整数)
dec>
(输入十进制整数)
八进制或十六进制数的输入,只适用于整型变量,不适用于字符型变量,实型变量。
当在cin中指明使用的数制输入后,则所指明的数制一直有效。
如例3-1中,输入的k值不变时,仍为八进制。
输入数据的格式、个数和类型必须与cin中所列举的变量类型一一对应。
例3-4当语句执行到cin时,若输入的数据为:
11111111<
CR>
时,则将这些数据赋给变量i,j,k,和l,转换后输出:
179911。
(11111111)
(179911)
3.1.2输出:
cout
和cin流输出相同,cout在进行数据输入时,不管采用何种数据类型,其格式都相同。
cout语句的语法格式:
cout<
<
表达式<
表达式